La geocodificación de direcciones consiste en la localización espacial de una dirección específica.
Para realizar geocodificación es necesario contar con una herramienta que realice la búsqueda en una base de datos por su nombre y dirección. Para generar direcciones a partir de lugares conocidos se utiliza la geocodificación inversa.
Algunas de las API que ofrecen estos servicios son las de ESRI, Google Maps, Nominatim (un servicio basado en OpenStreetMap, con limitación en cuanto a cobertura o peticiones) o Geonames.
Índice
Geocodificación y geocodificación inversa
La geocodificación es el proceso de asignar coordenadas geográficas a puntos del mapa, es decir, la ubicación en el espacio de una dirección. Por ejemplo, si tenemos un listado de direcciones en formato alfanumérico (tipo y nombre de la calle, número, ciudad, provincia y país) se podrán localizar espacialmente en función de los criterios del software utilizado.
La geocodifcación inversa consiste en asignar la dirección de una calle, número de portal, etc a una localización espacial conocida. Por ejemplo, en una capa de puntos podremos rellenar en su tabla de atributos un campo nuevo con sus direcciones.
Geocodificar en QGIS
En QGIS, la codificación geográfica se realiza con código abierto. Para geocodificar en QGIS tenemos varias opciones, todas ellas pasan por utilizar complementos: el plugin Geocoding, MMQGIS u OSM Place Search.
El primer paso será instalar alguno de los plugins. Desde QGIS iremos al menú superior Complementos > Administrar e instalar complementos.
OSM Place Search
Una de las opciones es utilizar el complemento OSM Place Search. OSM Place Search agrega un panel con un cuadro de búsqueda. Después de buscar una ubicación, se acerca a esa dirección y se puede crear una nueva geometría.
GeoCoding
El complemento GeoCoding realiza geocodificación y geocodificación inversa usando los servicios web de Google y Nominatim. La pega de este plugin es que sirve para realizar geocodificación puntual, ya que el proceso es muy manual, mostrando los registros uno por uno.
Geocodificación
En el menú superior vamos a Complementos > GeoCode > GeoCode.
En la ventana que se abre, escribimos una dirección:
En el caso de encontrar varias ubicaciones posibles, se muestra un desplegable para seleccionar la dirección exacta. Se añadirá un punto en QGIS.
Geocodificación inversa
Clic en Complementos > GeoCode > Reverse GeoCode.
El usuario debe hacer clic en un lugar del mapa y esperar para obtener la dirección en una ventana emergente:
MMQGIS
El complemento MMQGIS nos permite geocodificar varias direcciones al mismo tiempo. Solamente es necesario crear un archivo en formato CSV (con la codificación UTF-8).
Podemos crear el archivo CSV partiendo de una hoja de cálculo. Crearemos el listado de direcciones con, al menos, los siguientes nombres de columna: Address (dirección completa), City (ciudad), State (Comunidad Autónoma en el caso de España), Country (país).

