¿Calcular estadísticamente una carretera real a partir de un conjunto de pistas GPS?

18

Participo en un club de ciclismo de larga distancia, y comenzamos a recopilar datos de GPS de forma rutinaria de nuestros ciclistas.

Mi interés es calcular "la trayectoria real" para eventos futuros en función de los datos GPS acumulados en las mismas carreteras. Básicamente, esto significaría pasar algunas pistas preseleccionadas a un algoritmo, y el algoritmo generaría puntos a una frecuencia de muestreo apropiada (una distancia apropiada entre sí dependiendo de las curvas de la carretera). Descartaré las marcas de tiempo, teniendo en cuenta solo la información de seguimiento espacial.

¿Qué algoritmo / métodos estadísticos podría usar? No uso ningún paquete SIG y planeo implementar esto en Python.

A continuación, algunos conjuntos de trayectorias de muestra:

ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí

heltonbiker
fuente
Proyecto interesante: bastante similar a un algoritmo de inspección que escribí hace años. Como soy flojo, solo puedo ofrecer algunas pistas. Los factores más importantes son la dirección de viaje, la calidad de la señal y su velocidad (es decir, si solo está parado, no es una carretera). Lo mejor es eliminar primero los puntos que están demasiado lejos de esa manera. Aparte de eso, aplicaría un algoritmo de suavizado (prueba DP) y luego promediaría las líneas.
nagytech
DP = programación dinámica ¿verdad? Wikipedia me dio una larga tarea de lectura sobre esto por esta noche ... ¡Gracias por ahora!
heltonbiker
Una pregunta interesante y relacionada es esta: gis.stackexchange.com/questions/42224/…
heltonbiker
Algo que realmente, REALMENTE vale la pena verificar es su configuración de GPS: algunas unidades de GPS "ajustan" su posición a la carretera más cercana en la base de datos de GPS, incluso si la carretera real está a más de 10 m al lado.
Simbamangu
@Simbamangu eso sería algo muy bueno de hecho. Creo que el software que estoy usando hoy en un teléfono Android no tiene eso. Pero de todos modos, la mayoría de mis canciones fueron recopiladas por otras personas en los últimos meses. ¡Gracias por el consejo!
heltonbiker

Respuestas:

11

Chris Brunsdon dio un documento sobre este tema en la conferencia de GeoComputación 2008 - ver http://www.geocomputation.org/2007/1B-Algorithms_and_Architecture1/1B2.pdf

En el documento, analiza cómo aplicar el Análisis de curvas principales (Hastie y Stuetzle 1989) y hace algunas sugerencias sobre cómo aumentar la solidez del método. La búsqueda adicional lleva a una discusión de una herramienta OSM llamada osm-makeroads que bien puede resolver su problema (o al menos comenzar).

Ian Turton
fuente
¡Voy a echar un vistazo y dar algunos comentarios pronto! Gracias por ahora
heltonbiker
44
+1 Buena referencia. Sin embargo, necesita trabajo, ya que pasa por alto un problema fundamental con los rastreos GPS: los errores no son independientes de un punto a otro. En cambio, el error de GPS cometido en un punto tenderá a ser muy similar al error cometido en el siguiente punto en la misma traza. Puedes ver esto en las ilustraciones de Brunsdon: los puntos problemáticos (periféricos) se encuentran claramente en una o dos huellas excepcionales; No son esporádicos ni aleatorios. Por lo tanto, existe un gran potencial de mejora modelando esta autocorrelación y ajustándola en el algoritmo.
whuber
2
@whuber estuvo de acuerdo. Algo que la mayoría de los algoritmos no tienen en cuenta (Curvas principales es uno de ellos, como ya descubrí), es que los conjuntos de rastreo GPS no son nubes de puntos, sino nubes de "cadena lineal". De hecho, son vectores conectados o algo así. Teniendo en cuenta sólo los puntos genera un sesgo hacia las pistas con mayor frecuencia de muestreo, en lugar de las regiones donde las líneas de pistas distintas son más densas ...
heltonbiker
2
Esta conversación continúa en un hilo relacionado en stats.stackexchange.com/questions/69329 .
whuber
@whuber En esta respuesta , he escrito una idea, que se me ocurrió, para hacer esto con la ayuda de un mapa de calor. Agradezco cualquier sugerencia.
Stefan