# Why is GPS-measured distance so inaccurate?

I hear it all the time: why does the distance recorded by my GPS not seem correct? I know I rode 12 miles on my bike… why does it say I only did 11.2?

There are a few reasons, but first we need to understand how GPS works. The math and physics can get very complicated, so we are going to use our imaginations and make a few assumptions. If you’re interested in challenging these assumptions, you should find no shortage of resources online to properly sort things out!

Satellite navigation systems, such as the US-built NAVSTAR GPS, depend on constellations of satellites being positioned in a precise orbit around the Earth. The GPS “constellation” consists of 24 satellites. The EU and Russian governments also operate their versions of GPS, known as Galileo (30 satellites) and GLONASS (24 satellites). Within the US, the Federal Aviation Administration also operates the Wide Area Augmentation System (WAAS). Many modern satellite navigation receivers are capable of receiving signals from more than one of these systems.

Each of these satellites broadcast a radio signal which encodes a very precise time. The signals travel at (roughly) the speed of light, which is approximately 300,000 km/sec, or 186,282 miles/sec. Imagine that we can somehow measure the time that signal travels between the satellite and our receiver. Knowing the time and speed at which the signal traveled would allow us to directly calculate our distance from the satellite.

Imagine too that we could know the satellite’s precise location at the moment the signal was broadcast (keeping in mind that the satellite is moving at incredible speeds!). Flashing back to high school geometry for a moment, you might recall that a location (point) and distance (radius) define a sphere in three-dimensional space.

It follows then that receiving a signal from one satellite places our location on the surface of a sphere. Adding additional signals from three other satellites places us on the surface of three additional spheres, with each sphere centered on different locations in space.

If you can visualize the intersection of two spheres, it would form a two-dimensional circle (think about bubbles blown from a wand sticking together may help). Adding the third sphere yields two points, and the fourth sphere identifies a unique location.

Your receiver, then, is located precisely at the intersection of the four spheres imagined above. The spheres are centered around satellites (which are in motion), and we can measure our distance from these satellites by the time the signals traveled. We know the travel time by the difference between local time (eg, your “now”) and the time the signal was broadcast from the satellite (encoded in the signal).

This can be hard to visualize, but there are videos on YouTube that can help to understand:

It should be obvious that being able to accurately compute the signal’s travel time, and thus the distance from the satellite, becomes important in finding your location. If anything were to delay the signal, the spheres we use for finding the location would be altered, affecting the ultimate calculation of position.

Unfortunately, there are a few ways a signal can be delayed on its way to your receiver, resulting in a longer travel time. The upper layers of Earth’s atmosphere or moisture can act to slow or bend signals, not unlike a prism. This results in the signal traveling in a longer path and a longer measured distance from the satellite.

Reflection off of hard objects, such as mountains, hills, buildings, or even a line of trees can increase the distance a signal travels to your receiver. Before the advent of HDTV broadcasting, when television signals were analog rather than digital, these delays could be clearly seen as ghosting in television signals.

Another source of error is noise, which might be introduced by your antenna or electronics. Less expensive receivers, such as those in a cell phone, simply cannot separate the signal from the noise as effectively as a dedicated receiver.

All of this adds up to an error that your receiver may share as “EPE”, or “estimated positional error”. In most cases, this error is less than 15m, or about 50 feet. When your receiver reports your position, it is easy to allow ourselves to believe that it “knows” where you are, but the truth is that your reported position is somewhere within about 50 feet of your actual position.

While a GPS can tell you where you are right now with accuracy, keeping a history of where you have been is something of a compromise. A GPS track is recorded as an ordered sequence of points. Each of these points reflect your estimated position at a particular time. It is important to recognize that a GPS-recorded track is not a continuous line on the ground, like a road or a trail which can twist and turn, but more like the dots in a “connect the dots” puzzle.

When deciding how frequently to record a new point, there are two basic choices: temporally (time), or spatially (distance). In the first mode, the receiver will note your location every few seconds or minutes. Operating in the second mode, the receiver will not record a new point until it detects that you have traveled some pre-set distance from the previous point.

(Note: Some GPS receivers also support a hybrid mode, where they attempt to guess at reasonable intervals — possibly swapping between time and distance — based on your perceived movement. This can result in better quality tracks, but you will have to experiment with your hardware and specific use case to decide!)

Either mode of recording a GPS track result in errors, and these are the errors which affect measures of distance and speed. Both result in something closer to the connect-the-dots puzzle than your actual path over the ground. As anyone who has ever done one of these puzzles can attest, approximating a curve with a series of straight lines is not optimal. It may capture the spirit of the shape, but may also require that you use your imagination a bit. We’ll see this effect on a GPS track more clearly later.

When operating in the time-mode (recording a point every few seconds), the receiver’s error due to factors causing EPE becomes more significant. This is especially true when moving slowly or sitting still, the receiver is still guessing at our location. These guesses are good, but there is always a small error in each guess.

In our tracks, this error will surface as “jitter” and will appear as if you were wandering around aimlessly when in fact you were stationary:

When operating in the distance-mode (recording a point only after traveling a minimum distance), the quality of the “connect the dots” representation of reality degrades quickly as the minimum distance between points is increased. An approximation of a curve made using straight lines cannot be longer than the curve on which it is based. The fewer points you use, the less accurate the approximation will be.

As a final note on recording a track, the method used has some very practical impacts too. If points are recorded too frequently, it has a cost measured in terms of both storage and processing power. Excessive use of storage will result in shorter tracks being recorded. The additional processing power might run down your batteries more quickly.

Let’s conclude with a real-world example. This is an actual recording made on a trail near my home:

Ask yourself, “which is longer in the image above: the trail (dotted line), or the GPS track (solid blue line)?”

We can see that the track is an approximation of the trail. Where the trail curves, the points included in the trail are connected using straight lines. We can also see what is likely the effects of EPE on the south end of the track, likely due to a change in tree cover or topography.

It should be obvious that unless the EPE puts you on the outside of the trail’s curves consistently, the recorded track will be shorter. This would require that the error swing from east, to west, to east, and back to west at exactly the same rate we rounded the corners in the trail.

I recommend experimenting with some of your own recorded tracks. The GPX format is nearly universal, and the files can be easily downloaded from most receivers. Use a tool such as GPXSee to view them — you’ll be amazed!

## The Ocean Gets Big Data

Get the Medium app