Ich muss einen Algorithmus oder eine Methode finden, die Ausreißerpunkte latitude
longitude
in einer Trajektorie während der Nachbearbeitung erkennen kann , die dann behoben werden können (basierend auf ihren Nachbarn wieder in den Pfad der Trajektorie gebracht).
Als Beispiel für die Art von Ausreißerpunkten, die ich erkennen und beheben möchte, habe ich ein Bild angehängt, das Folgendes demonstriert:
Ich habe versucht, einen nicht parfümierten Kalman-Filter zu verwenden, um die Daten so gut wie möglich zu glätten, aber dies scheint für extremere Ausreißer nicht effektiv genug zu funktionieren (Rohdaten in Blau, geglättete Daten in Rot):
Mein UKF ist möglicherweise nicht richtig kalibriert (aber ich bin mir ziemlich sicher, dass dies der Fall ist).
Die Flugbahnen sind die von Wanderern, Läufern und Radfahrern - von Menschen angetriebene Bewegungen, die starten und stoppen können, aber ihre Geschwindigkeit oder Position nicht so schnell oder plötzlich drastisch ändern.
Eine Lösung, die nicht auf Zeitdaten (und nur auf Positionsdaten) beruht, wäre äußerst nützlich (da die verarbeiteten Daten möglicherweise nicht immer Zeitdaten enthalten). Ich bin mir jedoch bewusst, wie unwahrscheinlich es ist, dass es eine solche Lösung gibt, und bin daher genauso froh, eine Lösung zu haben!
Im Idealfall erkennt die Lösung den Ausreißer, sodass er behoben werden kann, was zu einer korrigierten Flugbahn führt:
Ressourcen, die ich durchgesehen habe:
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 (Lösung scheint die Genauigkeit der Daten zu verlieren)Welchen Algorithmus sollte ich verwenden, um Ausreißer in Trace-Daten zu entfernen?