geopy é um cliente Python para vários serviços web de geocodificação populares.
geopy torna mais fácil para os desenvolvedores Python localizarem as coordenadas de endereços, cidades, países e pontos de referência em todo o mundo usando geocodificadores de terceiros e outras fontes de dados.
geopy inclui classes de geocodificador para OpenStreetMap Nominatim, Google Geocoding API (V3) e muitos outros serviços de geocodificação. A lista completa está disponível na seção de documentos Geocoders. As classes de geocodificador estão localizadas em geopy.geocoders.
geopy é testado em CPython (versões 3.7, 3.8, 3.9, 3.10, 3.11, 3.12) e PyPy3. A linha geopy 1.x também suportava CPython 2.7, 3.4 e PyPy2.
© geopy contribuidores 2006-2018 (ver AUTORES) sob a licença MIT.
Instale usando pip com:
pip instalar geopy
Ou baixe uma roda ou arquivo de origem do PyPI.
Para localizar geograficamente uma consulta para um endereço e 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 o endereço correspondente a um 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 pode calcular a distância geodésica entre dois pontos usando a distância geodésica ou a distância do grande círculo, com um padrão de distância geodésica disponível como a função geopy.distance.distance.
Aqui está um exemplo de uso da distância geodésica, tomando pares 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 a distância do grande círculo, também pegando pares 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
Mais documentação e exemplos podem ser encontrados em Leia os documentos.