Solemos llamar geocodificación al proceso de convertir direcciones postales en coordenadas. Gonzalo López, de IDE Rioja, nos detalla algunas de las dificultades del proceso y sus soluciones.

Hace años que vengo oyendo hablar de smartcities. Habitualmente suelo encontrar asociado este término a la gestión de sensores y cuadros de mando y solo en muy contadas ocasiones relacionado con el análisis espacial de información. Este hecho siempre me ha resultado chocante dada la gran cantidad de registros en poder de las administraciones locales que incluyen el dato de dirección postal.

Cierto es que colocar esta información sobre el territorio para analizar su distribución no es una tarea sencilla, ya que para hacerlo es necesario realizar un proceso denominado geocodificación cuyo objetivo es ubicar geográficamente un elemento a partir de su dirección.

La geocodificación establece una correspondencia entre el dato de dirección de un registro y un callejero de referencia que contiene la ubicación de cada portal. Mediante este emparejado de direcciones registro-callejero (address matchig) es posible asignar coordenadas geográficas a un elemento del que inicialmente solo se conoce su dirección. La geocodificación es en sí misma una operación compleja con un alto índice de fracaso, dado que no siempre se dan las condiciones que permiten establecer correctamente el emparejamiento de direcciones.

Problemas en la geocodificación

Por ello, una organización que pretenda alcanzar un grado de éxito aceptable en este tipo de operaciones deberá identificar y hacer frente a varios hándicaps importantes:

1. Datos de entrada carentes de normalización

Al intentar procesar el dato de dirección de un registro administrativo, el caso más común es encontrarse con un texto que ha sido introducido de forma libre, sin guardar ninguna vinculación con un nomenclátor de referencia, y sin atender a ninguna restricción. En muchos casos se trata de datos postales asilvestrados, faltos de estructuración y normalización, no sometidos a verificación ni en las formas sintácticas ni en su propia veracidad.

Esta situación de partida suele ser la primera dificultad a sortear en un proceso de geocodificación. Si es este el caso, es conveniente preprocesar la información con objeto de normalizar previamente el dato de dirección hasta donde sea posible.

Herramientas como aLink, que distribuye de forma libre el Instituto de Estadística y Cartografía de Andalucía, pueden facilitar esta tarea.

2. Referencias geográficas de calidad incierta

Por desgracia no existe mucha oferta de callejeros georreferenciados de calidad. Incluso cuando estos existen, salvo excepciones, suelen estar aquejados de cierta falta de rigor semántico (especialmente cuando los datos no proceden en primera instancia de una administración local). En este sentido es necesario recordar que los Ayuntamientos son las únicas administraciones públicas competentes en lo relativo a determinar el nombre oficial de una vía y la numeración de una dirección.

El efecto «juego del telegrama», en el que la información se desvirtúa al pasar de un organismo a otro, se materializa en un tratamiento poco preciso de los nomenclátores viarios y en un uso muy libre de abreviaturas, artículos y preposiciones que dificulta el emparejado de direcciones.

Otra de las cuestiones o problemas potenciales que hay que considerar a la hora de utilizar una base de datos de direcciones es su normalización, con el fin de evitar aquellas que sean poco rigurosas.

En cuanto a los elementos de direcciones, carencias aparte, quizá la enfermedad más común que suelen padecer los callejeros es su falta de actualización, un problema que afecta incluso a los callejeros más populares. En su descargo hay que hacer constar que mantener actualizada una base de datos de direcciones requiere articular procedimientos de recopilación de datos exigentes, complejos y difíciles de coordinar.

3. Geocodificación eficaz

Para representar cartográficamente un elemento, a partir de su dato de dirección postal, es necesario hacer funcionar con éxito la terna dato-referencia-geocodificación. Un proceso exitoso requiere librerías o servicios de geocodificación potentes y flexibles, capaces de ofrecer porcentajes de acierto significativos incluso a partir de datos de entrada poco estructurados o inciertos. Salvando las dificultades propias del registro a ubicar, es recomendable evitar geocodificadores excesivamente exigentes en cuanto a las pautas de escritura que debe respetar el formato de entrada. No resulta raro comprobar que en algunos casos el uso de una coma, un guión o una abreviatura en una posición no esperada del texto hacen naufragar la localización.

Por ello, además de un correcto proceso de ubicación geográfica, el requisito más importante que debe ofrecer un geocodificador es la flexibilidad. Flexibilidad para entender las distintas tipologías de vías urbanas independientemente de cómo se expresen, y para analizar y diferenciar los principales componentes de una dirección: nombre de la vía, numeración y población, lo que técnicamente se conoce como parseado.

En este sentido y para facilitar los mecanismos de parseado e interacción con los servicios de geocodificación es recomendable utilizar librerías de programación específicas como Geocoder o clientes como GeoPy.

Acciones

Como hemos visto, los requisitos necesarios para abordar con éxito un proceso de geocodificación de direcciones son muy exigentes:

  • Información de entrada validada referencialmente
  • Existencia de bases de datos de direcciones normalizadas, actualizadas y de calidad semántica y geométrica
  • Servicios de geocodificación flexibles y potentes

La suma de estos requisitos supone un reto complejo para aquellas organizaciones que quieran sacar provecho espacial de los datos que habitan en sus registros y formularios. Para asumirlo es necesario tener en cuenta que cada geocodificador utiliza como referencia un callejero determinado, siendo imprescindible que este sea coherente con los datos de direcciones que se pretenden geolocalizar. Un extremo especialmente importante en el ámbito administrativo.

