Skip to content

hackofthecode/SubwayAPI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

58 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

서울시 공공데이터 실시간 지하철 API 정리

API 기능과 관련한 기본적인 정보 호출 및 사용 경험을 위한 코드입니다.

본 코드의 수정 및 복제와 같은 사용을 금합니다.

들어가기에 앞서서, 본 프로젝트는 지하철과 관련한 서비스를 간단하게 개발하고싶다거나, 경험하고 싶은 분들을 위해 만들어진 문서입니다. 서울시 공공데이터 실시간 지하철 API를 통해 원하는 정보를 뽑아내는 등의 간단한 경험이나 예제 코드가 포함되어있습니다.

본 프로젝트의 진행형은 FlowRail입니다. 그럼 이제 시작해보겠습니다.

첫번째로, 서울시 공공데이터 실시간 지하철 API 서울시 공공데이터에서는 로그인만 하면, 실시간 도착정보, 위치정보등 다양한 정보를 사용할 수 있고 기본적으로 간단하게 개발을 해보고싶으시다면, 실시간 도착정보 및 위치 정보를 통해 지하철 행선표시기를 만들 수 있으며 지하철 역간 거리 데이터를 통해 간단한 최단거리 시스템을 구현 하실수있습니다. 이때는 다익스트라 알고리즘이나 최단거리 알고리즘을 사용하시면됩니다.

링크를 남겨둘테니 API KEY를 발급받으시면됩니다. 실시간 도착 정보 - https://data.seoul.go.kr/dataList/OA-12764/F/1/datasetView.do 실시간 위치 정보 - https://data.seoul.go.kr/dataList/OA-12601/A/1/datasetView.do 역간 거리 및 소요시간 정보 - https://data.seoul.go.kr/dataList/OA-12034/S/1/datasetView.do

두번째, 기본적인 개발 시작 기본적으로 실시간 도착정보 API를 가장 많이 사용하실겁니다. http를 지원하고있으며 [http://swopenAPI.seoul.go.kr/api/subway/(API KEY)/xml/realtimeStationArrival/0/5/서울] 형식으로 간단하게 조회가능합니다. 상세하게 설명하자면, http://swopenAPI.seoul.go.kr/api/subway/(API KEY)/(XML or XLS or JSON)/realtimeStationArrival/0(0번째 부터)/5(5번째까지)/statnNm(역명)으로 구성되어있습니다.

만약 강남역을 json 타입으로 0번째(첫번째)부터 5번째까지 조회를 해본다고 하면, http://swopenAPI.seoul.go.kr/api/subway/(API KEY)/(JSON)/realtimeStationArrival/0/5/강남역 으로 조회가 가능합니다.

우리는 파이썬이나 다른 언어들로 통해 원하는 값을 호출 할 수 있습니다. 우리가 지하철 행선표시기에서 보던 내용들을 꺼내기 위해서 세부적으로 설명해주면 됩니다.

subwayId : 지하철의 호선 ID입니다. (1001:1호선, 1002:2호선, 1003:3호선, 1004:4호선, 1005:5호선 1006:6호선, 1007:7호선, 1008:8호선, 1009:9호선, 1061:중앙선1063:경의중앙선, 1065:공항철도, 1067:경춘선, 1075:수의분당선 1077:신분당선, 1092:우이신설선, 1093:서해선, 1081:경강선, 1032:GTX-A)으로 정리가 되어있고, 원하는 값을 원하는 호선 ID와 같게 만든 후 사용해도 큰 문제가 생기지 않았습니다.

updnLine : 상/하ㅣ내/외 구분하는 출력값입니다. (0 : 상행/내선, 1 : 하행/외선)

trainLineNm : 도착지방면을 출력합니다. (성수행(목적지역) - 구로디지털단지방면(다음역))

statnNm : 지하철 역명 출력값입니다.

*barvlDt : 열차도착예정시간입니다. (초단위)

btrainNo 열차번호 출력값입니다.

arvlMsg2 : 첫번째 도착 메시지 출력값입니다. (도착, 출발 , 진입 등)

arvlMsg3 : 두번째 도착 메시지 출력값입니다. (종합운동장 도착, 12분 후 (광명사거리) 등)

arvlCd : 도착 코드 출력값입니다. (0:진입, 1:도착, 2:출발, 3:전역출발, 4:전역진입, 5:전역도착, 99:운행중)

등등 더 많은 출력값들이 존재하지만, 기본적인 개발을 하신다면 이정도 정보면 충분합니다.

*참고 : barvlDt의 경우, 서울교통공사가 아닌 코레일 운영에서는 표시가 되지않으며 이 경우에는 arvlMsg를 사용해야합니다.

About

API 등의 기본구성 개발버전

Resources

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published