In the course of conducting various GPS accuracy tests over the years, several folks have made the claim in online comments and over email that GPS units always overestimate distances. One of the main references used to back up this claim is this article from the Institute of Electrical and Electronics Engineers titled “Why Every GPS Overestimates Distance Traveled.” For those who are inclined to geek out, it’s an interesting read, though the mathematical arguments may not be easy for everyone to follow.

But here’s the thing: this conclusion simply doesn’t apply to measuring mountain bike trails. Instead of proving the point with mathematical formulas, I’ll illustrate how GPS units measure distance, and will connect the illustrations with real world test data.

How GPS Units Measure Distance

GPS units are constantly calculating their location on the earth’s surface in the form of latitude and longitude. However, a GPS never knows exactly where it is–it’s really just estimating its current position. Many factors influence how accurate the GPS position is at any given time, and while some GPS units can calculate how far off they are at any given moment, they still don’t know where their actual position is in relation to its estimated position. As the illustration below shows, a GPS unit only knows its true position is located somewhere within its error radius.



Fortunately designers have found ways to reduce the error radius in GPS readings, using additional satellite readings–from GLONASS, for example–but unfortunately that error can never be completely eliminated.

To measure overall distance traveled, GPS units use a little math to calculate the distance between each reading point, then add up those distances. The math itself isn’t quite perfect–the formulas used often don’t take into account the curvature of the earth–but for short distances, the math is very, very close. The real issue, however, is that pesky error radius.

Measuring Straight Lines

One of the most common uses of GPS technology today is in navigation, specifically navigating roadways, which are typically laid out in straight lines–at least, compared to sinuous mountain bike trails. So let’s say we’re measuring the distance a car travels in 10 seconds down a typical street. This is what the GPS sees:


Not bad! The GPS sees what is basically a straight line and heck, it even stays within the lane lines. But look more closely and you can see why distance calculations become problematic.


Our actual path is a straight line, but to the GPS unit our path is a series of short, slanted lines. Clearly the shortest (and most accurate) path is a straight line in this situation, but the GPS only sees the jagged, slightly longer path. For this reason, many argue that GPS units always overestimate distances. And in most cases, they’re right.

When we conducted our first GPS accuracy test at a local running track, we found 9 out of 10 of our devices overestimated distances. The lone unit that underestimated the distance was set to take measurement points too infrequently, a problem easily correctly by adjusting a single setting on the unit.

Measuring Curvy Lines

A mountain bike has a much tighter turning radius than a car, so trails can be designed with more twists and turns than a typical roadway. Not only that, mountain bikers actually enjoy curvy trails over straight ones. Take this trail loop for example:


Believe it or not, this loop was actually ridden without any doubling back or crossing over any other trail sections, though clearly the trace doesn’t reflect that. I’ve been riding this trail for a couple years now, and every time my GPS reports the full loop is right at 1 mile long. In fact, everyone else who rides this trail gets roughly the same measurement. But the trail always “feels” much longer than that.

See Also
By Jeff Barber

Recently I started riding with a wheel-based cyclocomputer, which I calibrated and verified during one of our track tests. Measuring this particular trail with the cyclocomputer reveals the trail is actually closers to 2 miles long, meaning our GPS units are underestimating distance by half! How is this possible?

Take a look at this diagram showing what a GPS sees on a mountain bike trail with switchbacks:


Notice how the GPS is shortcutting the switchbacks in the trail. Now, increasing the frequency of the blue dot measurements (called polling) will help pick up the detail on the switchbacks, but most GPS units are already running at their maximum polling frequency (usually, one dot per second). Given a set polling frequency, riding faster will cause the GPS to underestimate curvy trails even more.

Ironically, a high polling frequency should theoretically lead to a higher overestimate for straight line distances, since the calculated path has more opportunity to bounce around the true line.

The Third Dimension

While the “GPS always overestimates distances” camp is fairly vocal, there’s an equally vocal camp that argues the opposite. One of the arguments this group makes is that trails with significant climbing or descending are actually longer than the GPS reports because the GPS is only calculating distances in two dimensions (roughly, the latitude and longitude). In the diagram below, this is the distance from A to B, along the surface of the earth.


Clearly, the trail distance in the diagram is longer than the distance from A to B, so the GPS is underestimating. However, this assumption doesn’t really give GPS designers and coders the credit they deserve; there’s a good chance they too have an understanding of the Pythagorean theorem.

Since GPS units are able to estimate elevation, designers can use that number (basically the Z coordinate), in conjunction with the X and Y readings (latitude, longitude) to calculate 3-dimensional distances between two points on a trail. Of course GPS units are notoriously bad at estimating elevation, but we shouldn’t assume this information is ignored in GPS distance calculations. Like latitude and longitude readings, elevation readings are estimated within a range, so they can lead to either overestimates or underestimates at any given time.

