• Saltar a la navegación principal
  • Saltar al contenido principal
  • Saltar al pie de página
logo web Geoinnova

Geoinnova

Consultoría y Formación en SIG y Medio Ambiente

  • Geoinnova
    • Asociación
    • Equipo
    • Visor de proyectos Geoinnova
    • Geolibrería
    • Alianzas Estratégicas
  • Consultoría
    • Consultoría y Desarrollo en Sistemas de Información Geográfica
    • Consultora Ambiental
    • Turismo sostenible
    • Planificación urbana y ordenación del territorio
    • Planes Urbanos de Actuación Municipal – PUAM
    • Geomarketing
  • Servicios
    • Planero Web
    • QElectricGIS
    • Plugins
  • Formación
    • Todos los cursos
    • Webinars
    • Máster y Diplomas
    • Cursos de ArcGIS
    • Cursos de QGIS
    • Cursos de Teledetección
    • Cursos de Medioambiente
  • Medio Ambiente
    • Consultora Ambiental
    • Estudios ambientales para proyectos de energías renovables
    • Estudios de Impacto e Integración Paisajística
    • Evaluación Ambiental Estratégica de planes y programas
    • Estudio de Impacto Ambiental para proyectos
    • Cálculo huella de carbono
    • Educación Ambiental
    • Cursos de Medioambiente
  • Coworking
  • Blog
    • SIG
    • Medio Ambiente
    • Teledetección
    • Programación y Desarrollo SIG
    • Corporativo
  • Contacto
    • Soporte de Clientes – Tickets
Programación y Desarrollo SIG SIG

Geocodificación: Definición y principales servicios web de geocoding

15/10/2021 2 comentarios

La geocodificación o geocoding en inglés es el proceso de convertir direcciones postales, nombres geográficos o puntos de interés en coordenadas geográficas o lo que es lo mismo, en un punto real de la superficie de la Tierra.

Este tipo de trabajos es ampliamente demandado por empresas que requieren conocer la localización de sus activos.  Es una parte fundamental en el ámbito del geomarketing y se consume, junto a servicios de cálculo de rutas (routing), en labores análisis de redes de distribución, logística o control de flotas.

Contenidos ocultar
¿Qué tipos de geocodificación o geocoding existen?
Principales servicios web de geocoding
Google Geocoding API
HERE Geocoder REST API
Nominatim
GeoNames
Mapbox Geocoding API
ArcGIS World Geocoding Service
Bing Maps Locations API
OpenCage
Carto
¿Cómo se usan los servicios de geolocalización?

¿Qué tipos de geocodificación o geocoding existen?

Aunque la consulta más habitual es la de obtener las coordenadas a partir de una dirección postal, lo que se conoce como geocodificación directa, existen otros tipos de servicios basados en la localización que son interesantes de conocer.

  • Geocodificación inversa. En este caso se obtendrá la dirección postal, lugar o área geográfica a partir de coordenadas.
  • Geo Búsqueda. Se suele incluir la presentación de resultados coincidentes a partir de una cadena de texto.
  • Geolocalización del navegador o por IP. Permite segmentar los resultados ofrecidos en páginas web o identificar el idioma o el país asignado a nuestra IP.
Ejemplo de geobúsquedas con presentación de candidatos en Google Maps
Ejemplo de geobúsquedas con presentación de candidatos en Google Maps

Los proyectos que necesitan consumir servicios de geolocalización requieren un conjunto de trabajos que pasan por:

  • La elección de los servicios que mejor se ajusten a las necesidades  del encargado (marco geográfico, tipo de precisión, coste…)
  • El tratamiento previo de los datos de origen (estructuración de los textos de búsqueda, sustitución de abreviaturas…)
  • El desarrollo de rutinas con programación.
  • La elección de formatos de salida (tablas, mapas SIG, visores web…)
  • La presentación de informes de resultados (coincidencias, calidad de los datos…)

Desde el Área de Consultoría SIG y Desarrollo de Geoinnova podemos ayudar a empresas y particulares a llevar a cabo trabajos que requieran este tipo de servicios .

Principales servicios web de geocoding

En el siguiente apartado realizaremos una recopilación de servicios webs de geocodificación o geocoding a escala mundial. Hay que conocer también que existen servicios para zonas o países concretas como Yandex en Rusia, Geolytica para Estados Unidas o Baidu en China.

