어떤 장소의 위도 경도가 필요할 때가 있습니다!
지도 위에 마커를 찍거나 할때 정확한 위, 경도 값이 있다면 표현하기 쉽겠죠??
그래서 카카오의 REST API를 이용하여 위, 경도를 어떻게 알아낼 수 있는지
파이썬으로 해보겠습니다
REST API 키 발급 받기
우선 아래 사이트로 접속합니다. 그리고 우 상단의 내 애플리케이션을 클릭합니다
https://developers.kakao.com/
그리고 애플리케이션 추가하기를 눌러줍니다
애플리케이션 만들때 앱 아이콘은 등록해도 되고 안해도 되며
앱 이름과 회사 이름을 입력합니다
그러면 방금 막 만들었기 때문에 아직 플랫폼이 설정되어 있지 않습니다
이에 REST API를 이용하기 위해서 웹을 설정합니다
플랫폼 설정하기를 눌러서 Web 플랫폼 등록을 눌러줍니다
그러면 위와 같은 창이 나옵니다
여기서 사이트 도메인에 'http://localhost:8080'을 입력하고 저장합니다
요약정보로 돌아가면 REST API 키가 있습니다
이 키를 이용해야 위 경도를 받아올 수 있습니다
(API 키가 노출되지 않도록 주의해주세요!!)
파이썬 코드 작성
이제 키를 발급 받았으니 파이썬 코드를 작성합니다
코드는 정말 간단합니다
https://developers.kakao.com/docs/latest/ko/local/dev-guide
위 사이트에 가시면 REST API 테스트도 가능하며
어떤 정보를 응답으로 받는지 확인할 수 있습니다
저는 주소를 입력받으면 그 주소의 위 경도를 반환하도록 하였습니다
지명의 위경도를 알고싶다면 그에 대한 설명도 키워드로 장소 검색에 나와있으니 참고하세요!!
아래 코드는 주소 검색 파이썬 코드 예제입니다
|
import requests from urllib.parse import urlparse address = '서울 종로구 평동 233 3106호'
url = 'https://dapi.kakao.com/v2/local/search/address.json?&query=' + address
result = requests.get(urlparse(url).geturl(), headers={'Authorization': 'KakaoAK REST_API_KEY'}).json()
match_first = result['documents'][0]['address']
lat = float(match_first['y'])
lng = float(match_first['x'])
print(lat, lng) # 위도(lat) 경도(long)
|
cs |
REST_API_KEY 부분에 위에서 확인한 API 키를 넣어주시면 됩니다
그리고 각자 원하는 정보를 뽑아내면 됩니다
응답 json 형식을 보면
제가 원하는 위, 경도 정보는 documents > address > x,y에 있습니다
그래서 위와 같이 parsing 하였습니다
간단하죠??? 다시 보니까 documents > x,y로 바로 얻어도 될것 같네요
위의 코드를 이해할줄 안다면 REST API를 이용해 원하는 정보를 모두 얻으실 수 있을거에요