-
[python] kakao API를 이용 주소,위도/경도 찾기카테고리 없음 2021. 12. 5. 05:06
kakao API를 이용하여 주소에서 위도/경도를 찾고 반대로 위도/경도를 이용하여 주소를 찾는법을 알아보도록 하자.
일단 kakao api key를 만들어야 하는데 순서대로 하나씩 해보도록 하자.
1. kakao api key 발급
우선 kakao api 를 이용하기위해 REST API key를 발급 받아야 한다.
1-1 kakao developers 접속
아래 링크로 접속하면 된다.
kakao developers
1-2 애플리케이션 추가하기
링크 접속하면 애플리케이션 추가하기를 누른뒤 이름 사업자명 입력하면 키값을 받을 수 있다.
2. kakao API를 이용 주소,위도/경도 찾기
이제 본격적으로 주소,위도/경도를 찾아보도록 하자. 더 자세한 내용은 아래 링크를 남겨두도록 하겠다.
2-1 라이브러리 불러오기
import json import requests
2-2 키값 지정
REST API 키값을 지정해 주도록 하자
api_key = api_key 예) api_key = "456df484z1vzcv31515"
2-3 다음 코드로 주소를 이용 위도/경도 찾기
아래 코드로 이제 원하는 주소에 대한 위도/경도를 찾을수 있게 되었다. 그럼 남한산성주소를 검색해 addr_lat_lon() 함수를 통해 위도/경도를 찾아 보도록 하자.
def addr_lat_lon(addr): url = 'https://dapi.kakao.com/v2/local/search/address.json?query={address}'.format(address=addr) headers = {"Authorization": "KakaoAK " + "api_key"} result = json.loads(str(requests.get(url, headers=headers).text)) match_first = result['documents'][0]['address'] return float(match_first['x']), float(match_first['y'])
addr_lat_lon("경기 광주시 남한산성면 산성리") (127.193350205307, 37.4766883922306)
2-4 다음 코드로 위도/경도를 이용 주소 찾기
위에서 주소를 이용해 위도/경도를 찾았으니 반대로 위/경도를 이용해 주소도 찾아 보려한다. 다음 코드를 사용해 주소를 찾아 보자.
def lat_lon_addr(lon,lat): url = 'https://dapi.kakao.com/v2/local/geo/coord2regioncode.json?x={longitude}&y={latitude}'.format(longitude=lon,latitude=lat) headers = {"Authorization": "KakaoAK " + api_key} result = json.loads(str(requests.get(url, headers=headers).text)) match_first = result['documents'][0]['address_name'] return str(match_first)
lat_lon_addr(127.193350205307, 37.4766883922306) ## '경기도 광주시 남한산성면 산성리'
이렇게 주소와 위도/경도를 찾는법을 해보았다. 이보다 자세하게는 아래에 링크르 남겨두도록 하겠다. 조금더 잘하게되면 이보다 더 자세하게 남기도록 해보겠다.