더 나은 프로그래머가 되자

기상청 동네예보 날씨 API 본문

API/기타

기상청 동네예보 날씨 API

greathuman 2019. 10. 31. 15:19

기상청 rrs피드 : http://www.weather.go.kr/weather/lifenindustry/sevice_rss.jsp
기상청API 메뉴얼 : http://www.kma.go.kr/images/weather/lifenindustry/timeseries_XML.pdf

 

기상청API는 위도(latitude), 경도(longitude)로 동내예보를 바로 얻을 수 없다. 자체적으로 나누어놓은 행정구역단위 gridX, gridY라는 좌표를 알아야 한다. 그것을 얻기 위한 방법!

 

일단 위도,경도로 행정구역명칭을 얻는다. 아래 샘플 URL처럼 GOOGLE API를 사용해도 좋고 다음,네이버것을 이용해도 좋다.

http://maps.googleapis.com/maps/api/geocode/json?latlng=37.4782662,126.8819707&sensor=true&language=ko

 

이렇게 얻은 행정구역명은 아래 3단계의 url구조로 얻을수 있다 (첫번째, 두번째 url뒷부분에 11, 11545는 앞단계에서 얻은좌표)
http://www.kma.go.kr/DFSROOT/POINT/DATA/top.json.txt
http://www.kma.go.kr/DFSROOT/POINT/DATA/mdl.11.json.txt
http://www.kma.go.kr/DFSROOT/POINT/DATA/leaf.11545.json.txt

 

마지막단계 결과에는 x, y가 있다!

[{"code":"1154551000","value":"가산동","x":"58","y":"125"},{"code":"1154561000","value":"독산1동","x":"58","y":"125"},{"code":"1154562000","value":"독산2동","x":"59","y":"124"},{"code":"1154563000","value":"독산3동","x":"59","y":"125"},{"code":"1154564000","value":"독산4동","x":"59","y":"124"},{"code":"1154567000","value":"시흥1동","x":"58","y":"124"},{"code":"1154568000","value":"시흥2동","x":"59","y":"124"},{"code":"1154569000","value":"시흥3동","x":"59","y":"124"},{"code":"1154570000","value":"시흥4동","x":"59","y":"124"},{"code":"1154571000","value":"시흥5동","x":"59","y":"124"}]

 

위에서 얻은 x,y를 적용하여 날씨를 얻으면 끝
http://www.kma.go.kr/wid/queryDFS.jsp?gridx=58&gridy=125

 

이것도 저것도 다 귀찮으면...

http://www.kma.go.kr/XML/weather/sfc_web_map.xml 이걸로.

 



 

 

 

 

 

 



출처: https://koreazombie.tistory.com/58 [슈퍼파워 코릴라]

Comments