El caso óptimo es que los datos a procesar, el callejero y el geocodificador utilicen las mismas referencias, pero raramente es esto posible. Hay que tener en cuenta que diseñar un software de geocodificación es un proyecto de envergadura que no está al alcance de cualquier administración. Esta es la razón por la que habitualmente se utilizan servicios de geocodificación externos, a pesar de las servidumbres que esto supone y las disparidades potenciales entre datos a procesar y callejeros de referencia.

Para dotar a las Administraciones Públicas y en general a todos los usuarios de soluciones de geocodificación, la Comisión Territorial del Consejo Superior Geográfico de España ha propuesto en su documento de líneas estratégicas «la participación activa de las diputaciones provinciales, cabildos insulares y administraciones regionales para el mantenimiento de la información geográfica de tramos de vías urbanas y direcciones». Se pretende así coordinar, siempre que sea posible, los procedimientos necesarios para mantener una base de datos de direcciones de carácter nacional con el mayor grado de calidad y actualización.

Paralelamente, el Instituto Geográfico Nacional ha desarrollado un geocodificador denominado CartoGeocoder, que se apoya en los datos nacionales de direcciones de la base de datos nacional Cartociudad. CartoGeocoder ofrece una colección de servicios de geocodificación directa e inversa y parseado de direcciones: WPS (Web Procesing Service), REST Service y una API JavaScript, implementados sobre la infraestructura de Cartociudad.

Sintonizar los datos de Cartociudad con la información de referencia de las administraciones locales es un objetivo que ya se está abordando desde distintas administraciones regionales, pero no deja de ser un proceso laborioso y complejo dado el gran número de administraciones públicas que intervienen en él.

El Callejero Digital de Andalucía Unificado (CDAU), o el proyecto #CallejeroDeLaRioja de IDE Rioja, gestionados desde el ámbito regional, son solo dos ejemplos de esta estrategia colaborativa para la producción de callejeros oficiales de calidad.

Geocoder IDE La Rioja
Geocoder IDE La Rioja

Otras alternativas de geocodificación

Fuera de los circuitos administrativos existen innumerables opciones que permiten geocodificar direcciones y referencias de lugares: ArcGIS, AzureMaps, Baidu, BANFrance, Bing, DataBC, GeocodeEarth, GeocodeFarm, Geolake, GeoNames, Google, HERE, IGNFrance, LiveAddress, MapBox, Nominatim, OpenCage, OpenMapQuest, Pelias, Photon, PickPoint, TomTom, What3Words, Yandex. Cada uno de ellos con sus propias características, condiciones de acceso y coste, si bien no todos disponen de datos de referencia para España.

Entre los citados me voy a referir a dos: Nominatim y Pelias. Nominatim por utilizar la base de datos OpenStreetMap y Pelias porque permite diseñar una solución autónoma con datos propios aprovechando toda la potencia y flexibilidad de su API.

Nominatim

Nominatim es un servicio de geocodificación de uso libre que utiliza como referencia las direcciones y determinados objetos de la base de datos OpenStreetMap. Los detalles de su funcionamiento se pueden consultar en su wiki. Su uso es sencillo de implementar pero, dada la escasez de datos de direcciones de OpenStreetMap en el ámbito rural, el éxito de las operaciones se encuentra en algunas zonas muy comprometido. Al ser OpenStreetMap una base de datos colaborativa, es posible corregir puntualmente cualquier dirección incorrecta o completar datos en aquellas zonas donde no existen.

Pelias

Pelias es una API de codificación directa, inversa y parseado, desarrollada originalmente por la compañía Mapzen. Si lo que se quiere es desarrollar una solución de geocodificación propia, la API de Pelias es una de las alternativas que conviene valorar.

A pesar de la reciente desaparición de Mapzen, el grupo principal de desarrolladores de Pelias ha seguido manteniendo vivo y abierto el proyecto (https://github.com/pelias/pelias). En este sentido hay que comentar que hace tan solo unos días dicho desarrollo ha sido acogido por la Linux Foundation. Esta API utiliza un esquema propio sobre una base de datos ElasticSearch, también de uso libre, lo que permite aprovechar los optimizados mecanismos de localización que ofrece nativamente esta base de datos.

Pelias incluye distintas estrategias de parseado que se pueden complementar (search with autocomplete) y un sofisticado uso de sinónimos, lo que le confiere mucha flexibilidad.

Otra de las ventajas de esta solución es la posibilidad de integrar en su base de datos información de referencia de distintas fuentes, bien como direcciones o como lugares (venues), pudiendo aglutinar o segmentar la búsqueda a voluntad.

En lugar de optar por poner en marcha un geocodificador propio, cabe la posibilidad de utilizar los servicios comerciales de geocodificación que ofrece el equipo desarrollador de este software, Geocode Earth. Estos servicios utilizan como principal referencia para España la base de datos OpenAddresses. Para procesos de geocodificación limitados (hasta 2.500 solicitudes al día), existen servicios gratuitos basados en la API Pelias, como el ofrecido por openrouteservice.

 

Pelias
Pelias

Conclusiones

Una gestión municipal inteligente debería ser capaz de ubicar sobre el terreno la información y los elementos que configuran su día a día. La toma de decisiones exige conocer y analizar espacialmente la distribución de la población, de los servicios y recursos, así como las distintas variables que intervienen en ella.

Es urgente y necesario que las Administraciones Locales sean conscientes de la importancia que tiene mantener actualizados sus callejeros de referencia, con la máxima calidad semántica y geográfica posible, y publicarlos conforme a criterios de transparencia y datos abiertos.

Actualmente existen los mecanismos y medios para poderlo realizar de forma extraordinariamente económica.

Gonzalo López es coordinador del #CallejeroDeLaRioja

Te puede interesar