Ho bisogno di trovare un algoritmo o un metodo in grado di rilevare i latitude
longitude
punti anomali in una traiettoria durante la post-elaborazione , che può quindi essere risolto (riportato nel percorso della traiettoria in base ai suoi vicini).
Come esempio del tipo di punti anomali che vorrei rilevare e correggere, ho allegato un'immagine che dimostra:
Ho provato a usare un filtro Kalman inodore per appianare i dati nel miglior modo possibile, ma questo non sembra funzionare abbastanza efficacemente per valori anomali più estremi (dati grezzi in blu, dati levigati in rosso):
Il mio UKF potrebbe non essere calibrato correttamente (ma sono abbastanza sicuro che lo sia).
Le traiettorie sono quelle di deambulatori, corridori, ciclisti: movimento a propulsione umana che può iniziare e fermarsi, ma non cambiare drasticamente la velocità o la posizione in modo rapido o improvviso.
Una soluzione che non si basa su dati di temporizzazione (e solo su dati di posizione) sarebbe estremamente utile (poiché i dati elaborati potrebbero non contenere sempre dati di temporizzazione). Tuttavia, sono consapevole di quanto improbabile esista questo tipo di soluzione, quindi sono altrettanto felice di avere qualsiasi soluzione!
Idealmente, la soluzione rileverà il valore anomalo in modo da poterlo correggere, risultando in una traiettoria corretta:
Risorse che ho setacciato:
Smooth GPS data
- /programming/1134579/smooth-gps-dataCommon GPS and Geospatial Tracking Challenges and Solutions
- http://www.toptal.com/gis/adventures-in-gps-track-analytics-a-geospatial-primer (la soluzione sembra perdere la precisione dei dati)Quale algoritmo dovrei usare per rimuovere valori anomali nei dati di traccia?