구글 지오코딩 API 를 통해 위도,경도 데이터 가져오기

2021. 7. 3. 12:55(Python) Pandas를 이용한 데이터분석

일단 구글 지도 서비스에 접속해서

 

새프로젝트를 만들려면 

 

이름,전화번호 인증 카드번호 쓰기 등등 아주 귀찮은 일들이 많다.

 

이것들은 완료하고 새프로젝트를 만들면 API 키를 발급해준다 

 

아주소중히 잘 저장한다.

 

구글 지도 서비스는 졸업작품 할때도 잘못하다가 과금이 나와서 내 파트너친구가 구글에 사정사정해서

 

돈을 안냈었기 때문에 조심해야한다.

 

그리고 Googlemaps 를 사용하기 위해서 아나콘다에 googlemaps 라이브러리를 설치해야한다.

 

conda prompt를 열고 

 

conda install -c conda-forge googlemaps를 치고 깔아준다.

 

그리고 다시 돌아와서 코드를 입력한다.

 

## google 지오코딩 API 를 통해 , 위도 경도 데이터 가져오기

import googlemaps
import pandas as pd


my_key = "개인 API 키"

#구글맵스 객체 생성하기


maps = googlemaps.Client(key= my_key)

lat = [] #위도
lng = [] #경도

#장소( 또는 주소) 리스트
places = ["창원대학교","정우상가","해운대해수욕장"]

i = 0

for place in places:
    i = i+1
    try:
        print(i,place)
        #지오코딩 API 결과값 호출하여 geo_location 변수에 저장
        geo_location = maps.geocode(place)[0].get('geometry')
        lat.append(geo_location['location']['lat'])
        lng.append(geo_location['location']['lng'])
    except:
        lat.append('')
        lng.append('')
        print(i)
#데이터 프래임으로 변경

df = pd.DataFrame({'위도':lat,'경도':lng},index=places)
print(df)

위도 경도 리스트를 만들어주고 장소리스트도 만들어준다.

나는 내가다니는 학교 창원대학교와 생각나는게 없어 정우상가와 내가 좋아하는 해운대해수욕장을 해봤다.

위도 경도 리스트에 API 결과값을 저장해주고

Data Frame으로 만들어주면

 

1 창원대학교
2 정우상가
3 해운대해수욕장
                위도          경도
창원대학교    35.245595  128.691953
정우상가     35.228430  128.679427
해운대해수욕장  35.158698  129.160384

 

이런식으로 나온다 

 

끝~