[NextBus] 데이터 전처리, 데이터베이스 설계

김준영·2023년 10월 28일

NextBus

목록 보기
2/2

1. 데이터 전처리

[데이터 전처리]에서 자세히 볼 수 있다.

수집한 데이터를 기반으로 학생들이 이용하는 정류소와 이를 경유하는 노선을 추렸다.
정류소 8개와 이를 경유하는 노선 8개이다.

정류소

  • 중화중학교삼거리(면목본동파출소 방면)
  • 용마문화복지센터(서일대학교 방면)
  • 용마문화복지센터(종점 방면)
  • 서일대정문(중화중학교삼거리 방면)
  • 서일대학교(혜원여중고후문 방면)
  • 서일대학교(용마문화복지센터 방면)
  • 새마을금고(서일대정문 방면)
  • 공판장(새마을금고 방면)

노선

  • 271
  • 320
  • 1213
  • 2012
  • 2013
  • 2212
  • 2230
  • 중랑02

이에 대한 정보를 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":  "기점 출발여부"
        }, ...(다음 노선)...
      ]
    },
    ...(다음 정류소)...
  ]
}

2. 데이터베이스 설계

[데이터베이스 설계]에서 자세히 볼 수 있다.

“정류소”와 “노선”에 대해 테이블을 설계했다.
“정류소”와 “노선”의 다대다 관계를 해결하기 위해 “경유노선” 테이블을 설계했다.

기점 출발 노선인 경우 BIS를 사용해 정보를 요청 하더라도 대부분 “도착 정보 없음” 이라는 값만 출력되므로 이를 해결하기 위해 “배차정보”테이블을 설계했다.
“경유노선”의 ‘기점 출발 노선’ 값이 true인 경우에 한하여 “배차정보”테이블에 값을 채울 예정이다.

20초마다 BIS에 접속해 배차가 되었는지 값을 얻어와 ‘접속시간’, ‘남은시간’을 저장한다.
이를 이용해 인공지능을 학습해 남은시간을 예측한다.

0개의 댓글