OpenRefine: geocodificación de direcciones para SIG. (Videotutorial)

Una herramienta orginalmente creada por Google gratuita, de código libre para trabajar con bases de datos desestructurados, o messy data. Permite limpiar datos, exportar en diferentes formatos, y conectar con otros servicios web externos para trabajar con bases de datos, como los servicios online de geocodificación de direcciones. En la página oficial de OpenRefine encontraremos videotutoriales de uso y la opción de descarga.

La Cartografía digital y el uso de los SIG en el aula están cada vez más generalizados y no hay duda de sus aportaciones didácticas.

Uno de los problemas que nos encontramos a la hora de procesar o tratar la información que queremos incorporar a nuestros mapas es que es imprescindible que esté georreferenciada o geocodificada, para ello podemos consultar cualquier dirección en cualquier servidor de aplicaciones de mapas en la web, como el conocido Google maps, y localizar así, las coordinadas correspondientes al punto buscado, pero el proceso se puede complicar y hacerse difícil y costoso cuando lo que tenemos es una gran cantidad de datos.

Para solucionar este problema podemos utilizar diferentes servicios online de geocodificación de direcciones que, en general requieren tener ciertos conocimientos de programador pero podemos encontrar alguno sencillo de manejar como OpenRefine, una herramienta para trabajar con messy data, o datos no estructurados de código libre.

Veamos un ejemplo:

1. Archivo de datos: las direcciones que queremos geolocalizar las podemos tener agrupadas en una columna con el formato: calle, número, código postal, localidad, provincia, comunidad autónoma y país, tal y como se ve en la columna A; o las podemos tener separadas en diferentes columnas (B, D, F, H, I, J y K). El resto de columnas recogen el resto de información del trabajo que queremos georreferenciar. Cualquiera de las dos opciones es válida. Guardamos el archivo en formato .csv separado por comas.

2. Descargar e instalar OpenRefine en su versión para Windows, Mac o Linux: Download

3. Al ejecutar la instalación se abrirá una ventana del navegador que tengamos como predeterminado. Elegiremos “Crear proyecto” para iniciar nuestro trabajo, seleccionaremos el origen de los datos (equipo, web, portapapeles, Google Data) y cargaremos el archivo en los formatos permitidos (TSV, CSV, *SV, Excel (.xls y .xlsx), JSON, XML, RDF, XML).

4. Una vez cargado el archivo podemos comprobar que la información aparece correctamente en columnas (dirección completa, o datos por separado), a continuación “Creamos proyecto”.

5. Crear columna de dirección (en caso de haber subido los datos de dirección en columnas separadas). Para crear una nueva columna en la que aparezcan las direcciones completas y que se incorporen todas las referencias necesarias de una dirección crearemos una nueva columna a partir de la columna “DIRECCION”. Sobre la columna dirección abrimos el desplegable y elegimos “Editar columnas” – “Agregar columnas basadas en esta columna”

6. Diseñar la columna de dirección: pondremos nombre a la nueva columna “DIRECCION_COMPLETA” y añadiremos la expresión:

value + “, ” + cells[“C.P.”].value + “, ” + cells[“Localidad”].value + “, ” + cells[“Provincia”].value + “, Aragón, España”

Comprobamos que el nombre de la calle aparece en primer lugar ya, que es la columna base sobre la que se construye la nueva, y que a continuación aparecen los valores de C. P., Localidad y Provincia, los nombres de comunidad autónoma y país los podemos introducir a mano, ya que van a ser los mismos para todos los datos. Atención a la separación que hay entre los datos, una coma con un espacio “, “.

Seleccionamos “Aceptar” para crear la nueva columna.

La nueva columna “DIRECCION_COMPLETA” se creará a continuación de la columna “DIRECCION”

 

7. Georreferenciar la dirección completa: para este paso crearemos una nueva columna a partir de “DIRECCION COMPLETA” y elegiremos la opción “Agregar columna accediendo a URLs…”, ya que lo que vamos a hacer es conectar con la API de geocodificación de Google Maps para que calcule las coordenadas.

 

Pondremos nombre a la nueva columna “json” y añadiremos la siguiente expresión y aceptaremos

‘http://maps.googleapis.com/maps/api/geocode/json?’ +
‘sensor=false&’ +
‘address=’ + escape(value, ‘url’)

 

El proceso puede tardar y si el número de datos que hemos procesado es de varios cientos pasará más de una hora hasta completarse.

8. Una vez completado el proceso extraeremos la información de latitud y longitud a columnas separadas, para eso debemos crear nuevas columnas a partir de la columna “json” e introducir la siguiente fórmula, en la que se  es aislan los valores lat y lng que dependen de la propiedad location y esta a su vez de geometry.

value.parseJson().results[0].geometry.location.lat

Repetimos el proceso para la Longitud con la siguiente fórmula

value.parseJson().results[0].geometry.location.lng

 

9. Resultado final: aparecen las dos columnas con la información de latitud y longitud y ya solo queda exportar el archivo para poder utilizarlo en nuestra aplicación SIG.

 

Un Sistema de Información Geográfica –SIG o GIS– es un conjunto de software, hardware y datos georeferenciados diseñadoS para la gestión, análisis y visualización de conocimiento geográfico. El producto son los mapas digitales interactivos organizados por capas de información y su objetivo, la comprensión y resolución de problemas que impliquen gestión de información espacial: localización, rutas, tendencias, modelos, organización y gestión del territorio.

Deja un comentario

Tu dirección de correo electrónico no será publicada.