geopy es un cliente Python para varios servicios web populares de codificación geográfica.
geopy facilita a los desarrolladores de Python localizar las coordenadas de direcciones, ciudades, países y puntos de referencia en todo el mundo utilizando geocodificadores de terceros y otras fuentes de datos.
geopy incluye clases de geocodificador para OpenStreetMap Nominatim, Google Geocoding API (V3) y muchos otros servicios de geocodificación. La lista completa está disponible en la sección de documentación de Geocoders. Las clases de Geocoder se encuentran en geopy.geocoders.
geopy se prueba con CPython (versiones 3.7, 3.8, 3.9, 3.10, 3.11, 3.12) y PyPy3. La línea geopy 1.x también es compatible con CPython 2.7, 3.4 y PyPy2.
© geopy contributors 2006-2018 (ver AUTORES) bajo la Licencia MIT.
Instalar usando pip con:
geopy de instalación de pip
O descargue una rueda o un archivo fuente de PyPI.
Para geolocalizar una consulta a una dirección y coordenadas:
>>> 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', ...}
Para encontrar la dirección correspondiente a un conjunto de coordenadas:
>>> 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 puede calcular la distancia geodésica entre dos puntos utilizando la distancia geodésica o la distancia del círculo máximo, con una distancia geodésica predeterminada disponible como la función geopy.distance.distance.
A continuación se muestra un ejemplo de uso de la distancia geodésica, tomando un par de tuplas (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
Usando la distancia del círculo máximo, tomando también un par de tuplas (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
Puede encontrar más documentación y ejemplos en Lea los documentos.