geopy는 널리 사용되는 여러 지오코딩 웹 서비스를 위한 Python 클라이언트입니다.
geopy를 사용하면 Python 개발자가 타사 지오코더 및 기타 데이터 소스를 사용하여 전 세계의 주소, 도시, 국가 및 랜드마크의 좌표를 쉽게 찾을 수 있습니다.
geopy에는 OpenStreetMap Nominatim, Google Geocoding API(V3) 및 기타 여러 지오코딩 서비스에 대한 지오코더 클래스가 포함되어 있습니다. 전체 목록은 Geocoders 문서 섹션에서 확인할 수 있습니다. 지오코더 클래스는 geopy.geocoders에 있습니다.
geopy는 CPython(버전 3.7, 3.8, 3.9, 3.10, 3.11, 3.12) 및 PyPy3에 대해 테스트되었습니다. geopy 1.x 라인은 CPython 2.7, 3.4 및 PyPy2도 지원했습니다.
© geopy contributors 2006-2018 (저자 참조) MIT 라이선스에 따라.
다음과 함께 pip를 사용하여 설치합니다.
pip 설치 geopy
또는 PyPI에서 휠 또는 소스 아카이브를 다운로드하세요.
주소 및 좌표에 대한 쿼리의 위치정보를 찾으려면 다음을 수행하세요.
>>> from geopy.geocoders import Nominatim
>>> geolocator = Nominatim( user_agent = " specify_your_app_name_here " )
>>> location = geolocator.geocode( " 175 5th Avenue NYC " )
>>> print (location.address)
Flatiron Building, 175, 5th Avenue, Flatiron, New York, NYC, New York, ...
>>> print ((location.latitude, location.longitude))
(40.7410861, -73.9896297241625)
>>> print (location.raw)
{'place_id': '9167009604', 'type': 'attraction', ...}
일련의 좌표에 해당하는 주소를 찾으려면:
>>> from geopy.geocoders import Nominatim
>>> geolocator = Nominatim( user_agent = " specify_your_app_name_here " )
>>> location = geolocator.reverse( " 52.509669, 13.376294 " )
>>> print (location.address)
Potsdamer Platz, Mitte, Berlin, 10117, Deutschland, European Union
>>> print ((location.latitude, location.longitude))
(52.5094982, 13.3765983)
>>> print (location.raw)
{'place_id': '654513', 'osm_type': 'node', ...}
Geopy는 측지선 거리 또는 대원 거리를 사용하여 두 점 사이의 측지선 거리를 계산할 수 있으며 측지선 거리의 기본값은 geopy.distance.distance 함수로 사용 가능합니다.
다음은 (lat, lon)
튜플 쌍을 사용하는 측지선 거리의 사용 예입니다.
>>> from geopy.distance import geodesic
>>> newport_ri = ( 41.49008 , - 71.312796 )
>>> cleveland_oh = ( 41.499498 , - 81.695391 )
>>> print (geodesic(newport_ri, cleveland_oh).miles)
538.390445368
대원 거리를 사용하고 (lat, lon)
튜플 쌍도 사용합니다.
>>> from geopy.distance import great_circle
>>> newport_ri = ( 41.49008 , - 71.312796 )
>>> cleveland_oh = ( 41.499498 , - 81.695391 )
>>> print (great_circle(newport_ri, cleveland_oh).miles)
536.997990696
더 많은 문서와 예제는 문서 읽기에서 찾을 수 있습니다.