신호생성 단위테스트 내역서

- 작성일자 : 2024. 02. 02 금

최종수정 :

0. 개요

다음의 세 종류의 단위에 대하여 단위테스트를 진행한다.

순번	단위 일람	스크립트	시행일시	비고
1	하루단위 전처리	process_daily.py	24. 02. 02 금
2	5분단위 전처리	process_5min.py	24. 02. 02 금
3	신호 생성	generate_signals.py	24. 02. 05 월

0.1 표준테이블 목록

테이블번호	테이블명	설명	획득방법
1	교차로정보	각 교차로의 이름, 위치	DB
2	방위각정보	각 교차로의 (현시, 링)별 진입·진출 방위각	DB
3	이동류번호	각 교차로의 (현시, 링)별 이동류번호	DB
4	신호계획	각 교차로의 신호계획	DB
5	신호이력	각 교차로의 (현시, 링)별 현시시간	DB
6	교차로-노드 매칭	교차로번호와 노드ID를 매칭정보 및 parent/child 여부	수작업
7	유턴교차로정보	각 유턴교차로별 부모교차로, 방향, 유턴옵션	수작업
8	연동교차로정보	각 연동교차로별 부모교차로, (현시, 링)별 진입진출ID	수작업
9	NEMA 정보	NEMA에서 정의한 이동류번호에 대한 진입·진출 방향	수작업

1. 하루단위 전처리 단위테스트 (process_daily.py)

1-1. 하루단위 전처리 코드

1-2. 입력 데이터

테이블번호	테이블명	설명	획득방법
1	교차로정보	각 교차로의 이름, 위치	DB
2	방위각정보	각 교차로의 (현시, 링)별 진입·진출 방위각	DB
4	신호계획	각 교차로의 신호계획	DB
6	교차로-노드 매칭	교차로번호와 노드ID를 매칭정보 및 parent/child 여부	수작업
7	유턴교차로정보	각 유턴교차로별 부모교차로, 방향, 유턴옵션	수작업
8	연동교차로정보	각 연동교차로별 부모교차로, (현시, 링)별 진입진출ID	수작업
9	NEMA 정보	NEMA에서 정의한 이동류번호에 대한 진입·진출 방향	수작업

1-3. 출력 데이터 및 단위테스트 결과

1-3-1. match6.csv

컬럼명 : 교차로번호, 현시시간, 링타입, 이동류번호, 진입·진출방향, 진입·진출각도, 진입·진출엣지id, 노드id

설명 : 모든 교차로에 대한 (현시, 링)별 진입·진출엣지id.
통합테이블(histids) 생성시 부교차로에 대한 진입·진출엣지id를 지정하기 위함.

단위테스트 결과 :

1-3-2. matching.csv

컬럼명 : 교차로번호, 이동류번호, 진입·진출방향, 진입·진출엣지id, 노드id

설명 : 모든 교차로에 대한 각 이동류번호별 진입·진출엣지id.
모든 이동류에 대하여 진입·진출엣지id를 지정하므로, 시차제시 이전과 다른 이동류가 등장하더라도 항상 진입·진출엣지id를 지정할 수 있다.

1-3-3. movements.csv

컬럼명 : 교차로번호, A현시번호, B현시번호, A이동류번호, B이동류번호

설명 : 모든 교차로에 대한 A/B현시번호별 A/B이동류번호

1-3-4. node2num_cycles.json

설명 : 각 노드id에 대한 주기의 최소 개수

1-4. 주요 함수