Guardamos el archivo como texto delimitado por comas (CSV).
El siguiente paso es abrir este archivo CSV con un editor de texto, como Notepad++ o Sublime Text, para modificar su codificación a UTF-8:
Guardamos los cambios y vamos a QGIS.
Para iniciar el procedimiento, hacemos clic en el menú superior MMQGIS > Geocode > Geocode CSV with Google / OpenStreetMap:
A continuación se abre una ventana con los parámetros que debemos introducir para realizar la codificación con un servicio web. Los parámetros a ingresar serán:
- Input CSV File: ruta del archivo CSV. En UTF-8!.
- Address Field, City Field, State Field y Country Field: se rellenarán automaticamente, ya que el nombre coincide.
- Web Service: OpenStreetMap / Nominatim (o Google Maps).
- Output Shapefile: la ruta y el nombre de la capa que se creará.
- Not Found Output List: la ruta y el nombre del archivo CSV que se creará con la rutas no codificadas.
Aceptamos y esperamos unos segundos para ver el resultado:
Plugin OpenCage Geocoder
Esta API combina varios sistemas de codificación geográfica en su background. Cada una está optimizada para cada parte del mundo y para cada tipo de solicitud.
Se han agregado los resultados de las mejores fuentes de datos abiertas y algoritmos.
En este artículo, te enseñamos a realizar la geocodificación con QGIS y OpenCage.
Plugin Geoapify Geocoder
Geocodificación directa e inversa utilizando la API de Geoapify.
La API de Geoapify cubre varios servicios web geográficos, como la geocodificación directa e inversa. Regístrese para obtener una clave API gratuita en https://geoapify.com.
Geocodificación en ArcGIS
En este tutorial de geocodificación en PDF encontrarás las instrucciones necesarias para realizar la geocodificación con ArcGIS.
Geocodificación en gvSIG
En esta entrada del blog de gvSIG encontrarás unas sencillas instrucciones parea realizar geocodificación en gvSIG 2.1. Es necesario instalar la librería GeoPy y pequeñas nociones de python.
Convierte una tabla con direcciones en una capa de puntos con gvSIG 2.x
Geocodificación en Leaflet
En el visor de la web del curso online desarrollo de aplicaciones webmapping hay un mapa web realizado con Leaflet y entre los diferentes controles que contiene, hay uno en la parte superior, que es un servicio de geocodificación.
Este control consiste en una caja de búsqueda de direcciones. La hemos creado utilizando el plugin Leaflet GeoSearch,
El control nos permite utilizar tres posibles proveedores:
- L.GeoSearch.Provider.Esri
- L.GeoSearch.Provider.Google
- L.GeoSearch.Provider.OpenStreetMap
En esta entrada te mostramos cómo incorporar un plugin a tu mapa de leaflet.
Para crear el control basta con añadir tres líneas en nuestro script:
new L.Control.GeoSearch({ provider: new L.GeoSearch.Provider.OpenStreetMap() }).addTo(map);
En Leaflet también podemos utilizar como plugin el geocodificador de OpenCage.
Geocodificar direcciones con Google My Maps
En nuestro blog tenemos un completo tutorial en el que se describe el proceso paso a paso.
Geocodificador online gratuito 🚀
En esta entrada te mostramos cómo utilizar este geocodificador gratuito creado por LocalFocus.
Otros servicios de geocodificación
Geocoder del catastro español
https://github.com/bolollo/
Geocodifica direcciones usando los servicios de catastro.
Twofishes
Web que recopila y compara docenas de proveedores de servicios de geocodificación para ayudarnos a seleccionar el mejor para nuestros proyecto: https://getlon.lat/
Licenciado en Geografía. Máster en Sistemas de Información Geográfica. Consultor GIS desde el año 2004. En MappingGIS desde el año 2012 para ayudarte a impulsar tu perfil GIS y diferenciarte de la competencia. Echa un vistazo a todos nuestros cursos de SIG online.
Buenos días.
Me ha resultado muy interesante este artículo, puesto que en un trabajo que estoy realizando dispongo de un CSV con un gran listado de direcciones.
Mi pregunta es, si una vez que el programa marca en el plano la posición de dichas direcciones mediante un icono(estrella en este caso), ¿ es posible desplazar la ubicación de ese icono, para que coincida exactamente con un punto de la calle que nosotros deseemos, en lugar de con el centro/interseccion de la calle?
Gracias y muy buen blog
Muchas gracias Daniel,
Efectivamente, una vez geolocalizados los puntos puedes editarlos y desplazarlos al lugar exacto si lo conoces.
Un saludo!
Tengo subido nominatim en un servidor para geocoding, pero quisiera saber si es posible integrar los formatos SHP (arcgis) ó TAB (mapinfo). para mi nominatim.
Gracias
Me ha resultado muy fácil y sin nada de programación con QGIS, muchas gracias!
Hola Juan Carlos, Nos alegramos de que el artículo te haya resultado útil, Saludos!
Buen día Aurelio, tengo una duda que intentó resolver, soy seguidor de tu blog desde hace tiempo, tengo información puntual con coordenadas, son más de 2 mil puntos, lo que quisiera saber, si hay un modo de realizar geocodificacion inversa a dichos puntos sin necesidad de hacerlo manualmente con cada uno de ellos. Por favor, espero tu respuesta.
Buen día Juan Carlos,
Muchas gracias por ser seguidor nuestro!
De los plugins mencionados en el artículo ninguno realiza geocodificación inversa de forma masiva. Desconocemos si existe alguna herramienta para ello en QGIS. Saludos!
Hola,
quisiera saber cuál es el máximo de registros que puedo geocodificar utilizando los diferentes métodos.
Saludos
Hola María José, La mayoría de los servicios te permitirán geocodifircar varias direcciones, excepto el plugin de QGIS «GeoCoding». Saludos!
Hola, quisiera hacer una consulta si alguien puede ayudarme. Necesitaria geocodificar una ruta, trazada por mi, cada un km. Una persona me explico mas o menos como se geocodifica en ArcGis. Pero actualmente estoy trabajando con QGis. Supongo se hara con geocode from street layer. Pero no consigo hacerlo. Agradeceria su resp. Muchas GRACIAS!!!
Gracias por tus explicaciones, me han aportado información muy valiosa para mi trabajo.
gracias Aurelio, es una gran oportunidad para progresar en este campo