GPS Error Management – Theoretical Framework for Managing Error in GPS Routes

gpsresearch

I'm looking for the appropriate theoretical framework or speciality to help me deal with understanding how to deal with the errors that the GPS system has – especially when dealing with routes.

Fundamentally, I'm looking for the requirements on the data and any algorithms to use to be able to establish the length of a trail. The answer needs to be trustworthy.

A friend of mine was the race director of a race which was billed as 160km but the Garmin watches everybody has makes it more like 190km+. It caused quite some grief at the finish line, let me tell you!

So my friend went back to the course with various GPS devices in order to remap it and the results are interesting.

Using a handheld Garmin Oregon 300 she got 33.7km for one leg. For the same leg on a wrist watch Garmin Forerunner 310xt it came out to 38.3km.

When I got the data from the Oregon it was obvious that it was only recording data every 90 seconds or so. The Forerunner does it every couple of seconds.

When I plotted the data from the Oregon I could see that it got confused by some switchbacks and put a line straight through them and a curve was made a little less.

However, I muse that the difference in the recording frequency is much of the explanation. i.e. by recording every couple of seconds the Forerunner is closer to the real route. However, there will be an amount of error because of the way GPS works. If the points recorded are spread around the real route randomly (because of the error) then the total distance will be larger than the real route. (A wiggle line going either side of a straight line is longer than the straight line).

So, my questions:
1. Are there any techniques I can use on a single dataset to reduce the error in a valid way?
2. Does my theory about the difference in recording frequency hold water?
3. If I have multiple recordings of the same routes are there any valid techniques to combine them to get closer to the real route?

As I say, I don't really know what to search for to find any useful science about this. I'm looking for ways to establish just how long a given piece of trail is and it is very important to people. An extra 30km in a race is an extra 5+ hours we weren't expecting.

Thanks for any advice you can give.

Best Answer

One issue might be the number of satellites.

Some formats - such as NMEA as described here - include a number of satellites record for each point.

With that information you could remove points where satellite coverage is poor, as being potentially unreliable. NMEA also includes a Horizontal Dilution of Precision (HDOP) value which you can also use to filter out poor quality readings.

As an addition to the above:

To be honest the disparity between results does seem awfully high on reflection. You're talking about a 20% difference and that's quite the gap.

Two thoughts:

1) Are these distances coming straight from the GPS? I would worry that the two GPS are using different coordinate systems. eg measuring a line in a state plane coordsys gives a different value to UTM. Can you somehow check that?

2) Can you trace the route in Google Earth, and measure it that way? Not saying that would be perfect, but it would - hopefully - be a close match to one of the GPS and help uncover why the two are so different.

Personally, to merge multiple routes I'd create a solution in FME; but then I have it on my computer because I work for the company!

Related Question