[데이터 전처리]에서 자세히 볼 수 있다.
수집한 데이터를 기반으로 학생들이 이용하는 정류소와 이를 경유하는 노선을 추렸다.
정류소 8개와 이를 경유하는 노선 8개이다.
정류소
노선
이에 대한 정보를 JSON파일로 저장했다. 형식은 아래와 같다.
{
"bus_stops": [
{
"stop_name": "정류소 이름",
"stop_number": "정류소 번호",
"x_coordinate": "정류소 x 좌표 값",
"y_coordinate": "정류소 y 좌표 값",
"next_stop_name": "다음 정류소 이름",
"routes": [
{
"route_name": "노선명",
"route_number": "노선 고유번호",
"departure": "기점 출발여부"
},
{
"route_name": "노선명",
"route_number": "노선 고유번호",
"departure": "기점 출발여부"
}, ...(다음 노선)...
]
},
...(다음 정류소)...
]
}
[데이터베이스 설계]에서 자세히 볼 수 있다.

“정류소”와 “노선”에 대해 테이블을 설계했다.
“정류소”와 “노선”의 다대다 관계를 해결하기 위해 “경유노선” 테이블을 설계했다.
기점 출발 노선인 경우 BIS를 사용해 정보를 요청 하더라도 대부분 “도착 정보 없음” 이라는 값만 출력되므로 이를 해결하기 위해 “배차정보”테이블을 설계했다.
“경유노선”의 ‘기점 출발 노선’ 값이 true인 경우에 한하여 “배차정보”테이블에 값을 채울 예정이다.
20초마다 BIS에 접속해 배차가 되었는지 값을 얻어와 ‘접속시간’, ‘남은시간’을 저장한다.
이를 이용해 인공지능을 학습해 남은시간을 예측한다.