I need to find an algorithm or method that can detect outlier latitude
longitude
points in a trajectory during post-processing, which can then be fixed (brought back into the trajectory's path based on its neighbours).
As an example of the kind of outlier points I would like to detect and fix, I've attached an image demonstrating:
I have tried using an unscented Kalman filter to smooth out the data as best as possible, but this does not seem to work effectively enough for more extreme outliers (raw data in blue, smoothed data in red):
My UKF may not be calibrated properly (but I'm fairly certain that it is).
The trajectories are those of walkers, runners, cyclists - human-powered movement that can start and stop, but not drastically change in speed or position that quickly or suddenly.
A solution that does not rely on timing data (and only on position data) would be extremely useful (as the data being processed may not always contain timing data). However, I'm aware of how unlikely this kind of solution is to exist, so I'm equally as happy to have any solution!
Ideally, the solution would detect the outlier so that it could be fixed, resulting in a corrected trajectory:
Resources I've sifted through:
Smooth GPS data
- https://stackoverflow.com/questions/1134579/smooth-gps-dataCommon GPS and Geospatial Tracking Challenges and Solutions
- http://www.toptal.com/gis/adventures-in-gps-track-analytics-a-geospatial-primer (solution seems to lose precision of data)What algorithm should I use to remove outliers in trace data?