geopy est un client Python pour plusieurs services Web de géocodage populaires.
geopy permet aux développeurs Python de localiser facilement les coordonnées d'adresses, de villes, de pays et de points de repère à travers le monde à l'aide de géocodeurs tiers et d'autres sources de données.
geopy comprend des classes de géocodeur pour OpenStreetMap Nominatim, l'API Google Geocoding (V3) et de nombreux autres services de géocodage. La liste complète est disponible dans la section doc Geocoders. Les classes de géocodeur se trouvent dans geopy.geocoders.
geopy est testé avec CPython (versions 3.7, 3.8, 3.9, 3.10, 3.11, 3.12) et PyPy3. La ligne geopy 1.x prenait également en charge CPython 2.7, 3.4 et PyPy2.
© geopy contributeurs 2006-2018 (voir AUTEURS) sous licence MIT.
Installez en utilisant pip avec :
pip installer géopy
Ou téléchargez une roue ou une archive source à partir de PyPI.
Pour géolocaliser une requête à une adresse et des coordonnées :
>>> 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', ...}
Pour trouver l'adresse correspondant à un ensemble de coordonnées :
>>> 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 peut calculer la distance géodésique entre deux points en utilisant la distance géodésique ou la distance orthodromique, avec une distance géodésique par défaut disponible sous la fonction geopy.distance.distance.
Voici un exemple d'utilisation de la distance géodésique, en prenant une paire de tuples (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
En utilisant la distance orthodromique, en prenant également une paire de tuples (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
Plus de documentation et d’exemples peuvent être trouvés sur Read the Docs.