카카오 API 위도, 경도 뽑기

카카오 API를 이용하여 주소를 input으로 위도 경도를 뽑아봅시다.

  • 예제 데이터 로드

대한민국 도시 가운데 공시지가가 가장 높은 대지를 뽑아 데이터셋으로 만들었습니다. 다음과 같은 데이터를 가지고 위도 경도를 뽑아보도록 하겠습니다. address는 ‘x’변수 이름을 가지고 있는 DataFrame입니다.

address
'''
x
0	서울특별시 명동2가 33-2대지
1	부산광역시 온천동 142-19광천지
2	대구광역시 동성로2가 162대지
3	인천광역시 부평동 212-69대지
4	광주광역시 충장로2가 15-1대지
5	대전광역시 봉명동 549-24광천지
6	울산광역시 성남동 249-5대지
7	경기도 안흥동 317-5잡종지
8	강원도 노학동 972-72광천지
9	충청북도 내수읍 초정리 63-2광천지
10	충청남도 온천동 221-19광천지
11	전라북도 고사동 72-6대지
12	전라남도 교동 275대지
13	경상북도 온정면 온정리 968-10광천지
14	경상남도 부곡면 거문리 213-25광천지
15	제주도 일도일동 1145-17대지
'''
  • 카카오 API 연결하기

카카오 API 이 사이트에 접속하여 ‘앱개발 시작하기’를 눌러 APIkey를 받습니다. 카카오 API를 이용하여 위도, 경도를 찾아보도록 하겠습니다.

import requests
url = "https://dapi.kakao.com/v2/local/search/address.json?"
apikey = "자신의 APIkey를 넣으세요."
x = [] # 경도를 저장합니다
y = [] # 위도를 저장합니다
c = [] # 위도 경도를 불러들인 주소를 저장합니다
for i in address['x']:
    query = i
    r = requests.get( url, params = {'query':query}, headers={'Authorization' : 'KakaoAK ' + apikey } )
    try: 
        xx=r.json()["documents"][0]['address']['x']
        x.append(xx)
    except:
        print('못불러들인 주소: '+ i) # 못불러들인 주소를 나타냅니다. 
    try:
        yy=r.json()["documents"][0]['address']['y']
        y.append(yy)
        cc=i
        c.append(cc)
    except:
        pass
'''
못불러들인 주소: 대전광역시 봉명동 549-24광천지
못불러들인 주소: 충청북도 내수읍 초정리 63-2광천지
못불러들인 주소: 충청남도 온천동 221-19광천지
못불러들인 주소: 경상북도 온정면 온정리 968-10광천지
못불러들인 주소: 경상남도 부곡면 거문리 213-25광천지
'''
Address={'Longitude':x,'Latitude':y,'Address':c}
Address=pd.DataFrame(Address)
Address
'''
Longitude	Latitude	Address
0	126.98472897755484	37.56364462871111	서울특별시 명동2가 33-2대지
1	129.0813712491951	35.221331015489596	부산광역시 온천동 142-19광천지
2	128.59538022479325	35.86898584107002	대구광역시 동성로2가 162대지
3	126.72314687578324	37.49413510188036	인천광역시 부평동 212-69대지
4	126.91734757706894	35.14776730821751	광주광역시 충장로2가 15-1대지
5	129.32162000634725	35.554043433950476	울산광역시 성남동 249-5대지
6	127.45166238889941	37.27667464356648	경기도 안흥동 317-5잡종지
7	128.5741722395675	38.19448647687141	강원도 노학동 972-72광천지
8	127.14638214310412	35.81931305313351	전라북도 고사동 72-6대지
9	127.73341151866971	34.74139610567234	전라남도 교동 275대지
10	126.52736200678335	33.51291020592632	제주도 일도일동 1145-17대지
'''

이로서 주소를 기반으로 위도, 경도를 뽑아냈습니다.


무단 배포 금지