Python에서 Geopy를 사용한 지오 코딩

저는 이미 Open Street Map에서 제공하는 API와 같은 API를 사용하여 R에서 도시 또는 위치 이름의 형태로 공간 데이터를 지오 코딩하는 다양한 가능성을 시연했습니다.

이 게시물에서는 Geopy를 사용하여 Python에서 위치 이름을 지오 코딩 할 수있는 가능성을 보여줍니다. Geopy는 다양한 지오 코딩 서비스에 대한 액세스를 제공하여 문자열의 지오 코딩을 허용하는 Python 모듈입니다.

아래에서 Geopy를 가져와 (pip install 명령 지원) Nominatim 서비스를 사용하여 도시 이름 목록을 지오 코딩하는 데 사용합니다. Open Street Map을 기반으로 한 서비스입니다.

# Geopy 가져 오기
import geopy
# Nominatim 서비스 객체에 대한 핸들러 가져 오기
service = geopy.Nominatim(user_agent = "myGeocoder")
# Nominatim (예 : OSM) 서비스를 사용하여 도시 이름을 지오 코딩합니다.
service.geocode("Berlin, Germany")
Location(Berlin, Deutschland, (52.5170365, 13.3888599, 0.0))

geocode () 함수는 위치 유형의 특수 데이터 유형을 리턴합니다. 위치 객체에는 다양한 속성이 있습니다.

# Nominatim 서비스를 사용하여 독일의 베를린 도시 이름을 지오 코딩하여 다른 위치 객체 생성
locationObj = service.geocode("Berlin, Germany")
#위도
print(locationObj.latitude)
#경도 
print(locationObj.longitude)
52.5170365
13.3888599

이러한 위도와 경도 좌표를 사용하면 이제 예를 들어 할 수 있습니다. Geopy와 함께 Python의 Folium 모듈을 사용하여지도에 마커를 배치합니다.

# folium 가져 오기
import folium
# 베를린을 중심으로 한 기본지도 만들기
mapObj = folium.Map(location = [locationObj.latitude,locationObj.longitude], zoom_start = 5)
# 베를린을위한 마커 객체 생성
markerObj = folium.Marker(location = [locationObj.latitude,locationObj.longitude])
#지도에 마커 추가
markerObj.add_to(mapObj)
# 디스플레이지도
mapObj

Leave a Reply

답글 남기기

이메일 주소는 공개되지 않습니다.

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.

Close

메타