Geopandas분석 주소를 좌표로

지하철 주소를 위도와 경도로 변경하기

카카오 key발급 후 사용할 수 있음

import requests
from urllib.parse import urlparse
import geopandas
import pandas as pd
add= pd.read_csv("서울교통공사 지하철역 주소 및 전화번호 정보.csv",engine='python',encoding='CP949')
def address_to_loaction(address):
    global val
    url = 'https://dapi.kakao.com/v2/local/search/address.json?query='+address
    result=requests.get(urlparse(url).geturl(),
                            headers = {"Authorization": 'KakaoAK REST API 넣기'})
    json_obj=result.json()
    for document in json_obj['documents']:
        val =[document['road_address']['building_name'], document['address_name'],document['y'], document['x']]
    return val
address_to_loaction('서울특별시 동대문구 왕산로 지하 93 (제기동) (제기동역)')
['제기동역', '서울 동대문구 왕산로 지하 93', '37.5781967284885', '127.034690599752']
list=[]

for address in add["도로명주소"]:
    list.append(address_to_loaction(address))
df1=pd.DataFrame(list,columns=['1','2','lat','lon'])
df1
1 2 lat lon
0 청량리역 서울 동대문구 왕산로 지하 205 37.5802331563072 127.045085886324
1 제기동역 서울 동대문구 왕산로 지하 93 37.5781967284885 127.034690599752
2 신설동역 서울 동대문구 왕산로 지하 1 37.5753194830738 127.024701893044
3 동묘앞역 서울 종로구 종로 359 37.5733722075697 127.01675118037
4 1호선 동대문역 서울 종로구 종로 지하 302 37.5717775660734 127.011167102297
... ... ... ... ...
116 4호선 이촌역 서울 용산구 서빙고로 지하 83 37.522520254623 126.973683151228
117 4호선 동작역 Dongjak s.t 서울 동작구 현충로 257 37.5028703671011 126.980268385443
118 총신대입구(이수)역4호선 서울 동작구 동작대로 지하 117 37.4875538278198 126.982199707405
119 사당역(4호선) 서울 동작구 동작대로 지하 3 37.4768632653727 126.981595139341
120 남태령역 서울 서초구 과천대로 지하 816 37.4648575576518 126.988656544337

121 rows × 4 columns

df1.to_csv('D:/위도경도.csv',index=False)

댓글남기기