La mayoría de estos servicios son de pago, aunque muchos permiten usar cuentas gratuitas, conocidas como freemium, que tiene  limitaciones con relación al número de peticiones por día o mes, tiempo (petición por segundo), restricciones de IP y CORS o soporte.

Como recurso abierto está Nominatim basado en los datos de OpenStreetMap. Servicios como OpenCage usan también las fuentes de OpenStreetMap pero las mejoran con otros recursos.

Otra consideración es la existencia de desarrollos de empresas geoespaciales que se basan en servicios de codificación. Es el caso por ejemplo de Carto o ArcGIS World Geocoding Service que usan entre sus recursos la localización ofrecidos por Here.

Google Geocoding API

Sin duda los servicios de Google Maps, entre los que se incluye el geocoding, son de los más demandados a escala mundial. La potente infraestructura de Google permite un servicio de localización con gran precisión.

Enlace: https://developers.google.com/maps/documentation/geocoding/overview

El uso del servicio pasa por el alta en Google Cloud Console para crear una cuenta de facturación. Para comenzar Google,  nos ofrece un crédito mensual recurrente de 200 USD para usarlos en Maps Platform.

Petición y respuesta en Google Maps Platform
Petición y respuesta en Google Maps Platform

HERE Geocoder REST API

Según se indica en su página web, Here cuenta con más de 270 millones de localizaciones en 70 países.

Enlace: https://developer.here.com/documentation/geocoding-search-api/dev_guide/index.html

Hay que destacar que los resultados obtenidos con la API REST de Here devuelven, junto a los datos relativos a la localización, información sobre el nivel de precisión de los resultados. En ciertos procesos es fundamental conocer el tipo de resultado y si la localización final se ha realizado a nivel de número postal, calle, ciudad o país.

Valores de calidad de la geocodificación en Here
Valores de calidad de la geocodificación en Here

Nominatim

Nominatim es una herramienta de búsqueda por nombre y dirección sobre los datos del proyecto colaborativo OpenStreetMap. Su fuerte es el carácter abierto y por tanto gratuito de todos los servicios ofrecidos.

Enlace: https://nominatim.org/release-docs/develop/api/Overview/

Además de obtener las coordenadas, los resultados presentan toda la información almacenada en la base de datos de OpenStreetMap como códigos postales, tipo de calle según el modelo OSM (primaria, segundaria…) y  relación con otras entidades geográficas y límites administrativos (barrio, ciudad, municipio o país).

Datos de OSM con Nominatim
Datos de OSM con Nominatim

GeoNames

GeoNames se diferencia de los servicios descritos porque se centra en la localización de información basada en nombres geográficos. Los nombres están basados en categorías y subcategorías. Como novedad se incluye datos de población.

Enlace: http://www.geonames.org/export/web-services.html

La base de datos GeoNames contiene alrededor de 9,6 millones de entradas de Wikipedia geolocalizadas en 279 idiomas.

Resultados de GeoNames para la búsqueda del nombre 'Navarra'
Resultados de GeoNames para la búsqueda del nombre ‘Navarra’

Mapbox Geocoding API

Los diferentes endpoints de la API cubre las necesidades de geocodificación y se pueden integrar en los servicios de mapas teselados de Mapbox ampliamente usados en aplicaciones web de mapas.

Enlace: https://docs.mapbox.com/api/search/geocoding/

El servicio cuenta con desarrollos de integración (wrappers) que ayudan al uso de los servicios de Mapbox con lenguajes como Python, Java o Ruby.

ArcGIS World Geocoding Service

Este servicio de ESRI permite buscar direcciones o lugares del mundo, geocodificar una tabla de direcciones o realizar la geocodificación inversa de una ubicación sin que sea necesario adquirir el dataset de referencia para crear los localizadores.

Enlace: https://developers.arcgis.com/rest/geocode/api-reference/overview-world-geocoding-service.htm

Existe servicios gratuitos y otros de pago en los que se requiere tener una cuenta en ArcGIS online.

En la web de la API REST de ArcGIS podemos encontrar una página interesante donde se comenta se presenta una clasificación por países según el nivel de cobertura, de mayor a menor, de la geocodificación que contiene también los códigos de países e idiomas soportados, así como la fuente de datos, principalmente Here y GeoNames.

