La geocodificación (o geocoding) es el proceso de transformar una descripción de una ubicación (por ejemplo, un par de coordenadas, una dirección de una calle o un nombre de un lugar) en un punto real de la superficie de la Tierra. Se puede geocodificar introduciendo una descripción de una ubicación a la vez o proporcionando muchas de ellas al mismo tiempo en una tabla. Las ubicaciones que se obtienen se transforman en entidades geográficas con atributos, que se pueden utilizar para la representación cartográfica o para análisis espacial.
Desde un simple análisis de datos, la administración de clientes y de negocios, hasta técnicas de distribución, existe un amplio rango de aplicaciones de la geocodificación. Con las direcciones geocodificadas, se puede visualizar las ubicaciones de las direcciones geográficamente y reconocer patrones dentro de la información.
¿Cómo realizar la geocodificación con FME?
Como ejemplo, se dispone de la información sobre las escuelas de Vancouver en una Excel. Este archivo contiene 3 columnas de atributos: “Nombre de la escuela”, “Categoría de la escuela” y “Dirección”. Así pues se utilizará la columna “Dirección” para geocodificar las escuelas y obtener sus coordenadas en el sistema de coordenadas LL84.
Se utilizará el transformador “Geocoder”. Este transformador utiliza varios servicios web externos para convertir direcciones a coordenadas de latitud / longitud, o para encontrar las direcciones más cercanas a coordenadas de latitud / longitud. Algunos servicios tienen información adicional disponible, como zona horaria o elevación. Así pues se debe añadir al canvas y conectarlo a los datos iniciales.
Dentro de los parámetros del transformador se debe especificar el servicio de geocodificación. En la sección Service, esto se puede configurara desde una lista desplegable. Como se puede ver se ha escogido el servicio de OpenStreetMap, pero existen muchos más como Google, Bing o ArcGis entre otros, pero puede que tengan algún tipo de restricciones. Por ejemplo, el servicio puede limitar el número de consultas que se realicen. Además, cada servicio puede producir un resultado ligeramente diferente.
En la sección Geocoding Parameters, el modo tiene que estar establecido en Forward y en Street Adress se debe elegir de la lista de atributos el que contenga la dirección de las escuelas, que en el ejemplo que estamos siguiendo es el atributo ADDRESS.

Al conectar el trasnformador se puede ver que se proporcionan muchos nuevos atributos proporcionados por el servicio que comienzan con un guion bajo (_address_json, por ejemplo). Se recomienda eliminar aquellos atributos que no interesen con un transformador AttributeKeeper o AttributeManager por ejemplo, para que disponer solamente de la información necesaria, que en el ejemplo que se quiere resolver en esta entrada serían _latitude, _longitude.
Así ya se puede ejecutar el proceso de FME. En caso de que se produzca algún error debido a que no puede encontrar alguna dirección (porque está mal escrita, por ejemplo), FME acabará el proceso. Para que descarte la dirección dañada será necesario cambiar en el Navigator en Parámetro Rejected Feature Handling de Terminate Translation a Continue Translation.

Si se agrega un Inspector a la salida se puede ver el resultad final en FME Data Inspector:

Si quieres aprender más sobre cómo manejar en profundidad esta herramienta, no te pierdas nuestro Curso de FME que dará comienzo el día 24 de septiembre.
Autor: Carles Martí
Fuentes:
¿Quieres comentarnos algo? Adelante!