¿Cómo analizar tracks GPS con CARTO? En mi primer mes en CARTO una de mis tareas de onboarding ha sido hacer algunos mapas. Lo cierto es que acabo de mirar mi cuenta de CARTO y llevo 36 mapas… (en realidad sólo tenía que hacer tres).

En fin que hoy voy a explicar cómo analizar tracks GPS con CARTO o el que ha sido “mi primer mapa” durante el onboarding en CARTO.

Si quieres ir directamente al dashboard lo tienes aquí

¿Cómo recoger datos de GPS?

Lo primero es lo primero y en esto caso son los datos. Normalmente suelo usar Moves en mi Moto G para guardar tracks GPS aunque en esta ocasión, utilicé otra aplicación, para el viaje que hicimos en Pascua a Mont-ral.

tracks GPS

Lo que quería era un bonito GPX y normalmente un GPX está compuesto por 3 archivos:

  1. Uno con el track GPS (una línea o multilínea)
  2. Otro con una sucesión de puntos
  3. Otro con los waypoints que hayas ido guardado a mano

Visualizando tracks GPS con CARTO

Importar un GPX en CARTO y crear un mapa es totalmente intuitivo y no es lo que he venido a contar hoy.

Una de las cosas que quería hacer era aplicar una rampa de color al track GPS, tal que así:

tracks GPS carto

Para ello, con CARTO hay dos opciones (que se me ocurran):

  1. Segmentar el track GPS en pequeñas líneas de una distancia determinada (por ejemplo 100 metros)
  2. Unir los puntos del track GPS dos a dos para generar líneas

Una vez tenemos el track GPS preparado, aplicar la rampa de color es una línea con TurboCARTO y algunas más de CartoCSS.

tracks GPS CARTOCSS

Pintando la carretera con CartoCSS

Por añadir un poco más de simbología, me apetecía jugar con CartoCSS y la línea de la carretera (no olvidemos que es un viaje en coche). Lo que quería era pintar las rayas de la carretera:

tracks GPS carretera

Son 20 líneas de CartoCSS:

tracks GPS cartocss

Por último, la ubicación temporal del coche. Teniendo la capa de puntos del track GPS y con Torque, son 3 clics:

tracks gps torque

Analizando tracks GPS con CARTO

Tras segmentar el track GPS, para el análisis hice dos cosas fundamentalmente:

  1. Aplicar algunas consultas en PostGIS para obtener velocidad y tiempo de cada tramo del track GPS
  2. Añadir widgets para generar un dashboard

Publicando carto-tracks

Una vez generado el dashboard y añadida la leyenda, sólo me quedaba publicarlo. Publicar un mapa hecho con CARTO son 3 clics y el resultado se puede ver aquí

carto-tracks y CARTO.js

Por no dejarlo simplemente ahí, lo último que hice fue jugar un poco con CARTO.js y las APIs de CARTO. Lo que quería era mostrar la altitud en cada tramo del track GPS de manera interactiva. Para ello me preparé este dataset

El resultado se puede ver en este blocks

Y para acabar, el código está en Github y publicado en un gh-pages (simplemente porque me apetecía)

Más y mejor tracks GPS en CARTO

Mi objetivo era aprender y tocar el mayor número de características de CARTO por el camino:

  • Algo de análisis con PostGIS
  • CartoCSS y TurboCARTO
  • La interfaz de BUILDER: cargar capas, mostrar leyendas, añadir widgets
  • CARTO.js y las APIs de CARTO
  • Publicar mapas

Además, todo esto se podría automatizar, creando un pequeño servicio web para importar los archivos GPX (que son estándar), hacer todo el procesado y montar la visualización.

Como curiosidad, un parser de GPX para gvSIG fue el primer trabajo que hice en el mundo de la geomática y me hacía ilusión que mi primer contacto con mapas en CARTO estuviera de alguna manera relacionado 🙂