Feb 022014
 

El formato GPX, sin ser un estándar reconocido, ha sido un estándar de facto para la recogida y transmisión de datos con dispositivos GPS. El formato GPX fue desarrollado por Topographix.

GPX es una particularización del lenguaje XML adaptada para recoger información procedente de GPS. Un documento GPX es una colección de WayPoints, Routes y Tracks. Un documento GPX concreto no tiene por qué tener todos los elementos, puede tratarse simplemente de un documento con uno o varios Tracks, o quizás solo un Route, o unos cuantos WayPoints.

Tanto los Routes como los Tracks son colecciones de WayPoints, por lo que vamos a explicar primero qué es un WayPoint. Un WayPoint almacena los datos de una posición tomada con un dispositivo GPS: la Longitud y la Latitud. El WayPoint puede guardar también la Altitud del punto, la fecha-hora de la medida y otra serie de datos relacionados con la toma de posición por parte del GPS (precisión, fix,…). El formato prevé la posibilidad de dotar al WayPoint de un nombre y una descripción. El esquema de un WayPoint, según la especificación de versión 1.1, es el siguiente:

Una característica interesante del esquema del WayPoint es que admite lo que denomina extensiones. Cada WayPoint puede llevar información adicional en forma de un elemento extensions a definir por el productor de la información. De esta manera podemos incorporar a cada WayPoint la información procedente de determinados sensores, por ejemplo, o cualquier otra que nos interese almacenar junto con las coordenadas del punto (Todos los elementos GPX admiten la posibilidad de tener extensions, también los Routes y los Tracks o el propio documento GPX). Un ejemplo de WayPoint, que incorpora información adicional en su elemento extensions, podría ser el siguiente:

Los otros elementos que puede contener un documento GPX es lo que denomina Routes y Tracks. En ambos casos se trata de colecciones ordenadas de WayPoints. La Routes están pensadas para describir un camino a recorrer. Son una colección ordenada de puntos que nos permitan describir una ruta a seguir. Un ejemplo podría ser marcar el camino a seguir para ir de Madrid a Santander, fijando los WayPoint intermedios de la Route en Tordesillas, Valladolid, Palencia y Reinosa. Otro ejemplo podría ser describir una línea de autobús, marcando los puntos intermedios en cada una de las paradas.

Por su parte, los Tracks describen un camino recorrido. Se trata de los puntos que va grabando el GPS cuando lo llevamos activado mientras recorremos el camino. Los puntos de un Track suelen llevar el dato de la fecha-hora de la medida. En realidad los Tracks no son una colección de WayPoints, sino una colección de TrackSegments, cada uno de los cuales es una colección de WayPoints. Cada Track estará compuesto por uno o más segmentos de track que son los que contendrán los puntos. Un Track tendría por tanto una geometría equivalente a la de una MultiLineString en la que cada segmento sería una LineString.

Un detalle a tener en cuenta en el esquema formal de los WayPoints es que cuando aparecen como WayPoints aislados en un documento GPX llevan la etiqueta <wpt>, mientras que cuando aparecen formando parte de una Route o de un Track llevan las etiquetas <rtept> y <trkpt> respectivamente.

Podéis encontrar la definición formal del esquema de todos los elementos que componen un documento GPX en el siguiente enlace: http://www.topografix.com/GPX/1/1/



Santiago Higuera (1 de febrero de 2014)