Geolocalización en Python con Geopy
La geolocalización es la técnica de obtener la posición geográfica de un lugar, objeto o persona. En Python, podemos realizar esta tarea utilizando la librería Geopy: https://geopy.readthedocs.io/en/stable/.
Instalación
Para instalar Geopy, podemos utilizar el siguiente comando:
pip install geopy
Geocodificación
La geocodificación es el proceso de convertir una dirección, ciudad o país en sus coordenadas geográficas (latitud y longitud). Con Geopy, podemos realizar esta tarea utilizando los siguientes métodos:
geocode()
: Geocodifica una dirección o punto de referencia.geocode_placemark()
: Geocodifica un punto de referencia utilizando un objetoPlacemark
.reverse()
: Obtiene la dirección de una coordenada geográfica.
Ejemplos
# Geocodificar una dirección
from geopy.geocoders import Nominatim
geolocator = Nominatim()
location = geolocator.geocode("Calle Mayor, 1, Madrid, España")
print(location.latitude, location.longitude)
# 40.416667, -3.703333
# Geocodificar un punto de referencia
from geopy.geocoders import ArcGIS
geolocator = ArcGIS()
location = geolocator.geocode("Plaza de Cibeles, Madrid, España")
print(location.latitude, location.longitude)
# 40.415333, -3.695556
# Obtener la dirección de una coordenada
from geopy.geocoders import Nominatim
geolocator = Nominatim()
location = geolocator.reverse(40.416667, -3.703333)
print(location.address)
# Calle Mayor, 1, Madrid, España
Distancia entre dos puntos
Geopy también nos permite calcular la distancia entre dos puntos utilizando el método distance()
.
# Calcular la distancia entre Madrid y Barcelona
from geopy.distance import geodesic
madrid = (40.416667, -3.703333)
barcelona = (41.387762, 2.169927)
distance = geodesic(madrid, barcelona).km
print(distance)
# 621.7024000000001
Conclusión
Geopy es una librería muy potente que nos permite realizar tareas de geolocalización en Python. Con ella, podemos geocodificar direcciones, calcular distancias entre puntos y mucho más.