[C#윈폼115] (OPENAPI)서울시 지하철 실시간 도착정보 C#윈폼에 리스트뷰로 출력해보기!(#8)(녹칸다/포로리야공대가자)
(OPENAPI)서울시 지하철 실시간 도착정보 C#윈폼에 리스트뷰로 출력해보기!(#8)(녹칸다/포로리야공대가자)
-녹칸다의 openapi C# 프로젝트이다!(녹칸다/포로리야공대가자)
-서울시에서 실시간으로 제공하는 API 서비스이다!
-서울시 교통정보과[TOPIS]에서 제공하는 정보를 이용한 지하철 실시간 도착정보 조회 API 이다!
-응답받는 데이터에는 아래와 같은 정보가 포함되어있다!
-지하철호선ID,상하행선구분,도착지방면,내리는문방향(오른쪽,왼쪽),이전지하철역ID,다음지하철역ID,지하철역ID,지하철역명,환승노선수,도착예정열차순번,연계호선ID,연계지하철역ID,열차종류(급행,ITX),열차도착예정시간(단위:초),열차번호(현재운행하고 있는 호선별 열차번호),종착지하철역ID,종착지하철역명,열차도착정보를 생성한 시각,첫번째도착메세지(전역 진입, 전역 도착 등),두번째도착메세지(종합운동장 도착, 12분 후 (광명사거리) 등),도착코드(0:진입, 1:도착, 2:출발, 3:전역출발, 4:전역진입, 5:전역도착, 99:운행중)
-C#윈폼 어플리케이션을 웹클라이언트로 동작하도록하고 openapi restful server에 get방식으로 request해서 결과를 response받은 다음 xml데이터를 파싱해보자!
-그리고 데이터영역을 확보한다음 C#윈폼의 레이블을 배열로 만들어서 출력해보자!
-open api를 이용하기 위해서는 private key가 필요한데 어떻게 발급하는지 살펴보자!(api 케바케로 등록)
-OPENAPI는 xml이나 json으로 결과를 response받을 수 있는데 xml은 기본라이브러리를 활용하면되고 json은 별도로 설치를 해야 활용가능하므로 xml을 기본으로 활용해보자!
-xml과 json은 트리구조이다!
c#의 xml parser를 이용해서 dataset이 포함된 parent -node를 xml node로 지정한다음 child node를 불러내서 활용하면 될듯하다~!
-아두이노에서 진행하는 OPENAPI는 늘 메모리 이슈가 있었는데 C#윈폼은 메모리가 매우 널널하므로 그러한 걱정은 할 필요가 없다!
-크게 웹클라이언트로 동작하게 하는 부분, 받아온 결과를 xml로 처리하는부분, 데이터를 시각화하는 부분 3개로 분할해서 순차적으로 진행해본다!
C#프로젝트
(샘플 query) http://swopenAPI.seoul.go.kr/api/subway/(인증키)/xml/realtimeStationArrival/0/100/서울
서울시열린데이터광장(실시간지하철도착정보)
http://data.seoul.go.kr/dataList/OA-12764/F/1/datasetView.do