I have been having some problems with "bad trackpoints" in the track logs I've been creating, especially in bad signal conditions. In some cases these obviously jump miles away from the true location; other times they are just as incorrect but resemble legitimate movement.

I've noticed that the worst of these errors tend to be limited to a specific unit at a specific time: other units will not show the same errors. For example:

Below is a plot of three simultaneously recorded tracklogs from three different consumer GPS units (each unit has a different color, either red, green, or blue): plot of simultaneous track logs from 3 separate GPS units

Here is the same plot with some the bad trackpoints highlighted. You can see the red unit recorded a couple really bad points at one time, and at another time the blue unit recorded a whole series that resembles travel that did not actually occur. plot with some bad points labeled

I've been trying to manually remove this bad data using GPS Track Editor and manually selecting and deleting points that looked out of place, but that's a pain. I've also started thinking of ways I could write programs to fix it, but I'm an amateur and I suspect this is a well studied problem (but I don't know where to look).

What are some automated techniques I can use for cleaning these bad trackpoints from my track logs?

Specifically, I'm hoping to find out about:

  • Techniques to reject a set of "bad points" from a single track log as "inconsistent" with the ones before or after (seems like that could catch the problem in the red track)
  • Techniques to cross-check two or more track logs of the same trip against each other (may fix the problem in the blue track)
  • Tools that implement the above
  • When you have "been trying to manually remove this bad data" what GIS software have you been using? I think you should focus your question on that to prevent it being too broad. – PolyGeo Apr 20 '16 at 5:23
  • I used "GPS Track Editor" and manually select and delete points that looked out of place. – Kaypro II Apr 20 '16 at 5:30
  • 1
    A lot of work on this in animal tracking, but the fact is it's a quite technical modelling problem, depending on your needs – mdsumner Apr 20 '16 at 8:06

I do some filtering of bad data within the transportation industry so I can try and give you some advice from an automated perspective.

Assuming you have a time value for each point, you can filter a point where it travels a large distance in a short amount of time.

The source of your data would determine what would be considered an unreasonable value for distance travelled/seconds. Another option would be to look at the rate of turn between each point.

| improve this answer | |
  • I'm having a similar problem. I'm using GPS points and they will often show points that are a product of a bad signal. Is there a way with ArcGIS to calculate the distance between each point (they are sorted by time) and then flag points that have traveled a specified difference to another point? – Yolo_chicken Aug 5 '16 at 16:14

Not the answer you're looking for? Browse other questions tagged or ask your own question.