So, do GPS units always underestimate trail distances?

No. Whether a GPS underestimates or overestimates trail distances depends on a lot of factors, including the ratio of curvy sections to straight sections, the speed of the rider, and much more. But for rides with minimal twists and turns (think: road rides), GPS distances will often slightly overestimate. For bowl-of-spaghetti trail networks, GPS will generally underestimate distances.

As we found in our track tests, GPS units will usually get within 1-3% of the actual distance in a controlled environment. But as my experience with the cyclocomputer shows, it’s possible to see very significant negative differences (-50%) between reported and actual trail lengths. On the flip side, I suspect one will rarely see overestimates higher than single digit percentages.

Your turn: What is your perception of how GPS trail distances compare to actual distances? 

# Comments

  • sissypants

    So I don’t have a Garmin, but my friends who do get slightly longer distances than me on my Strava (iPhone 4, still) on curvy singletrack. This could be due to a more extreme case of the “switchback effect”?

    • Jeff Barber

      Since you and your friends are both measuring the trail using GPS (and not, say a wheel-based cycling computer), I would say this variation probably comes down to polling frequency, the software your devices are using, or something else. Would be interesting to run a test with your friends on a short, straight section of road or trail and see if that makes a difference.

  • berrthum

    Good stuff, Jeff. You are spot-on about the impact of polling frequency. Most of the Garmin devices I’ve used had polling rates you could choose in settings. More frequent polling was accurate, but reduced battery time. I found the polling rate of recent iphones to be somewhere in the high frequency range of the Garmin devices.

    I’ve been using and comparing gpx files to wheel-based results for nearly 10 years on dirt trails throughout the midwest. I expect a actual distance (wheel based) to be a 10% increase relative to gpx files I’ve downloaded or created. Despite the other variables that have an impact, this assumption has been amazingly consistent for me across a variety of trails.

    I’ve shared that with many of my friends that just started to use GPS equipped tracking devices and they have concurred that this seems a suitable rule of thumb. I hope your readers find similar value with it.

    • Jeff Barber

      Good stuff!

      I’m wary of saying GPS devices will under-report distances by x% based on my own tests and (admittedly feeble) understanding of how GPS devices work. Like I said in the article, the amount and even the direction of error in distance reporting varies based on a lot of different factors. The farthest I might be willing to go is to provide an error range (-50% to +10%) with the caveat that up to 5% of rides may fall outside of this broad range. 🙂

    • turing

      Yeo I’ve found the aame thing. And the more twisty the tracks the more the GPS under estimates the distance. I use the OruxMaps app which is awesome but we’ve seen exact same effect on other apps and Garmin. Furthermore when I then upload to Strava yhe distance is almost always further reduced due to ‘smoothing’.

      Also the altitude gained when uploaded to Strava is usually way less than recorded by the app: 10 – 50% less.

    • Jeff Barber

      “Also the altitude gained when uploaded to Strava is usually way less than recorded by the app: 10 – 50% less.”

      In this case, the Strava-corrected upload is probably closer to correct than what the app initially shows. After upload, Strava overlays your track on a pretty accurate 3D map of the globe and substitutes the elevation data from that map.

  • wfool

    I have been using a Garmin for a number of years and have always use a “Speed” sensor, which is actually a distance measure. I haven’t noticed much of a variation from the posted trail length, but I haven’t paid that much attention either. I mostly have a Garmin for the nostalgia of looking back at the places I ride. I like the newish magnet-less sensors. They are very convent and are less prone to be knocked out of position like the magnet type.

  • asvedberg

    For this very reason, I have my Garmin 800 (with speed and cadence sensor) set up in the bike profile for my 29er MTB to use Manual Wheel Size, which is in reality the rear tire 1 revolution rolling distance in mm, that I have set to 2270 mm measured with 2.0 Inch tire and 30psi, recently upgraded to 2.2 Inch tires with the same tread style, which I run at 20psi. I have not checked the new rolling distance of these but should probably be similar due to the lower tire inflation. Today I just finished a 4 hr Marathon race at Woolley Bike club in St Croix Falls, WI. I did 6 gruelling laps of single track, my Garmin distance show on Starva as 47.2 mi, my friend that also did 6 laps show only 38.3 mi for the exact same 6 lap race distance. I quite sure my friend is only using Garmin GPS data or if he has a speed cadence sensor, he must have it set for Automatic wheel diameter, a setting that should only be used for road riding. In this case of single track course the GPS generated data is gives approx. 20% shorter distance Vs. the wheel rolling distance.

Leave a Reply

You must be logged in to post a comment.