Parsear Google Location History .KML con Pentaho Data Integration

En el siguiente ejemplo vamos a utilizar Pentaho Data Integration para parsear un fichero KML que contiene todas las coordenadas (latitud / longitud) de mi ubicación que ha guardado Google durante el último año y guardarlo en una base de datos MySQL.

A través de la siguiente web podeis ver el historial de ubicaciones en un mapa de Google Maps que ha guardado Google si le habeis dado los concernientes permisos:

https://maps.google.es/locationhistory/b/0

Seguro que más de uno, no lo sabía.

 

LH1

Para ello basándonos en el formato del fichero .KML que nos proporciona Google he definido los siguientes pasos:

  1.  XML Input Stream (StAX) para seleccionar el fichero .KML como origen de datos.
  2. Quitamos los valores nulos y debido a que Google no nos provee de un identificador único para cada par de valores (Fecha / Coordenadas) trataremos ambos campos por separado para despues unirlos a través de un Merge Join

LH5

   3.  Como podemos observar en la captura, el id para el elemento when es siempre una unidad menor al id del elemento coord. Entonces, sumáremos con el objeto Calculator una unidad a este ID a través de una constante previamente definida.

   4. Ordenamos ambos flujos de datos y los hacemos converger con un objeto Merge Join 

   5. Por último, utilizaremos el objeto Split Fields para separar la latitud y la longitud en distintos campos

LH2

   6. Utilizamos el objeto Table output para almacenar el .KML con el formato deseado en una tabla de nuestra base    de datos MySQL.

Por último os adjunto el fichero .ktr por si os sirviera de ayuda.  LocationHistory

 Saludos

 

 

Deja un comentario

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