The Great Outdoors Stack Exchange is a question and answer site for people who love being outdoors enjoying nature and wilderness, and learning about the required skills and equipment. Join them; it only takes a minute:

In a previous question, I had asked for help in finding a GPS app with certain features. That led me to find Gaia GPS and it has been great, no complaints.

However, I had a situation recently. I found a hike through an online guidebook and it was listed as 3.1 miles. I went out and did a track on it (with Gaia) and it came up as being close to 5 miles. I wrote to the author of the guidebook, thinking that he might want an update. He checked through his notes and also asked for my tracks from Gaia and showed me how Gaia can be inaccurate and my actual track was a really squiggly line adding all kinds of crazy distance. He said he also used Gaia and would get the same weird results. I dont know what he used to create the actual distances in the guide. He stood by his statement of the hike being about 3.1 miles.

But I'm still uncomfortable with this conclusion. The hike just "felt" longer than 3.1 miles. Also, there's the factor of time. I'm not a fast hiker at all but the loop took me 3.5 hours to do. For a 5 miler, that puts me at 45 minutes/mile - totally reasonable - but a 3 miler would be 1 hour+ per mile - no one is that slow! Time is the only "fixed" factor in this and that would indicate that its more than 3.1 miles.

So is Gaia really that inaccurate? Or is there something else at work here?

AFAIK, all modern phone-based GPS devices (called A-GPS, as in Assisted-GPS) are quite inaccurate when far from cell towers.
– RofloApr 6 '16 at 18:03

@Roflo I get that; thats the rather obvious reply. But to be off by almost two miles? Can I really be slower than a 1 mile/hour hiker? The other elements of the question don't make sense.
– Unknown CoderApr 6 '16 at 18:05

2

@roflo, a-gps doesn't inherently degrade accuracy Wikipedia article. However it's possible that some implementations give a fix based on out-of-date data rather than waiting for it over the GPS system which can take a long time. If you start a 1-day trip with data coverage a-gps should be irrelevant.
– Chris HApr 7 '16 at 6:38

1

@ChrisH What I meant to say is that given the right (wrong?) conditions the precision could be compromised. I see you've added a proper answer, thanks.
– RofloApr 7 '16 at 14:11

1

Also, to all those interested, I suggest browsing the assisted-gps tag in GIS.SE.
– RofloApr 7 '16 at 14:11

4 Answers
4

GPS is simply not a good way to measure trail distance. This is because the raw GPS fixes have a lot of noise on them. If you take them literally, then you get a much longer distance than you actually moved. If you low pass filter them too much, you cut off corners and get a shorter distance. The usual algorithm is to apply some low pass filtering, but also not create a new point until it is some minimum distance from the previous point, after filtering. That distance is often a few meters.

How you hold the GPS and what kind of vegetation cover is between you and the sky also matter a lot. For best tracks, put the GPS unit or its antenna on your hat. That way your body doesn't get in the way of the very weak signals from the satellites. If you're really serious about this, get a GPS unit with optional antenna input. Mount the antenna on the top of your hat, then run the wire to where the GPS unit is in your pocket or pack wherever.

A leafy canopy is definitely worse than a nice open sky. I try to do most of my trail mapping from fall to spring when the leaves are down. That helps, but I can still see noticeable difference between the noise on a trail in the woods and walking along a road thru corn fields.

I always take at least two tracks for mapping, one in each direction. That gives me some idea of the error level. In the woods, I can see differences of up to 50 feet (15 meters) sometimes. In one case I walked along a small dirt road thru wide open fields, and I could tell which side of the road I walked on each direction. The maximum error between the two tracks was more like 10 feet.

I use BackCountry Navigator for capturing GPS tracks with a Android tablet. This works surprisingly well. This app allows some tweaking of the GPS filtering. I set it to the minimum distance for a new point that it allows. The GPS distance are usually close enough for casual use, but certainly not as good as real physical measurements.

After capturing GPS tracks with BackCountry Navigator, I import them into the OpenStreeMap editor. There I eyeball-filter them and draw plausible tracks to put the trails on the map. This is where having at least two tracks, one in each direction, helps a lot. After this process, the track lengths as reported by OpenStreetMap are usually not too bad, typically around ±10% from hard-measured.

To really get good trail length measurements, use a measuring wheel. I have a 19 inch wheel that I've added a holder for the GPS to. That helps keep the GPS away from my body, resulting in better tracks than if it were in my pocket or pack. The wheel is consistant to within less than a percent. It's not unusual to have a difference of maybe 4 feet between out and back along 1000 foot trail.

Here is me demonstrating the measuring wheel and tablet capturing a GPS track:

