2015년 7월 31일 금요일

구글 지도 API를 활용한 지명 주소와 위/경도 주소 변환

구글 지도 API를 활용해서 지명 주소와 위/경도 주소 변환 예제를 기록한다.

* 참조 : https://developers.google.com/maps/documentation/geocoding/intro
* 무료 제약사항 : 24시간 동안 2500건, 초당 5건 질의 가능

미리 key 값을 구글 개발 콘솔에서 발급 받는다. (위 참조 링크 확인)

In [1]:
# 예제키
key = '&key=AIzaSyxxxxiABIfkNsA1237xA_xdb2xyszBfHUI'
In [2]:
# 필요한 라이브러리 로딩
import urllib
import json

위/경도 주소를 지명 주소로 변경

In [3]:
# google api
base_url ='https://maps.googleapis.com/maps/api/geocode/json?language=ko'+\
                '&location_type=ROOFTOP'+\
                '&latlng='
# google에서 찾은 필자의 현재 위치
latlng = '37.499351,127.0347757'
addr = json.loads(urllib.request.urlopen(base_url+latlng+key).read().decode('utf-8'))
# 주소 정보만 뽑기
for i in addr['results']:
    print(i['formatted_address'])
대한민국 서울특별시 강남구 역삼1동 736-36

지명 주소를 위/경도 주소로 변경

In [4]:
# 지명 주소를 위/경도 주소로,
base_url ='https://maps.googleapis.com/maps/api/geocode/json?language=ko'+\
                '&address='
# 부분 주소를 통해서 찾기
address = urllib.parse.quote('강남구 역삼1동 736-36')
addr = json.loads(urllib.request.urlopen(base_url+address+key).read().decode('utf-8'))
# 위치 정보만 뽑기
for i in addr['results']:
    print(i['geometry']['location'])
{'lng': 127.0347583, 'lat': 37.4992707}

지명 주소와 위/경도 주소에 대한 매핑 테이블과 PostGIS의 최단거리 함수를 이용해, 자체적인 변환기를 만들 수 있을까? 라는 고민을 남기고, 오늘은 여기서 정리 한다.

0 개의 댓글:

댓글 쓰기