본문 바로가기

공학

대학 식단 앱 개발-3

서론

이제 버스 관련 기능을 넣어 보자. 기존에 있던 앱이 버스 시간표를 제공해줘서 새로 만들 앱에서도 이런 서비스를 제공할 거 같다. 여기서 나는 버스 정류장 도착 시간을 보여주는 기능을 넣을려고 한다.

 

정류장 ID

https://www.data.go.kr/data/15098534/openapi.do    

지역이 청주이기 때문에 서울시에서 제공하는 데이터들은 필요가 없고, 청주시에서 따로 제공하지 않기 때문에 국토교통부에서 제공하는 데이터를 써야한다. (서울시에서 제공하는 api에는 차내 복잡도와 같이 자세한 데이터들이 꽤 있어서 부러웠다.)

저 api를 이용해서 정류장ID를 알아야 한다. 그래야 해당 정류장의 도착정보를 가지고 올 수 있다. 여기서 말하는 정류장ID는 우리가 보통 이용하는 숫자가 아니라서 거의 무조건 여기 API에서 정류장 ID를 찾아야 하는 거 같다.

 

버스 도착 정보

https://www.data.go.kr/data/15098530/openapi.do

이제 정류장ID와 지역코드를 입력해서 해당 정류장의 버스 도착 정보를 알 수 있다.

(참고로 청주시의 지역 데이터는 33010이다.)

 

이렇게 913번이 언제오는지 초단위로 볼 수 있다. 그런데 여기서 매우 큰 문제가 생겨버렸다. 바로 지선버스만 나온다는 것이다. 이유는 모르겠지만, 지선버스에 관한 도착 정보만 나오고, 간선버스에 관한 정보가 나오지 않는다. 그냥 이 전체 시스템이 지선버스에 관한 것만 할 수 있는지 의문이였는데, 근처에 다른 정류장에서 테스트를 해보니 여기에는 간선버스에 관한 정보만 나왔다. 오랫동안 다른 버스가 등장할지 봤는데 한 번을 등장하지 않았다. https://dcbis.go.kr/search/busStop.do 심지어 청주시에서 제공하는 버스정보시스템에서도 지선버스밖에 도착정보를 알려주지 않는다.(국토교통부 api를 이용하는 거 같기도 하다.) 그래서 도저히 이 문제를 해결하기가 어려워서 남은 시간 말고 남은 버스 정류장 수를 일단 파악하기로 했다.(네이버랑 카카오는 어떻게 이 정보를 제공하는 지 모르겠다.)

 

위치 정보

https://www.data.go.kr/data/15098533/openapi.do

정류장 ID를 가지고 왔던 API에서 정류소별 경유 노선 목록조회를 할 수 있다. 이렇게 하면 해당 정류장에 도착하는 모든 버스의 노선ID를 알 수 있고, 위의 주소에 나와있는 API를 이용하면 노선별 버스들의 위치 정보를 알 수 있다. 그래서 결국 이렇게 도착할 때까지의 정류장 수를 계산하고 정류장 한 개당 1.5분정도를 가정하여 시간을 계산하였다.

 

514번의 버스 위치 정보

 

 

 

결론

정류장 수를 판단할 수밖에 없어서 뭔가 좀 아쉽다. 나중에 방법을 찾거나 계산을 이용해서 업데이트를 해야할 거 같다.

이런 API를 찾아보면서 지방이랑 수도권차이를 좀 느꼈다. 특히 서울시에서는 제공되는 데이터도 많아서 이 부분이 지역 차이를 체감하는 부분이였다. 물론 지방의 다른 시도 자체적으로 버스 관련 api를 제공하긴 했지만 많이 제공하지는 않았다.

관련 정보를 찾아보다가 https://tdata.cheongju.go.kr/main 청주시 빅데이터 플랫폼이 있었다. 지금 당장 쓸 일은 없지만 유용한 정보가 많은 거 같아서 나중에 기회가 되면 써보고 싶다.

'공학' 카테고리의 다른 글

아이디어톤 후기  (0) 2026.01.31
대학 식단 앱 개발-4  (0) 2026.01.10
대학 식단 앱 개발-2  (0) 2025.12.21
대학 식단 앱 개발-1  (0) 2025.12.20