Geocodificación en QGIS con OpenCage

La geocodificación es el proceso de transformar una dirección en una coordenada geográfica. Esta técnica se utiliza en muchos campos, como la cartografía, la logística y el análisis de datos. En este artículo, te enseñaremos cómo realizar la geocodificación con QGIS y OpenCage.

Hay muchas API comerciales de geocodificación en el mercado, nosotros en este blog hemos hablado de siete,  como la API gratuita de Nominatim, que se basa en datos de OSM y otras comerciales como las de ArcGIS o Bing.

Comparativa de plugins para la geocodificación

La siguiente tabla muestra diferentes complementos de QGIS que admiten geocodificación. Algunos de ellos se centran únicamente en la codificación geográfica, mientras que otros hacen además otras otras funcionalidades:

Nombre del complemento Nº descargas Última versión Directa Inversa Requiere clave API Foco en geocodificación Geocoding API
MMQGIS +200k 2021 Si Si No No Google/OSM/…
Plugin iconGeoCoding +160k 2023 Si Si Si Si OSM, Google
Google Maps Geocoder +60k 2021 Si No Si Si Google
Maptiler +20k 2023 Si No Si No Maptiler
Nominatim Locator Filter +10k 2021 Si Si No Si OSM
TravelTime +7k 2023 Si Si Si No TravelTime
TomTom +1k 2020 Si No Si Si TomTom
OpenCage Geocoder +100 2023 Si Si Si Si Nominatim

Fuente: Elaboración propia partiendo de los datos de doublebyte.

Después de revisar estos complementos, el equipo de OpenCage se dio cuenta que habría espacio para un complemento que abordara los siguientes elementos:

  1. Procesamiento masivo: aunque en ocasiones puede ser útil geocodificar una sola instancia, lo habitual es geocodificar varias direcciones. Además, esta funcionalidad se puede lograr mediante una herramienta en línea o incluso mediante el procesamiento masivo.
  2. Capacidad de respuesta y rendimiento: algunas de las herramientas de geocodificación existentes no responden mientras manejan una gran cantidad de filas. La capacidad de realizar una geocodificación por lotes (por ejemplo, asíncrona) puede solucionar algunos de estos problemas.
  3. Geocodificación directa/inversa: La geocodificación directa está desproporcionadamente más implementada que la geocodificación inversa. Esto podría deberse a la demanda del mercado, pero también a razones tecnológicas (por ejemplo, la geocodificación inversa no está implementada en el núcleo de QGIS).
  4. Soporte para más opciones: Sería bueno ofrecer algunas de las opciones que ofrece la API, a través del complemento. Estos podrían incluir la restricción a un país (o cuadro delimitador) y la capacidad de controlar los campos de salida.
  5. Ayuda/Documentación: muchos de los complementos existentes tienen interfaces de usuario que no son intuitivas y no ofrecen ninguna ayuda. Esto hace que usar los complementos sea complicado.
  6. Interfaz de usuario intuitiva: uno de los problemas con los complementos de QGIS es la falta de estandarización de la interfaz de usuario. Algunos complementos agregan iconos en la barra de herramientas, otros agregan entradas en el menú de complementos o incluso en otros menús. Algunos complementos agregan todas estas cosas y, en lugar de un widget, agregan varios widgets. Esto hace que la tarea de encontrar, configurar y usar el complemento a veces sea muy complicada. Una forma de superar esto es usar la interfaz de usuario de procesamiento. Aunque las entradas del menú se pueden configurar, la apariencia es siempre la misma y el complemento siempre se puede encontrar a través de la caja de herramientas de procesamiento.

El complemento OpenCage Geocoder

El complemento de QGIS OpenCage Geocoder es un complemento de procesamiento que ofrece geocodificación directa e inversa dentro de QGIS. Al ser un complemento de procesamiento, se beneficia de muchas funciones que ya están desarrolladas, como el procesamiento por lotes/asincrónico, la integración con el modelador o la capacidad de ejecutarse en la consola de python. También cuenta con una interfaz de usuario estándar, con entradas, salidas, opciones y comentarios que deberían ser familiares para los usuarios de QGIS.

