¿Existe una buena biblioteca de análisis de rastreo GPS?

31

Sigo escribiendo códigos personalizados para trabajar con pistas GPS: archivos GPX y registros NMEA desde mi teléfono, registrador GPS dedicado, etc. Siento que estoy reinventando la rueda y me pregunto si hay alguna biblioteca / herramienta estándar que pueda Se utiliza para trabajar con pistas GPS. Algunas de las cosas que me gusta hacer:

  • Calcule la distancia recorrida en la pista
  • Calcule la velocidad promedio y las velocidades instantáneas a lo largo de la pista
  • Calcular tiempo en movimiento vs. tiempo estacionario
  • Simplifique la pista, elimine segmentos estacionarios
  • Segmenta una pista en pistas separadas, una por viaje
  • suavizar el error de muestreo GPS
  • Cree un perfil de elevación buscando puntos en un DEM
  • Convierta las pistas a GPX, KML, etc. para visualización

Hay una variedad de aplicaciones que analizan las pistas de GPS. Estoy buscando una biblioteca de software o un conjunto de herramientas de secuencias de comandos para poder escribir mis propias aplicaciones. No me importan mucho los formatos de entrada; cualquier tipo de puntos lat / lon con marca de tiempo está bien. Principalmente trabajo en Python en Unix, pero casi cualquier idioma lo hará.

Las herramientas existentes que utilizo incluyen GPSBabel y GDAL / OGR para la conversión y PostGIS para trabajar con la geometría de la pista como una cadena de líneas. Pero sobre todo termino escribiendo mi propio código de Python que funciona en matrices de pares lat / lon y que se siente demasiado bajo. Además, algunas de las tareas anteriores (como eliminar un error de GPS) son bastante sutiles. ¿Hay alguna biblioteca existente por ahí que debería estar usando?

    
pregunta Nelson 15.04.2012 - 03:05

9 respuestas

7

Bueno, algo depende de su lenguaje de programación de elección, pero he desarrollado mineturer.org en Java (el sitio es esencialmente un sitio para cargar, analizar y mostrar datos GPX).

Iv'e usó JAX-B (http://jaxb.java.net/) para leer archivos GPX (según el esquema GPX) y JTS (http://www.vividsolutions.com/jts/) + Código propio para el análisis.

El código fuente de mineturer.org está disponible bajo una licencia MIT en enlace

¿Supongo que el código podría darte algunos consejos al menos?

    
respondido por el atlefren 15.04.2012 - 23:14
2

El Kit de herramientas de GPS debería ayudar. Es una biblioteca de código abierto y un conjunto de aplicaciones que tiene como objetivo liberar a los investigadores de la codificación de nivel inferior.

Proporciona la siguiente funcionalidad:

  • utilidades RINEX
  • Posicionamiento
  • análisis residual
  • modelado ionosférico
  • Simulación de seguimiento de señal T
  • transformaciones básicas
  • Recopilación y conversión de datos de observación
  • Comparación y validación de archivos.
  • Edición de datos
  • Posicionamiento autónomo y relativo.
respondido por el R.K. 15.04.2012 - 17:50
2

Escribí una etiqueta C # matemática para manejo de GPS 2d / 3d orientado a GPS: leyendo GPX y amp; TCX, filtrado y amp; Simplificación de pistas, agrupamiento de pistas / segmentos y transformación en plano 2d.

enlace

enlace

    
respondido por el tma 02.04.2017 - 23:28
1

Hay una biblioteca de código abierto que acabo de desarrollar (estable) e IU para analizar GPX, TCX y archivos de ajuste.

La biblioteca es enlace La interfaz de usuario basada en enlace angular

Demostración en vivo enlace

Lo que puede hacer es analizar un archivo GPX, TCX o Fit, generar estadísticas como ascenso, descenso, distancia,

    
respondido por el Jimmy Kane 03.06.2018 - 13:19
0

Excelente pregunta! Últimamente he estado trabajando bastante con datos GPX y la solución más sencilla que he encontrado ha sido convertir los puntos de seguimiento en un formato de db espacial y luego crear vistas (espaciales y tabulares) para resumir los datos según sea necesario. No pude obtener los resultados necesarios usando OGR para importar mis datos GPX, así que terminé usando un script Python simple para recorrer la estructura del árbol XML del GPX y cargarlo en la base de datos (SpatiaLite en mi caso). Esto definitivamente no te ayuda a evitar reinventar la rueda, sin embargo, encontré que pude obtener los resultados deseados al resumir las pistas por viaje utilizando el SQL existente y las funciones de SQL espacial.

    
respondido por el Brent Edwards 16.04.2012 - 15:33
0

Estoy desarrollando este pequeño software para mi propio uso. Es principalmente para visualización y no es compatible con todas sus necesidades, ¡pero quizás pueda ayudar!

    
respondido por el julien 17.04.2012 - 12:56
0

a riesgo de no responder a tu pregunta real :-), permíteme sugerirte una excelente aplicación de la que quizás no hayas oído hablar, que hace todo lo que enumeraste -

es mi ventanilla única para ver, editar y transferir GPX, entre otras cosas.

Y tal vez más sobre el tema, tal vez consulte el espacio de nombres de Posicionamiento de dotSpatial (.NET): enlace

Saludos.

    
respondido por el MC5 17.04.2012 - 16:36
0

Si desea alguna especificación abstracta para una API neutral para el idioma, hay GeoAPI:

"La comunidad de desarrollo en la creación de soluciones GIS está manteniendo un enorme nivel de esfuerzo. El proyecto GeoAPI tiene como objetivo reducir la duplicación y aumentar la interoperabilidad al proporcionar API neutrales y solo de interfaz derivadas de los estándares OGC / ISO."

enlace

y más específicamente el Estándar de implementación (PDF)

    
respondido por el heltonbiker 27.10.2012 - 22:37
0

Suba su pista GPX a esta URL

Se le proporcionarán la mayoría de los servicios que solicitó, específicamente:

  • Calcule la distancia recorrida en la pista
  • Calcular la velocidad media
  • Calcular tiempo en movimiento vs. tiempo estacionario (visible en el perfil de velocidad)
  • Simplifique la pista, elimine segmentos estacionarios
  • suavizar el error de muestreo GPS
  • Convierte la pista KML / KMZ, etc. para visualización
respondido por el John 14.06.2013 - 21:09

Lea otras preguntas en las etiquetas