“잠시 후 들어옵니다”…버스 도착 시간 어떻게 맞출까

김동진 kdj@itdonga.com

[IT동아 김동진 기자] 버스를 기다리다 보면 익숙한 문구가 눈에 들어온다. ‘잠시 후 도착’, ‘전전 정류장 출발’. 몇 분 뒤 도착할지를 비교적 정확하게 알려주는 이 정보는 단순한 안내가 아니다. 그 뒤에는 GPS, 통신망, 데이터 분석 기술이 결합된 ‘버스정보시스템(BIS, Bus Information System)’이 작동하고 있다.

버스정류장 / 출처=셔터스톡
버스정류장 / 출처=셔터스톡

버스 도착 시간 안내의 출발점은 ‘버스를 데이터로 바꾸는 것’이다. 각 버스에는 GPS 수신기와 무선통신 장치가 탑재돼 있다. 해당 장치를 바탕으로 버스 위치와 속도, 정류장 도착 및 출발 여부 등을 지속적으로 수집한다. 서울의 경우 이 정보는 약 40초 간격으로 서울시 교통정보센터(TOPIS)로 전송된다.

이렇게 모인 데이터는 단순한 위치 정보에 그치지 않는다. 교통 상황과 결합해 ‘도착 예정 시간’이라는 형태로 가공된다. 이후 이 정보는 버스 정류장 전광판(BIT), 모바일 앱, 포털 지도 등 다양한 채널로 전달, 시민들의 버스정보 확인을 돕는다.

버스 도착 정보 안내 / 출처=셔터스톡
버스 도착 정보 안내 / 출처=셔터스톡

이 과정의 핵심 기반 기술은 GPS다. GPS는 지구 상공 약 2만km 궤도를 도는 위성들이 보내는 신호를 활용해 위치를 계산한다. 단말기는 여러 위성의 신호를 동시에 수신하고, 신호가 도달하는 시간을 기준으로 위성과의 거리를 계산한다. 이를 바탕으로 삼변측량 방식을 적용해 위도, 경도, 고도 등 3차원 좌표를 산출한다. 일반적으로 4개의 위성이 활용되며, 이 중 하나는 오차 보정에 쓰인다.

이렇게 확보된 좌표는 지도 데이터와 결합해 ‘버스가 현재 어느 구간에 있는지’를 실시간으로 보여준다. 하지만 위치 정보만으로는 ‘몇 분 뒤 도착’이라는 결과를 만들 수 없다. 여기서 중요한 역할을 하는 것이 예측 알고리즘이다.

BIS는 현재 위치와 속도뿐 아니라 과거 운행 데이터까지 함께 활용한다. 특정 구간에서 평균적으로 소요되는 시간, 신호 대기 시간, 승하차 시간 등을 종합해 도착 예정 시간을 계산한다. 여기에 실시간 교통 흐름을 반영하면서 결과값을 지속적으로 업데이트한다.

일상 내비게이션도 유사한 원리로 작동

이 구조는 우리가 일상적으로 사용하는 내비게이션 서비스와도 일맥상통한다.

예를 들어 가장 흔히 쓰는 티맵(TMAP)은 BIS와 동일하게 GPS 기반 위치 데이터를 수집하지만, 대상을 버스가 아닌 ‘모든 차량’으로 확장한 형태다. 수많은 이용자의 차량이 도로 위에서 실시간 데이터를 생성하고, 이를 기반으로 도로별 평균 속도와 정체 상황을 분석한다.

티맵이 길 안내를 하는 모습 / 출처=티맵모빌리티
티맵이 길 안내를 하는 모습 / 출처=티맵모빌리티

이 데이터를 바탕으로 내비게이션은 ‘경로 탐색(Route Planning)’을 수행한다. 단순히 최단 경로를 찾는 것이 아니라 소요 시간, 주행 거리, 통행 요금, 도로 구조, 교통 흐름 등 다양한 요소에 가중치를 부여해 최적의 경로를 계산한다.

같은 출발지와 목적지라도 내비게이션마다 다른 경로를 제시하는 이유도 여기에 있다. 각 서비스가 요소별 중요도를 다르게 설정한 알고리즘을 사용하기 때문이다.

도착 시간 예측 역시 비슷한 방식으로 이뤄진다. 출발지와 가까운 구간은 실시간 교통정보를 중심으로 계산하고, 먼 구간은 과거 데이터를 기반으로 한 예측 정보를 더 많이 반영한다. 여기에 이용자 흐름까지 고려한 ‘동적 최적화’를 적용하면서 특정 도로에 차량이 몰리는 현상을 완화한다.

결국 버스 도착 정보와 내비게이션 서비스는 모두 유사한 원리에서 출발한다. 위치를 측정하고, 데이터를 축적한 뒤, 알고리즘으로 미래를 예측하는 것이다. 우리가 정류장에서 보는 ‘잠시 후 도착’이라는 짧은 문구 뒤에는 이처럼 방대한 데이터와 계산이 실시간으로 이뤄지고 있다.

IT동아 김동진 기자 (kdj@itdonga.com)

IT동아의 모든 콘텐츠(기사)는 Creative commons 저작자표시-비영리-변경금지 라이선스에 따라 이용할 수 있습니다.
의견은 IT동아(게임동아) 페이스북에서 덧글 또는 메신저로 남겨주세요.