Este complemento se basa en la API de geocodificación de OpenCage y la API que ofrece geocodificación en todo el mundo en función de diferentes conjuntos de datos.

Si bien es cierto que OpenCage hace un uso extensivo de Nominatim, debemos mencionar que contribuyen a respaldar el proyecto, tanto en términos de financiamiento como de código real.

one API, many geocoders

Paso 1: Descargar e instalar QGIS

QGIS es un software libre y gratuito que se utiliza para crear, editar, visualizar, analizar y publicar información geoespacial. Puedes descargarlo desde su página oficial https://qgis.org/es/site/. La instalación es sencilla y rápida, solo sigue las instrucciones en pantalla.

Paso 2: Obtener una clave API de OpenCage

OpenCage es un servicio de geocodificación en línea que te permite convertir direcciones en coordenadas geográficas. Puedes obtener una clave API gratuita ( con capacidad de procesar 2.500 peticiones diarias y 1 petición por segundo) de OpenCage para probar el servicio en su página https://opencagedata.com/. Después de registrarte, recibirás un correo electrónico con instrucciones para obtener tu clave API.

Paso 3: Configurar QGIS para usar OpenCage

Una vez que hayas instalado QGIS y obtenido tu clave API de OpenCage, necesitarás configurar QGIS para usar el servicio de geocodificación en línea. Para hacerlo, sigue los siguientes pasos:

  • Abre QGIS y selecciona el menú «Complementos» → «Administrador de complementos».
  • Busca el complemento «OpenCage Geocoder» y haz clic en «Instalar».

Install geocoding plugin in QGIS

  • Después de la instalación, ve al menú superior Configuración → Opciones → OpenCage → introduce tu clave API en el campo «API Key» y haz clic en «Aceptar».

Add API key to OpenCage plugin settings

Paso 4: Geocodificación con QGIS y OpenCage

Ahora que has configurado QGIS para usar OpenCage, puedes comenzar a geocodificar direcciones. Para hacerlo, sigue los siguientes pasos:

  • Abre QGIS y selecciona la capa en la que deseas geocodificar direcciones.
  • En la caja de herramientas de procesado aparecen dos algoritmos nuevos:

  • Abre el primer algortimo e ingresa la dirección que deseas geocodificar en el campo «Dirección» y haz clic en «Buscar».

OpenCage forward geocoding algoritmn in QGIS

  • QGIS geocodificará la dirección y mostrará las coordenadas geográficas en la ventana «Resultados».

También podemos seleccionar una capa de datos existente. En las opciones avanzadas (detrás del símbolo de llave inglesa) puede limitar la cantidad de filas que se procesarán, eso es bueno cuando se prueba.

Debemos tener las direcciones formateadas como se recomienda en la guía para formatear su consulta de codificación geográfica.

A continuación, seleccionamos el campo Dirección (Address field).

Configuramos los parámetros opcionales restantes. Puede obtener más información sobre los parámetros en la sección «Parámetros opcionales» de la documentación de la API de geocodificación.

Después de hacer clic en Ejecutar, las direcciones se geocodifican.

Geocoded results on map in attribute table

Conclusiones

En este artículo, te hemos enseñado cómo realizar la geocodificación con QGIS y OpenCage. Esperamos que este tutorial te haya sido útil y te animamos a probar este complemento en tus proyectos. Recuerda que la geocodificación es una herramienta muy útil para la toma de decisiones en muchos campos, así que no dudes en explorar sus posibilidades.

Más info: https://doublebyteblog.wordpress.com/2023/04/26/geocoding-in-qgis-with-opencage/

2 comentarios en «Geocodificación en QGIS con OpenCage»

  1. Buenas tardes.
    Al intentar poner la API me sale el siguiente error
    Valor incorrecto para el parámetro «Directorio OTB»:
    Problem with OTB installation: «does not exist.
    Hay alguna solución? Muchas gracias

Los comentarios están cerrados.