Cómo realizar geocodificación con GeoPy

GeoPy es una librería de python para acceder a servicios de geocodificación.

GeoPy facilita a desarrolladores de Python localizar las coordenadas de direcciones, ciudades, países y puntos de referencia en todo el mundo mediante geocodificadores de terceros y otras fuentes de datos.

GeoPy incluye clases de geocodificación para los siguientes servicios:

La variedad de geocodificadores se localizan en geopy.geocoders.

Geopy se ha testeado en CPython (versiones 2.7, 3.4, 3.5, 3.6, 3.7), PyPy y PyPy3. Geopy no admite ni admitirá CPython 2.6.

Instalación

Para instalar GeoPy debemos utilizar la librería pip.

¿Es necesario instalar pip?

Depende, pip ya está instalado si está utilizando Python 2> = 2.7.9 o Python 3> = 3.4 descargado de python.org o si estás trabajando en un entorno virtual creado por virtualenv o pyvenv.

Pero si utilizas otro Python necesitarás instalar pip.

En nuestro caso utilizaremos una distribución descargada de python.org. Por lo que el primer paso será abrir el símbolo del sistema y ubicarnos en la ruta en la que tenemos instalado Python (a no ser que tengas la ruta definida en el Path del sistema).

En la ventana de símbolo del sistema escribimos el siguiente comando para ubicarnos en el directorio de instalación de python:

Una vez ubicados en la ruta procedemos a instalar GeoPy, para lo cual escribimos:

Como vemos en la imagen inferior (en amarillo), se nos advierte que existe una versión más actualizada de pip, por lo que procedemos a actualizar tal y como nos indica, con el comando:

Geocodificación directa con GeoPy

Para geolocalizar  una dirección y obtener las coordenadas escribimos en Python:

De esta forma importamos el geocodificador Nominatim de GeoPy.

A continuación introducimos una dirección (basta indicar la provincia) y solicitamos la dirección exacta:

A continuación pedimos las coordenadas de la latitud y de la longitud de la ubicación:

Vamos a verlo todo junto:

Geocodificación inversa con GeoPy

Geocodificación inversa o cómo encontrar la dirección que corresponde a un conjunto de coordenadas.

Medir distancias con GeoPy

Geopy puede calcular la distancia geodésica entre dos puntos utilizando la distancia geodésica, con un valor predeterminado de la distancia geodésica disponible como la función geopy.distance.distance.

Aquí hay un ejemplo de uso de la distancia geodésica entre las coordenadas anteriores de las ubicaciones de Valladolid y León expresadas en kilómetros:

En esta entrada del blog de gvSIG encontrarás unas sencillas instrucciones parea realizar geocodificación en gvSIG utilizando GeoPy

Enlaces de interés:

Let’s connect!

Date de alta en nuestro newsletter
y recibe este ebook gratuito

Y una vez al mes recibirás las últimas novedades del sector GIS y de nuestros cursos