Mapa de cobertura de geocodificación por niveles de  ArcGIS World Geocoding Service
Mapa de cobertura de geocodificación por niveles de  ArcGIS World Geocoding Service

Bing Maps Locations API

Bing Maps cuenta con un conjunto de servicios REST entre los que se encuentra la localización de por dirección o por puntos. Se requiere tener una API Key para usarlos.

Enlace: https://docs.microsoft.com/en-us/bingmaps/rest-services/locations/

La geocodificación se completa con acceso a servicios de cálculo de rutas, elevación o tráfico.

Bing Maps Locations API
Bing Maps Locations API

OpenCage

Servicio geocoder basado en información de Nominatim enriquecida y mejorada otros recursos. En su página web hay gran cantidad de recursos y ejemplos de integración, así como una Live Demo para realizar pruebas.

Enlace: https://opencagedata.com/

Demo para pruebas con OpenGeo

Carto

Los servicios de codificación geográfica de Carto usan la localizacón ofrecida por TomTom, Mapbox y HERE. Los usuarios pueden convertir grandes volúmenes de datos de direcciones en valores de latitud y longitud, utilizando Builder, Python o las APIs de Carto.

Enlace: https://carto.com/geocoding/

Su cuenta freemium permite realizar un número limitado de peticiones.

¿Cómo se usan los servicios de geolocalización?

Es muy común encontrar la implementación de estos recursos dentro de una aplicación web. Se suele usar un formulario para añadir la dirección o las coordenadas y posteriormente ver la localización en un mapa y acceder a los datos asociados. Un ejemplo por todos conocidos es Google Maps.

Pero es posible también realizar nuestra propia aplicación web con geocodificación  usando librerías como OpenLayers, Leaflet y apoyándonos en framework JavaScript.

Integración de búsquedas en geojson.io
Integración de búsquedas en geojson.io

Sin ningún apoyo gráfico, la manera más «hard» de obtener una dirección o coordenadas es usando la terminal de comandos mediante los comandos curl, http o WGET.

En el siguiente ejemplo, lanzamos desde consola una petición GET a Nominatim almacenando los resultados en un archivo JSON.

$ WGET 'https://nominatim.openstreetmap.org/reverse?format=jsonv2&lat=-34.44076&lon=-58.70521' -O results.json

Todo esto puede ser más amigable si nos apoyamos clientes REST como PostMan, Hoppscotch o Insommia que aportan una interfaz  para la construcción de peticiones o la presentación de las respuestas.

Hoppscotch
Hoppscotch

Pero la forma más común de obtener direcciones usando estos servicios es escribir rutinas de código en algún lenguaje de programación como Python, R, Java o Ruby usando librerías que manejen peticiones y respuestas HTTP.

El flujo más común dentro de script de geocodificación es la la lectura de documento tipo hoja de cálculo o CSV, la consulta de la información usando un servicio de codificación y generación de una salida (ej. hoja de cálculo) con los resultados.

Sencillo ejemplo en Python usando el servicio Nominatim de geocodificación inversa.

Apúntate a nuestra newsletter semanal

"*" señala los campos obligatorios

Consentimiento*
Este campo es un campo de validación y debe quedar sin cambios.

Información legal

Cumplimos el RGPD (Reglamenteo General de Protección de Datos) y esta en la primera información que debes saber. Responsable: Asociación Geoinnova. Finalidad: Apuntarte en nuestra base de datos para poder enviarte nuestra newsletter y cualquier otra información de interes. Legitimidad: Nos das tu consentimiento para comunicarnos contigo. Derechos: Tienes derecho a acceder, rectificar, limitar y suprimir tus datos. Para una información más ampliada entra a nuestra política de privacidad.

Artículos relacionados

Terre3 - Caminado a un lugar entre el GIS y el BIM
Terre3 – Caminando a un lugar entre el GIS y el BIM
28/03/2023
OSGeo4W Shell en Windows Terminal
Integrar la consola de OSGeo4W Shell en Windows Terminal para simplificar tu flujo de trabajo
20/03/2023
superficie de sellado de suelo a partir de datos geográficos abiertos
Cómo obtener la superficie de sellado de suelo a partir de datos geográficos abiertos
07/03/2023

Patricio Soriano