The wooden holder near the top of the handle is something I added. My Android tablet slides into the holder, as can be seen in the picture. This keeps it away from my body while measuring a track. The data is substantially less noisy that way than with the same tablet in a pocket or in my pack.

The wheel has a mechanical counter on it marked in feet and inches. When I get to a trail intersection, I record a waypoint in the BackCountryNavigator software that is taking the GPS track. I use the value on the counter rounded to the nearest foot as the name of the waypoint. That then allows calculating distances later.

+1 for the measuring wheel. Many of the good trail books do this for all of the trails.
– Russell SteenApr 7 '16 at 12:39

1

In my experience, the noise in a GPS reading with a good receiver and a clear view of the sky takes the form of long-period shifts: a slow movement of the "you are here" point if you're standing still, or a "wobble" of your track around your true course if you're moving. (Source: my own OSM trail-mapping efforts.)
– MarkApr 7 '16 at 22:24

The first is the quality of the signal, which can be less than for a dedicated gps unit (less space for an antenna and other design compromises). Of course the question of how you carry it comes into play here (a low pocket isn't very good and this may be worse than with a dedicated unit because of the smaller size and antenna. Similarly the effect of being below cliffs/buildings or under (especially wet) trees is well known but may be worse in a phone.

Once a signal is obtained, it has to be processed. This happens at the device/OS level (grouped because you have little influence here) and at the app level.

The OS may give a reading before it's got a good fix. This can be interpreted as a point or several well off your real track which can easily add to your route.

In an attempt to save power the effect above may be increased (as the gps receiver gets turned off). You may have some control over this on a phone, most handheld gps units make this quite a clear option.

A degree of averaging to reduce error can be applied in any gps unit. This can reduce the rate of points but gives a smoother track. Again if this is done in the app you may be able to configure it. Insufficient averaging on a poor signal can look like a route that zigzags across the path while over-averaging cuts corners.

These last two points can explain some of the difference between apps. You can try running two apps at once - you'll get a idea of the difference that way. I used to get around 10% between my tracks and cardiotrainer running simultaneously (off network) because cardiotrainer didn't work with cached maps. However if one app applies power saving and the other doesn't, the one which does will be overruled and its signal can improve.

Honestly in your case I suspect you're both wrong (sorry). Your GPS is probably overreading in the circumstances but you probably put in a little more distance and time walking a route the first time than someone who does it regularly. The chances are they underestimated it anyway, perhaps by an over-averaging gps, perhaps with a map (especially on a winding route).

The short answer is, as others have said, GPS isn't perfectly accurate. If you compare a GPS measurement to a measurement from a measuring wheel, there will be a discrepancy in stat calculations, regardless of GPS chip or post-processing algorithms.

That said, we have a project underway to improve the stat measurements in Gaia GPS. The algorithms for how Gaia GPS estimates stats vary from iOS to Android to web, and iOS are probably the best. We'll do a release in the next couple of months that makes the stats/code universal across platforms.

I can also imagine improved ways to estimate distance, ascent, and other stats, that we might poke at a little bit on top of the platform consolidation. This isn't really solved science either.

It would be really nice, if you could give some information on what you do differently on iOS/Android/web and what your ideas about improving the stats are. As it stands it is nice to know that you at Gaia work on it, but there is not much information valuable to the GPS-distance accuracy problem in there.
– imsodinApr 10 '16 at 7:59

Our main idea is "make the Android and web code the same as iOS, via one common set of JS, because the iOS code is the best algorithms today." Particularly for Android, ascent, distance, and stopped time can be way off - those are the ones users email most about. We use some filtering algorithms and some rules to toss out bad points on iOS that work pretty well, and so now Android/web will be the same. I'll ask the dev working on the stats project (my wife/cofounder) to write up the details around the stats after we ship the unified stats code this summer. Maybe we can open source some code.
– Andrew JohnsonApr 12 '16 at 0:36

GPS's are subject to 'jitter' The GPS signal has several sources of error. Jitter, under good conditions is fairly constant around 2 meters. There is a longer term error of about 7 meters that is more broad scale. WAIS will counteract this one. It has a much slower time fluctuation so it will not affect your distance much

The slower you go, the greater the error will be. Consider: If your GPS does a position every 2 seconds, and in that 2 seconds you move 2 meters (about 6 feet, or 3 ft/sec or 2 mph) and that error is 2 meters in an arbitrary direction, then in those 2 seconds it can record a change anywhere from 0 to 4 meters, with an average of 2.8 meters. As you drive away at 30 m/sec the error is a much smaller component of your velocity.

If you want to get decent numbers off of your tracks, use a map application such as OziExplorer, and plot your route. Now smooth out your breadcrumbs. With reasonable care you can get accuracy to within a few percent. You can practice this by doing routes with known distances.