[API] 건물 주소로 날씨 조회하기

김재연·2022년 3월 23일
0

BEMS 날씨

목록 보기
1/5
post-thumbnail

사용할 날씨 API

공공데이터포털에 기상청 단기예보

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


날씨 API로 데이터 받아오기

서울특별시 영등포구 여의동(x좌표: 59, y좌표: 126)의 2022년 3월 23일 오전 6시 날씨 정보 받아오기

요청 url : http://apis.data.go.kr/1360000/VilageFcstInfoService_2.0/getUltraSrtNcst?serviceKey=RThznmRv1h0DBnf%2B22GnAXaiJKRllw1ZNlmUBq%2FLc6Vt9LpoQvADaLYaIibSfvgJYzzIFFnhVWkkzYxLbs2hMg%3D%3D&numOfRows=10&pageNo=1&base_date=20220323&base_time=0600&nx=59&ny=126

service key는 오픈 API 활용신청을 누르고 일반 인증키(Encoding)를 사용하면 됨

thunderclient에서는 인코딩값을 넣어도 잘 나왔는데 파이썬 코드에서 요청 보낼 때는 디코딩값을 넣어야 제대로 받아왔다.

기본으로 XML로 받아오는데 dataType=json을 URL에 붙여서 보내면 JSON으로 반환해준다고 한다.


memo

지역 정보를 기상청 격자 기준(nx, ny)으로 받아오는데 건물 주소 리스트는 행정구역-행정동 으로 돼있어서 행정구역-행정동 형태의 주소를 위도 경도로 바꾸고 이거를 또 기상청 격자 포맷으로 바꿔줘야 한다.

Reference (주소 -> 위경도 -> 기상청 격자 변환)
주소->위경도
https://wonhwa.tistory.com/29?category=996516
https://github.com/yjw5344/Geocoder-Python
위경도->기상청 격자
https://minhyeong-jang.github.io/2016/02/01/py-grid-to-xy

근데 api 요청할 때마다 이 작업은 굳이 안해도 될거 같은데 건물 모델에 기상청 격자 필드를 추가하는게 나을듯

profile
일기장같은 공부기록📝

0개의 댓글