Geógrafo “Full-stack” y desarrollador web especializado en Tecnologías de Información Geográfica. Vinculado con la labor de consultoría, ha realizado diversos proyectos sobre análisis urbanístico, planes de vivienda y gestión patrimonial, así como la puesta en marcha de Sistemas de Información Geográfica corporativos para la administración pública. Dentro de los trabajos como desarrollador se encuentran el diseño de varias aplicaciones webmapping y desarrollos para QGIS (Spanish Inspire Catastral Downloader, CDAU Downloader o qgis2mapea). Autor del blog www.sigdeletras.com y organizador de Geoinquietos Córdoba. Actualmente se encuentra incorporado al equipo de desarrollo de Geoinnova en aplicaciones Open Source. Como docente lleva impartiendo cursos profesionales de SIG desde 2007 para diferentes entidades y en diferentes modalidades (tanto presencial como online). Especializándose en los últimos años en cursos de QGIS a distintos niveles.

Interacciones con los lectores

Comentarios

  1. Hugo dice

    18/10/2021 a las 20:00

    Hola, un muy interesante artículo, sólo cabe destacar que para España, el mejor geocodificador existente es el que ofrece la Dirección General de Catastro, es muy engorrosa de implementar, pero sin duda es la más precisa.

    Responder
    • Patricio Soriano dice

      19/10/2021 a las 09:14

      Hola Hugo. Gracias por el comentario.

      Como bien dices, creo que sería interesante hacer una recopilación de geocoders pero esta vez públicos. Comentas Catastro, al que yo sumaría el servicio de CartoCiudad. En este también encontramos dificultades en al implementación, pero merece la pena tenerlos muy en cuenta que que son «oficiales»

      Responder

¿Quieres comentarnos algo? Adelante! Cancelar la respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Footer

Menú Legal

  • Aviso Legal
  • Política de privacidad
  • Política de cookies
  • Términos y condiciones

Otras páginas de interes

  • Promociones y descuentos en formación
  • Formación bonificada FUNDAE

Contacto

Calle Luis Morondo Urra nº 8 Bajo A
31006 Pamplona (Navarra)
info@geoinnova.org
+34 948 117 137

Horario de atención

Lunes a Viernes - 09:00 a 14:00 y de 16:00 a 19:00.
Fines de semana y Festivos - Exclusivamente por mail.
Horario de Verano (01 de julio al 30 de agosto): De lunes a viernes de 8 a 15h.

Síguenos en Redes Sociales

Apúntate a nuestra newsletter

"*" señala los campos obligatorios

Consentimiento*
Este campo es un campo de validación y debe quedar sin cambios.

Entidad adherida a Confianza Online Certificado de inscripción en el Registro de huella de carbono, compensación y proyectos de absorción Logo Plazox

© 2023 · Desarrollada por Geoinnova en colaboración con OikosMSP

Gestionar el Consentimiento de las Cookies
Utilizamos tecnologías como las cookies para almacenar y/o acceder a la información del dispositivo. Lo hacemos para mejorar la experiencia de navegación y para mostrar anuncios personalizados. El consentimiento a estas tecnologías nos permitirá procesar datos como el comportamiento de navegación o las identificaciones únicas en este sitio. No consentir o retirar el consentimiento, puede afectar negativamente a ciertas características y funciones.
Funcional Siempre activo
El almacenamiento o acceso técnico es estrictamente necesario para el propósito legítimo de permitir el uso de un servicio específico explícitamente solicitado por el abonado o usuario, o con el único propósito de llevar a cabo la transmisión de una comunicación a través de una red de comunicaciones electrónicas.
Preferencias
El almacenamiento o acceso técnico es necesario para la finalidad legítima de almacenar preferencias no solicitadas por el abonado o usuario.
Estadísticas
El almacenamiento o acceso técnico que es utilizado exclusivamente con fines estadísticos. El almacenamiento o acceso técnico que es utilizado exclusivamente con fines estadísticos anónimos. Sin una requerimiento, el cumplimiento voluntario por parte de su proveedor de servicios de Internet, o los registros adicionales de un tercero, la información almacenada o recuperada sólo para este propósito no se puede utilizar para identificarlo.
Marketing
El almacenamiento o acceso técnico es necesario para crear perfiles de usuario para enviar publicidad, o para rastrear al usuario en un sitio web o en varios sitios web con fines de marketing similares.
Administrar opciones Gestionar los servicios Gestionar proveedores Leer más sobre estos propósitos
Preferencias
{title} {title} {title}