상세 컨텐츠

본문 제목

행정동을 기준으로 제공되는 기상청 날씨정보알아보기

programing/GIS

by ZelKun 2016. 9. 12. 21:23

본문

반응형

기상청을 이용한 GPS기반 날씨정보를 알기위해선 법정동행정동의 차이를 알아야함

사실 읍면동단위를 알게되면 법정동과 행정동 중 어떤걸 이용해야하나라는

고민에 빠지게 될 수 있지만 이미 답은 정해져있다

   

도로명 주소가 나온지 3년인데 기상청의 날씨제공은 행정동으로 제공되고 있으니 말이다

   

기상청 동네예보 서비스 : http://www.kma.go.kr/weather/forecast/timeseries.jsp

   

화면만 보면 도로명도 지원하지 않느냐라고 역 질문이 나올 수 있지만

도로명주소를 선택하고 예보보기를 하면 URL행정동코드가 들어있는걸 볼 수 있다

   

도로명주소기준 행정동의 날씨정보를 제공하기 때문이라고 보면 될 것 같다

물론 시스템을 개편안해도 되고 비용절감 되는 건 당연하다면 당연한거고

도로명주소는 시구군 이하 읍면동을 사용하지 않고 있어

범위를 기준으로 제공되는 날씨정보의 특성상

특정 주소기준으로 날씨정보 제공이 힘들다 라고도 볼 수 있을것 같긴하다

   

  • 서울 강남구 개포1동 날씨조회 URL

http://www.kma.go.kr/weather/forecast/timeseries.jsp?searchType=INTEREST&wideCode=1100000000&cityCode=1168000000&dongCode=1168066000

   

URL을 살펴보면 3개의 위치정보를 포함한다

wideCode=1100000000

cityCode=1168000000

dongCode=1168066000

   

법정동/행정동코드는 총 10자리로 구성되어 있다

시도(2) + 시군구(3) + 읍면동(3) + 리(2)

   

wideCode 시도 - 11 : 서울

cityCode 시군구 - 680 : 강남구

dongCode 행정동 - 660 : 개포1동

   

GPS기반 날씨정보 제공 어플을 만들때 Geocoding으로 GPS를 주소로 변환하면 동정보를 포함해서반환되니 

Geocodig API쓰면 간단할 수도있는데 안써봐서 법정동인지 행정동인지 잘모르는게 함정

   

그렇기때문에 기상청의 날씨정보를 사용하기 위해선

행정동 기준으로 날씨정보를 요청해야한다

   

위에까지는 기상청 사이트에서 제공하는 날씨정보였고

아래부터는 공공데이터 포탈에서 제공하는 날씨정보 API이다

   

공공데이터 포털에서는 동네예보정보조회 서비스를 제공하며

API를 이용하여 xml, json 등으로 데이터를 제공해준다

   

출처: https://www.data.go.kr/subMain.jsp#/L3B1YnIvdXNlL3ByaS9Jcm9zT3BlbkFwaURldGFpbC9vcGVuQXBpTGlzdFBhZ2UkQF4wMTJtMjEkQF5wdWJsaWNEYXRhUGs9MTUwMDAwOTkkQF5icm1DZD1PQzAwMTMkQF5tYWluRmxhZz10cnVl

   

그런데… 기술문서를 보게되면

관측소와 행정동을 맵핑하고 있다는걸 알수 있다

활용하려면 엄청 불편하게 해놨다

   

그냥 GPS 정보로도 조회했으면 더 편했을것 같기 때문이다

전국을 대상으로 행정동 기준으로 날씨 데이터를 수집하면 몰라도

특정위치를 기준으로 조회하기 위해 격자정보를 알아야 한다니 말이다

   

출처: https://www.data.go.kr/subMain.jsp#/L3B1YnIvcG90L215cC9Jcm9zTXlQYWdlL29wZW5EZXZEZXRhaWxQYWdlJEBeMDgyTTAwMDAxMzBeTTAwMDAxMzUkQF5wdWJsaWNEYXRhRGV0YWlsUGs9dWRkaTo5ZWQzZTRlMS0zNjU0LTQzN2EtYTg2Yi1iODg4OTIwMzRmOTAkQF5wcmN1c2VSZXFzdFNlcU5vPTk4NjM4NCRAXnJlcXN0U3RlcENvZGU9U1RDRDAx

   

3단계가 바로 행정동이며 격자정보는 해당 당담 관측소인걸 알수 있다

행정동명으로만 제공되고 있어 행정동 코드는 직접 해결해야 한다..

   

API를 사용할때 제일 문제되는건 행정동에 맞춰 관측소 격자X, Y로 요청해야 한다

   

청운효자동의 날씨를 조회하기 위해선 행정동 코드대신 격자정보인 x: 60, y: 127로 요청해야 한다는소리

   

결과적으로 GPS와 역 Geocoding을 사용해서 행정동정보를 받아와도

이를 X, Y좌표로 변경해서 요청해야한다는 소리다

   

  1. 기상청 사이트의 xml데이터를 받아오려면 행정동코드를 이용
  2. API를 사용하기 위해선 기상청 격자정보이용

   

어렵다 어려워

   

많은 인원이 사용해서 생기는 시스템 부하를 사용자에게 분산하고있다고 보면될듯하다

API같은 경우는 GPS정보로 요청해도 날씨를 제공해줘도 될텐데 말이다

550억짜리 슈퍼컴살돈으로 서버 증측하면….

   

참고로 API 기술문서는 JSON 데이터 반환에 한 글자도 언급이 없으니...

dataType=json(이였나..?)을 URL에 붙여서 보내면 JSON으로 반환해준다

반응형

관련글 더보기

댓글 영역