{"action":"opened","issue":{"url":"https://api.github.com/repos/GoldenCheetah/GoldenCheetah/issues/1469","labels_url":"https://api.github.com/repos/GoldenCheetah/GoldenCheetah/issues/1469/labels{/name}","comments_url":"https://api.github.com/repos/GoldenCheetah/GoldenCheetah/issues/1469/comments","events_url":"https://api.github.com/repos/GoldenCheetah/GoldenCheetah/issues/1469/events","html_url":"https://github.com/GoldenCheetah/GoldenCheetah/issues/1469","id":97280364,"number":1469,"title":"Clean up bad GPS data","user":{"login":"areinhardt25","id":13491568,"avatar_url":"https://avatars.githubusercontent.com/u/13491568?v=3","gravatar_id":"","url":"https://api.github.com/users/areinhardt25","html_url":"https://github.com/areinhardt25","followers_url":"https://api.github.com/users/areinhardt25/followers","following_url":"https://api.github.com/users/areinhardt25/following{/other_user}","gists_url":"https://api.github.com/users/areinhardt25/gists{/gist_id}","starred_url":"https://api.github.com/users/areinhardt25/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/areinhardt25/subscriptions","organizations_url":"https://api.github.com/users/areinhardt25/orgs","repos_url":"https://api.github.com/users/areinhardt25/repos","events_url":"https://api.github.com/users/areinhardt25/events{/privacy}","received_events_url":"https://api.github.com/users/areinhardt25/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2015-07-26T03:17:18Z","updated_at":"2015-07-26T03:17:18Z","closed_at":null,"body":"I've tried the GPS points fix routine and it works in most cases, but in cases where there is a significant deviation in lat/long from the trend to that point in time, it doesn't catch the non-zero signal \"deviation\". For example, it's running along at a lat of 50 and then the next points (1 sec apart) are 25, then 12 then back to 50. It's impossible to have that rapid a change in position. Maybe look at the delta between subsequent points and ignore ones that are > than some threshold? That threshold could be based on velocity at that time if you want to get fancy, or just assume a speed of 200kph or something ridiculously high (for cycling). If the change in either lat or long alone is > than threshold, assume the point is invalid and correct it the way it does for 0 deg points. I can think of a few ways to work through that logic, you still need to catch the several 0 points in a row as invalid, but it shouldn't be too bad. I'm not sure what the Garmin website does but it doesn't have these issues. Thanks and great work by the way!"}}