Geopy ist ein Python-Client für mehrere beliebte Geokodierungs-Webdienste.
Geopy macht es Python-Entwicklern leicht, die Koordinaten von Adressen, Städten, Ländern und Sehenswürdigkeiten auf der ganzen Welt mithilfe von Geokodierern von Drittanbietern und anderen Datenquellen zu lokalisieren.
geopy umfasst Geocoder-Klassen für OpenStreetMap Nominatim, Google Geocoding API (V3) und viele andere Geocoding-Dienste. Die vollständige Liste finden Sie im Dokumentationsbereich Geocoders. Geocoder-Klassen befinden sich in geopy.geocoders.
geopy wird gegen CPython (Versionen 3.7, 3.8, 3.9, 3.10, 3.11, 3.12) und PyPy3 getestet. Die geopy 1.x-Linie unterstützte auch CPython 2.7, 3.4 und PyPy2.
© Geopy-Mitwirkende 2006–2018 (siehe AUTOREN) unter der MIT-Lizenz.
Installieren Sie mit pip mit:
pip geopy installieren
Oder laden Sie ein Rad- oder Quellarchiv von PyPI herunter.
So lokalisieren Sie eine Abfrage nach einer Adresse und Koordinaten:
>>> 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', ...}
So finden Sie die Adresse, die einem Koordinatensatz entspricht:
>>> 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 kann den geodätischen Abstand zwischen zwei Punkten anhand des geodätischen Abstands oder des Großkreisabstands berechnen, wobei ein Standardwert für den geodätischen Abstand als Funktion geopy.distance.distance verfügbar ist.
Hier ist ein Beispiel für die Verwendung der geodätischen Entfernung unter Verwendung von Paaren von (lat, lon)
-Tupeln:
>>> 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
Unter Verwendung der Großkreisdistanz werden auch Paare von (lat, lon)
-Tupeln verwendet:
>>> 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
Weitere Dokumentation und Beispiele finden Sie unter „Dokumente lesen“.