GPS Comparison Testing

This past weekend, I took a group of Scouts from Troop 15 on a 10-mile hike for the Hiking Merit Badge. We went out to Lake Thunderbird State Park, where there are a number of hiking/biking trails that total just under 20 miles.

One of the things I wanted to do was check out the GPS capabilities of several of the units. When we go on these hikes, we typically start a GPS, and hike until it shows 10 miles.

I also had a secondary objective, which was to check out my Garmin GPSMap 62s battery usage. We had taken that unit to our backpacking trip in Colorado, and it seemed to use an entire set of batteries in less than a day. My GPSMap 60 usually gets about five days of use out of a battery pair. In this case, I completely reset the 62s, put in fresh batteries, and at the end of the day, the battery indicator showed full. So that was probably the issue.

Anyway, I tested the following units: Garmin GPSMap 60 and 62s, a Samsung Galaxy S6, and a Google Nexus 5. Both of the phones ran Runkeeper.

Our hike was over a trail network that has a significant amount of weaving in and out, in order to maximize the mileage in the limited surface area.

At the end of the hike, these were the mileages displayed:

Unit       Displayed   GPX   Points Captured
GPSMap 60:     10.02     9.7   1148
GPSMap 62s:   9.97   9.5   1748
S6:           9.90   9.9   1604
Nexus:         8.20   8.2

These results are pretty annoying to me. I’ve noticed the GPX track shortage (by way of example, displaying 10.02 while the downloaded GPX is 9.7) numerous times over the years, but I do not understand why it should be.

The difference is particularly pronounced in the GPX for the 62s. It’s a newer unit, and it has a setting to control the granularity of the data taken. For this hike, it was set to the most granular setting, and generated the largest number of data points, but the reported GPX is a half mile less, which is 5% and significant. I suspect that the better granularity of the 62s is the “real” mileage, as it would capture the numerous sharp bends in the trail network. But that is contradicted by the significantly shorter length of the GPX.

Note the very short mileage for the Nexus. We noticed the mileage displayed being less and less of the other units. Ian checked out GPS settings, and found a power-saving mode that was set that limited GPS update.

Have a look at the ground tracks. Here is an overlay of the tracks of the two phones:

S6 and Nexus 5 Tracks

S6 and Nexus 5 Tracks

You can see that the S6 (green track) and the Nexus (red track), are close together for a bit, then they diverge (the series of straight red lines), then come back together again. It’s easy to see where the longer green tracks near the straight lines are the source of the mileage difference. The question is, why did the first mile+ match up very well, then diverge?

Here are the overlays of the tracks of the 60 (green), 62s (dark), and the S6 (red) (I did not include the Nexus track due to the divergence):

Hiker and phone GPS overlaid

As I look at the tracks, I see about six areas where the green track diverges (in some places, significantly) from the other two tracks, adding mileage to the total. The 62s and S6 tracks (and most of the Nexus tracks) are very, very close.

My conclusion is that the newer GPS units are closer to showing true mileage.

I also looked at the altitude displays. These trails were fairly flat (relatively! 🙂 ). I used Mapsource to generate altitude plots and captured them as identically-sized jpegs, but there wasn’t an easy way I could see to merge them together (I tried GIMP). So instead, I exported the altitude data to an Excel spreadsheet. The number of data points didn’t match, so I wrote a q&d program to read in the data points, and insert an identical value every x lines. That got the dataset lengths pretty close. Then I imported them back into Excel and ran an XY plot:


I noted previously that the altitude recorded by the GPSMap 60 is way spiky. The 62s are as well, but less so. The altitude differences between the two Garmin units is significant. Three notes: the 60 tends to show altitude significantly less than the 62s for the most part (there are only two places where the altitudes match, and the altitude is 40 or so feet less than the 62s); the altitude shown by the 60 lags the 62s by some amount, and the altitude for the last couple miles is really, really off.

The altitude recorded by the S6 is closer to the 62s altitude, and also lags the 62s, but in both cases not as much as the 60. The S6 is almost smooth, not spiky.

I am going to take the units out in a car and drive about 10 miles and check the odometer reading against the GPS display and GPX. I will report on that after I do it.

I think I need to take all four units in a straight-line test to see how those mileages compare.


Tags: , , , , , ,

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: