Ver Mensaje Individual
  #2  
Antiguo 08-01-2018
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.269
Reputación: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por lago Ver Mensaje
Hola, después de leer el artículo de de Neftalí http://neftali.clubdelphi.com/cargar...r-a-los-datos/ (cojonudo por cierto) sobre cómo cargar ficheros GPX me decidí a implementarlo en mi programa.
Gracias, me alegro de que te haya servido.

Cita:
Empezado por lago Ver Mensaje
Creo un archivo de transformación utilizando XML Mapper partiendo de un fichero GPX. Sigo al dedillo el artículo y todo funciona correctamente. Cuando creo que todo va bien, arrango mi GPS Logger aprovechando un viaje y genero 8 horas de waypoints que exporto a GPX al llegar a casa.
Cuando arranco el programa me doy cuenta de que el archivo de transformación esta mal, ya que el GPS logger añade rutas cuando pierde conexión con los satelites, es decir, en el mismo GPX hay varios registros de ruta <trk> que a su vez tienen sus <trkseg> con los waypoints de la ruta.
La idea al final es la misma que se explica en el artículo, pero generando algún nivel más.
Es verdad que el ejemplo de ese artículo trabaja con ficheros de track que contienen puntos (2 nivelesa), pero yo mismo, al igual que tú, a posteriori me he encontrado con ficheros cuya estructura es más compleja.

Fichero del artículo:
TRACK
_________=> N PUNTOS


Por ejemplo, en el ejemplo que subo al final, la estructura es más parecida à la que tú te encuentras. Un fichero de track que tienen N Waypoints y N Segmentos, y cada segmento tienen n puntos.
Fichero adjunto:
TRACK (< gpx >)
_________=> N WAYPOINTS (< wpt >)
_________=> N SEGMENTOS (< trk >)
__________________=> N PUNTOS (< trkpt >)

En ese caso el fichero XTR se genera de la misma forma, pero es un poco más complejo:


Y la estructiura en formato DATASET sería esta:


Te adjunto un ejemplo Delphi con los DBGrids para leer eso, pero es lo mismo que en el ejemplo inicial, simplemente que añadiendo un nivel más:

(dentro está el fichero de transformación y una ruta de ejemplo)

Espero que te aclare algo.

Un saludo.
Archivos Adjuntos
Tipo de Archivo: zip Leer ficheros GPX.zip (54,7 KB, 7 visitas)
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita