2012-04-03 4 views
12

mi problema es que tengo un gran conjunto de pistas de GPS de diferentes registradores de GPS utilizados en los automóviles. Cuando no se desactiva estos dispositivos baratos registran movimientos fantasma incluso si su quietud:Estrategias para detectar y eliminar agregaciones de desorden de puntos de GPS?

enter image description here

Como se puede ver en la imagen superior, alrededor de mil puntos quedan visualizados en una especie de congestión. Ahora quiero eliminar todos estos puntos para que la pista roja que viene de la izquierda termine antes de que comience el jitter. Mi enfoque es "dibujar" dos o tres círculos alrededor de cada punto de la pista, comprobar cuántos puntos se encuentran dentro de estos círculos y comprobar la relación:

(#points/covered area) > threshold?

enter image description here

Si el umbral excede una cierta proporción (círculos de color púrpura), podría eliminar todos los puntos dentro. Entonces: método fácil, pero tiene enormes desventajas, p. el tiempo de cálculo, eliminando pistas "inocentes" que solo pasan por el círculo, no detecta valores atípicos como los puntos individuales en la parte inferior de la imagen).

Estoy buscando un mejor manera de detectar grandes montones de puntos como en la imagen. No debería eliminar falsos positivos (de tal vez 5 o 10 puntos, estas agregaciones no me importan). ¡Además, no debería simplificar el resto de la pista!

Editar: El resultado en el ejemplo dado debe tener este aspecto: enter image description here

+0

1 para la visualización, aunque creo que la pregunta podría ser mejorado por explicar sus propias consideraciones un poco más específicamente. De lo contrario, esto parece ser un poco amplio. –

+0

¿Cómo te fue con esto? Necesito hacer algo muy similar. – NickG

+0

Algoritmo de código abierto de trabajo aquí http://stackoverflow.com/questions/4480434/simplification-optimization-of-gps-track/36195571#36195571 –

Respuesta

2

Mi primer paso sería investigar las velocidades implicadas por los 'movimientos' de su coche parado y los cambios de altitud. Si cualquiera de estos cambios demasiado rápido o demasiado lento (tendrá que decidir los umbrales aquí), entonces probablemente pueda concluir que se deben a la inestabilidad del GPS.

¿Qué información, aparte de la posición en el momento, informa su dispositivo GPS?

EDITAR (tras el comentario de OP)

El problema es caracterizar parte del registro como 'coche en movimiento' y parte del registro como 'coche no se mueve, pero la ubicación GPS trepidación'. Sugerí un enfoque, Benjamin sugirió otro. Si la velocidad no discrimina con suficiente precisión, intente con la aceleración. Pruebe la tasa de cambio de rumbo. Si ninguno de estos enfoques simples funciona, creo que es hora de que desgloses tus libros de texto de estadísticas y comiences a descifrar la autocorrelación de procesos aleatorios y cosas por el estilo. En este punto me escabullí silenciosamente ...

+0

Ese es un buen punto y pensé en eso también. Un umbral para intentar podría ser de 3 kph. Además del tiempo y la posición, el registrador solo proporciona información sobre los datos calculados (velocidad, aceleración y rumbo). Es un NMEA RMC eliminado, no hay información sobre la calidad de la señal o datos satelitales. – Norbert

+0

Comprobé los archivos gpx: el jittering contiene velocidades de más de 10 kph, ¡así que este método no funciona! :( – Norbert

2

De forma similar a la respuesta de High Performance Mark, podrías buscar intersecciones de líneas que ocurran dentro de un número corto de puntos. Al conducir por una carretera, la ruta de los últimos n puntos rara vez se cruza consigo misma, pero lo hace en su situación estacionaria debido a la inestabilidad. Una sola intersección podría ser una persona que dobla hacia atrás o que da vueltas alrededor de un bloque, pero las intersecciones múltiples deberían ser más raras. El ángulo de intersección también será más nítido para el caso de inestabilidad.

+0

1:.. Me gusta esta respuesta, ya que sugiere una solución rápida, inmediatamente realizable que probablemente trabajar Bravo –

+0

Como intersecciones 'falso positivo' que se refiere a - mirando el espaciado de punto, yo diría que la resolución temporal es de el orden de un segundo. Para interseccionar repetidamente tu camino en esa escala de tiempo deberías ser un perro persiguiendo tu propia cola. –

-1

¿Cuál es el intervalo de datos de los puntos de GPS? Parece que están en segundos. Puede haber otra forma de agregar a la lógica mencionada anteriormente.

sum_of_distance (d0, d1, d2 ....dn)> = 80% de sum_of_distance (d0, dn)

Este 0 a n-ésimo valor puede iterar en trozos más pequeños y más grandes, como la distancia recorrida dentro de ese intervalo no será mucho. Por lo tanto, puede iterar puede ser de 60 puntos de datos inicialmente, y dentro de esos datos iterar en 10 números de datos en cada iteración.

Cuestiones relacionadas