Maps and Tracks: Accuracy, Precision, and your Phone GPS (Part 2)
GPS Accuracy and Tracking
Oftentimes, people write in asking about differences in our reported data on how long a particular hike should be versus how the distances they traveled were in their own experience on the trail. So I set out to gather data about why this could be.
First of all, let’s take a look at what GPS is and how it works. As you probably know, the Global Positioning System is a set of satellites that orbit the planet constantly, and send signals that work using trilateration to determine your location on the planet. The signal is not so important as the time that it takes for the signal to go from the satellite to your device. This time is what allows the processing software to determine your location.
Many backcountry travelers today use a GPS device of some sort – whether as a reference tool or, at the other end of the spectrum, as a full navigation and data collection tool. For many people these days, that device is their smartphone, which typically has a GPS receiver built-in. The quality and accuracy of that receiver varies widely depending on the device. The accuracy of the identified position depends on both the signal coming in from the satellites, and on the device receiving those signals.
According to www.gps.gov, the website of the US government GPS program,
The government is committed to providing GPS at the accuracy levels specified in the GPS Standard Positioning Service (SPS) Performance Standard.
The accuracy commitments do not apply to GPS devices, but rather to the signals transmitted in space. For example, the government commits to broadcasting the GPS signal in space with a global average user range error (URE) of ≤7.8 m (25.6 ft.), with 95% probability. Actual performance exceeds the specification. On May 11, 2016, the global average URE was ≤0.715 m (2.3 ft.), 95% of the time.
So the signal coming from the satellite is one part of the accuracy equation, but not the full value that becomes user accuracy. Many factors influence the user accuracy, such as satellite geometry, signal blockage or reflection, weather and climate conditions, and the actual receiver design and quality. For an incoming signal under ideal, perfect conditions, GPS enabled smartphones are typically accurate to 4.6m horizontal error.
While you may be thinking that 4.6 m horizontal error is not the utmost degree of perfection that you expect, I find this pretty amazing. My phone can identify my location anywhere on the earth to an accuracy of around 15 ft in a matter of seconds. That’s astounding!
Ah, but there’s another twist! We have to consider topography. GPS accuracy calculations are based on a full and open view of the sky. Without this, our accuracy can decline even further. Trees, rocks, canyons, mountains, buildings – all of these will have a huge impact on your signal. The number of satellites that your receiver can connect to has a strong effect on how accurate it calculates your location. It’s not uncommon for satellites to be pretty close to the horizon, with the result that you can only get a signal from 3-5 satellites when in the mountains. It takes a minimum of 4 to get your location and elevation.
So to test these theories out, I went on a nice long day hike. My planned route came out to 14.5 miles, using a combination of snap-to data via OSM, and some hand drawn off trail hiking by points (as opposed to freehand with shift+click). Between the two of us hiking together, we had 4 different devices.
The hike started in the trees and thick brush, near a steep mountain face and with the horizon high above us on all sides. After a few miles we topped out onto the cap and wandered in and out of trees, across granite slabs, along many lakes, over some talus, through thunderstorms and rain, back to sun, some wind, and finally dropped back down into an increasingly deeper valley with more and more vegetation.
Back at home, I imported all the raw tracks from the 4 devices into CalTopo and viewed them all together.
Here’s an example section of the raw data:
Android phone via CalTopo app: 18.01 mi, 3259 ft.
iPhone via Caltopo app: 18.63 mi, 3026 ft
Suunto Spartan: 16.42 mi, 3141 ft
Garmin Fenix: 17.30 mi, 4078 ft
Adjusted drawn route: 15.11mi, 3009 ft
Here is an example of the four tracks and the planned track (red?)
Scale of the above image is about 1700ft left to right, 1000 ft top to bottom.
As you can see, there is a lot of variability between the tracks. And these are from two people walking the trail at the same time, same day, same weather, same cloud cover, even the same app in two cases.
Tracing a well-referenced aerial or satellite image is considered to be an accurate-enough way to draw a trail and determine its length. When good satellite imagery is not available and/or tree cover, shadows, or other challenges make it hard to use these images, it is possible to create a line to represent the trail by using a track bundle – a collection of many tracks of the same route. Programmers can then create weighted averages of the routes, and publish those averaged routes as the trails. The more data used to calculate the line, the more accurate the trail map becomes.
Raw GPS data is messy, and so some programs use techniques to smooth the tracks when recording or importing them. Some apps, devices, or programs apply a smoothing algorithm to the track. These algorithms vary in how they function, but generally they calculate whether to keep any particular point based on the points around it and the speed at which the points are generally collected. These algorithms also might have a hard time distinguishing a snack break from a place where your location points bounced off a nearby cliff over and over. Smoothing can also be done by hand to match a track to a visual image, such as aerial photography that is georeferenced.
To try out my own hand at visual track smoothing, I took my Android track and set it over some satellite images and started editing points. I moved points where the recorded track jumps far off the trail that I hiked, lining the points up better with the route on the ground. I shifted whole sections of the line to be over the trail in places where it was significantly off the trail. I moved other individual points to make straighter lines where it made sense to, and removed points that were extraneous or clearly way too far off the route that I actually walked. There were also some areas where the track recorded a straight line where I assume that my phone lost the GPS signal for a bit, so I moved that track onto the actual trail as best I could. This changed the length of my track to make it about 1.27 mi shorter than recorded, from 18.01 mi to 16.74 mi.
For a couple sections of the trail I wanted to try to be even more accurate about comparing the recorded track to the actual trail. I chose an area where the trail was clearly visible in the satellite image, and located on a ridge top with widely spaced trees. In the image here, the raw GPS data measured 1,307 ft, while the actual trail traced to be 1010 ft. That’s a 23% difference. Given that number, I’m impressed that my whole trail is only off by 7% between the actual and smoothed track, and 13% or so off from what my pre-planned route was.
At this time, CalTopo does not do any line smoothing when recording tracks in its own app. All the error of the device and conditions remains present, and you may see wildly different distances recorded vs what you expected from planning your trip by drawing lines. As we have discussed, these errors in track length are expected and part of the experience of using GPS products.
GPS receivers need signals from a minimum of four satellites so they can calculate elevation. However, reported elevation has even more variability and inaccuracy than horizontal location does. Many apps and programs therefore do not rely upon GPS elevation data. Instead, they refer to a Digital Elevation Model (DEM) for much more accurate elevation readings at any given point. Therefore, when a line or other object is plotted onto the coordinate grid, the DEM can look up the elevation at that location, ignoring any elevation submitted from the satellite signal calculation.
Some more expensive GPS devices come with a barometric pressure sensor that can calculate elevation in real time, without the satellites. The user then has the choice to use the baro pressure or a DEM lookup to set the elevation after recording the track.
Improving Accuracy in GPS
One way that devices can improve accuracy is by using additional frequencies sent from the GPS, as well as the phasing of the signal from the satellite. High end commercial survey devices can gather a much more accurate point. Also, by taking many points over time in the same location, surveyors can gather more accurate information, using a scatter plot technique. As a result, high end devices can determine a location down to centimeters, or even millimeters if many points are collected.
The US government is in the middle of a decade-long process to update the accuracy of the GPS system, adding several new civilian signals. In the past, some civilian GPS devices have taken advantage of the L2 frequency, though it is encrypted for military use. Because the GPS unit can still see the signal (though it can’t decipher it), it can use the timing of this signal compared to the L1 signal to calculate a more accurate position. As new signals come online with additional satellites launched carrying upgraded equipment, civilian GPS accuracy will improve over the coming years, though these signals also require upgraded devices on the receiving end.
Some GPS receivers can also pair with the FAA Wide Area Augmentation System (WAAS) that can help perform differential correction of location in “real time” Survey grade devices using combinations of technologies can get data under 1m accuracy.
Some newer GPS receiving devices can now also access GLONASS and Gallileo, which allows access to all of the three major GPS satellite systems worldwide – the US, the European, and the Russian. By combining these systems and accessing a much larger network of satellites, units capable of connecting to multiple sources can achieve a much higher level of accuracy of position.
So the type of device you have for receiving the signal matters in a large way. As we saw in the example earlier, where you are using the device matters with tree cover, cliffs, or large buildings affecting how well the GPS signal reaches the device. Additionally, atmospheric conditions and the satellite positions at the time of the data acquisition will affect accuracy.
Conclusion/ Understanding your location
Why even bother using GPS if it’s so bad? You might need to just let go of your feelings about how specific your location or map needs to be in order to accomplish your goal. Unless you are a geologist measuring compression of the rock above the Cascadia Fault, millimeters, or even up to meters of precision are just not that helpful for your 7 mile hike. These days we have very accurate measurements of summits of mountains, road alignments, and elevation profiles in some areas. If you are standing on a peak that the map says is 12,348 feet but your GPS says 12,326 feet, you should probably trust your senses that you are in fact on top of the peak, with the USGS survey marker under your feet. By the same token, if you are on the summit and reporting your coordinate position over a radio, you should have some idea of how many digits are relevant. If your device is telling you it knows your location to ten decimal places, it is not acknowledging significant figures somewhere in it’s calculation of your location, and thus is making the fool of you.
Clarification: You say that the GPS satellites “send and receive signals”, and “number of satellites your receiver can connect to” (implying a two-way connection). From a user perspective, GPS is receive-only. Your GPS receiver does not transmit anything to the satellites. The satellites transmit, your receiver receives, and from that received information your receiver can calculate your location. The satellites do receive signals from ground stations to determine *their* position, but that is invisible to users.
I suspect that you already know this, but since many people misunderstand GPS and think that their GPS receiver is reporting their position to the satellites, it seems worth clarifying.
Also, I wouldn’t comment on an ephemeral document like an e-mail message, but since this is a bit more permanent: in “At this time, CalTopo does not do any line smoothing when recording tracks in it’s own app.” the “it’s” should be “its”.
Thanks as always. Good stuff.
This is accurate, I clarified a little language to make it very clear. I fixed the grammatical error as well. Thanks!
Isn’t GLONASS simply the Russian satellite positioning network? Some devices can access these along with GPS and the European network (Galileo).
Correct – I made a small edit to clarify what the author intended there. Connecting to the US based network, GLONASS and/or Galileo provides faster acquisition and more overall satellites to connect to.
Great write-up and showing the tracks in the picture really help to understand. Great Infographic at the end!
Great article, thanks. When recording a track, for elevations does the CalTopo app use a DEM? Or can you go to the desktop computer version of CalTopo afterwards and update a field-recorded elevation profile using a DEM?
Tracks are always recorded with real world data. You can use a DEM or other elevation modeling when you get done with your trip.
Thanks. Can I use the CalTopo web interface to do that?
Also, keep in mind that many of the OSM tracks in Caltopo are from OpenStreetMap or similar. Many of those tracks are from people who used a tracking device and they…ur…aren’t very accurate because the readings were 1-2 minutes apart. Case in point. The High Sierra Trail is 72.2 miles, having been measured many times by hand pushed surveyor’s wheel. The track from OpenStreetMap is around 68 miles, an error of over 5%. I took the time to trace the trail from the satellite layer and came out at 72.8 miles, likely because there were sections of the trail that disappeared in the trees, so I had to guess it’s location. I’ve had similar experiences with other trails from OpenStreetMap. Not that big a deal, but the error on some of my longer trips result in nearly an extra half day of travel, which if you’re pushing your mileage limit each day, could be a problem when it comes to food and fuel planning.
A recent “discovery”… not GPS but GPS track and real-time tracking related. Some Android devices while turned on but in powersaver mode, turn off(!) their GPS receiver generating weird, herky-jerky.