# GPS elevation discrepancies?



## Wherewolf (Jan 17, 2004)

I know there are different ways to determine elevation. I have an Edge 705 and I always turn it on at least a half an hour early to let the elevation equilibrate. I also check Google Earth for the correct elevation at my starting point. I checked the stats for the same ride by three different people on Garmin Connect and their elevation gains ranged from 2,700 to over 5,000 ft! How do I know which one to accept when I'm planning a ride?


----------



## Harold (Dec 23, 2003)

Don't accept any of them. The true value is going to be somewhere between, but you have no idea of knowing for sure. Your best bet will be to look at a topo map. If the spot you want the elevation for appears between contour lines, you can graph yourself an elevation profile with a ruler and some graph paper to work it out. 

You can apply your own vertical exaggeration factor, too. Basically, you can use the map scale 1"=1mile (which will also equal 1 grid segment on the graph paper) to sketch your profile, and using the ruler, you will know exactly where the profile will cross each elevation. Then, you can measure with the ruler to the point you want to know, and see where that linear measurement matches with the profile of the slope. voila! you've got the elevation within a few feet of reality


----------



## Wherewolf (Jan 17, 2004)

*Topofusion?*

I opened my GPX file in Topofusion and it says 4,050' elevation gain vs. 3,773' in Garmin Connect. Is Topofusion more reliable?


----------



## Harold (Dec 23, 2003)

In TF, you can see elevation reports based on different sources of elevation data. Just look at Analysis>Climbing Analysis. That will show you how the discrepancies can vary depending on the source of elevation data. Unfortunately, it doesn't seem to report absolute elevation so well.

The best way I know to figure elevation is to hand calculate it.


----------



## Berkley (May 21, 2007)

2,700 to 5,000? something's wrong there. I've found it's not unusual for discrepancies of a couple hundred feet, but 2,300 is just too much.

Garmin Connect can also be set to correct the elevation gain based on known GPS values for certain areas. You have to enable that feature for it to work.


----------



## 3034 (Apr 12, 2006)

My experience is that the Lowest TOTAL ASCENT / ELEVATION GAINED number is always on the physical garmin unit.
Once you process it on the computer it gets larger up to 30% more.
especially when your in steep canyons and heavy tree cover.


----------



## erginguney (Dec 30, 2005)

I have put way more time and effort than I should into this struggle of calculating total elevation gain accurately (as I also have into this posting...). The short story is that it's not easy to get it right.

One important note (that most people might not tell you) is this: The triangulation algorithm of *GPS receivers are optimized to value 2D accuracy* (getting your latitude and longitude right) greatly over 3D accuracy (2D location plus elevation). It's not uncommon to stand in the same spot watching the elevation read-out of your GPS receiver and see it fluctuate throughout a 200-foot range. Additionally, *different models suffer from this to differing degrees*, of course. If you have a GPS receiver with a chunky quad-helix antenna, you can expect some level of dependability, but compact models with smaller (such as the Edge series) could be expected to be worse about this.

On top of that, my experience has shown me that *GPS receivers measure elevation best while you're in motion*. I see most fake spikes on my elevation plots at the points on my ride where I have stopped. So, the more you stop along your ride, the more inaccuracy you add to your elevation gain measurement (always in the form of exaggeration, naturally).

I use a Garmin 60CSx, which has been looked at as a benchmark of track accuracy and signal sensitivity until now. It also features a barometric altimeter, which, I assume, might be further tempering any inaccuracies of the 3D triangulation of the GPS signal. What I've found to be the most accurate source of total elevation gain calculation is *TopoFusion*, using track data coming from my receiver.

This is not a hunch. I have what I believe is a pretty objective method of verifying this: When I do a ride that I know well, like a paved road that I know climbs incessantly with no intermediate downhill portion, or a trail that I know has exactly "three humps" with no other intervening undulations, TopoFusion always plots the elevation profile of the track coming from my 60CSx with the correct number of unbroken climbs and descents. Given that, and adding the fact that the elevation figures for the peaks and troughs of each plot reasonably match the correct elevation of the corresponding spots on a USGS topo map, that *leaves no mathematical possibility that the track could misrepresent the total climb*. You would need to see up-and-down fluctuations on parts of the plot that you know don't undulate for such an error to be present in the GPS data under these conditions. So, unless TopoFusion is subject to significant errors arising from mathematical precision in its calculations due to bad software engineering (which I don't expect it does, and is easy to check in any case), I don't see how it could possibly miscalculate.

I should qualify that assertion, though. TopoFusion does have *some parameters it uses for its total elevation gain calculation*, like the minimum amount of climb between data points that it will take into account (so that any elevation change between two adjacent track points less than that will be disregarded). This setting should be set to zero if you trust your GPS track to not have artificial fluctuations. This could be one reason why the same track is calculated to have a substantially different total elevation gain on TopoFusion versus on Garmin Connect: Garmin Connect might be applying different default values for such "approximation" or "smoothing" parameters (with or without exposing it to you).

Yet another factor that might explain the difference in the total elevation gain calculations arising from the GPS track data of different people on separate rides along the same route (presumably using separate devices) is that *the track point recording intervals* of their GPS receivers could be set to different values. If you record track points at longer intervals, you'll naturally miss some of the intervening ups and downs that will be captured by a rider using a smaller interval.

*Plain old track inaccuracy* will be one more reason for differences between separate riders' measurements, of course. This will be worse in areas with a lot of tree cover. A cursory look at the track plot might give an indication: If you see a lot of straight lines and jagged zig-zags, you know that GPS track can't be trusted.

Track inaccuracies play into total elevation gain calculation in different ways, based on the source that is used for elevation data, too. I know at least one program (National Geographic TOPO) that *always uses the elevation data recorded in its topographic map* for this rather than the real elevation data included in the GPS track. When this happens, the numbers for inaccurate GPS tracks can vary really wildly. Here's what happens: You're on a trail climbing diagonally across a steep hill side. Your GPS receiver calculates your position incorrectly as being 50 feet to the side off the downhill side of your trail. That will represent an error less than 50 feet for your total distance calculation, but when the software doing the calculation looks up the elevation of the spot on the map 50 feet off to the side from where the trail is, it will read the elevation value for a spot that is 150 feet below you. You've just added 150 feet of error to your elevation gain calculation in just a single data point!

If Garmin Connect happens to use such map-based elevation data (perhaps because not all GPS receivers record elevation in their tracklog?), it would be no wonder that its values would differ greatly from what TopoFusion shows, which I know for a fact uses the elevation data embedded in the GPS track.

One more source of variation between different riders' measurements for the same route will arise from *weather-based drift in the barometric pressure* during the ride. The elevation measurement at the beginning spot of the ride may show up differently on the GPS receiver of the same rider from the measurement of the same spot after returning to it at the end of the ride, if the GPS receiver happens to use a barometric altimeter as its main source of elevation data and the weather has shifted enough during the ride to cause a significant barometric pressure change. I've seen this difference turn out to be as high as 250 feet in some cases.



NateHawk said:


> In TF, you can see elevation reports based on different sources of elevation data. Just look at Analysis>Climbing Analysis. That will show you how the discrepancies can vary depending on the source of elevation data. Unfortunately, it doesn't seem to report absolute elevation so well.


That's correct, but that feature is useful really only for estimating the elevation gain of a ride for which you _don't_ have recorded GPS data. In that scenario, you draw the track by tracing it manually on the map, and use TopoFusion to retrieve elevation data for it from various sources, and start playing with some of the calculation parameters to try and obtain something that looks remotely reasonable.

None of those data sources are nearly as high-resolution as a GPS track recorded while traversing the track in person (at least when the GPS is set to record track points at a reasonably high frequency). This can be easily verified by comparing the elevation plot of the GPS track for a particular route by the elevation plot you obtain by using the Climbing Analysis feature for the hand-drawn version of the very same route and then adding the elevation data to the manually drawn track. The plot of the GPS data will look like a woman's curves, where as the plot arising from the downloaded data will look like a series of step pyramids constructed by some exceptionally inept builders.

So, when you already have the GPS track data that includes elevation, the Climbing Analysis is mostly to be stayed away from, in my opinion.



NateHawk said:


> The best way I know to figure elevation is to hand calculate it.


That's a good way of obtaining a *"guaranteed minimum"* figure that you can trust. But, of course, it can't capture smaller (5 to 10 feet) fluctuations that do add up over the course of a long ride.

My best method of calculating total elevation gain involves starting from the number calculated by TopoFusion for my own GPS track, and then looking through the elevation plot carefully to make spot corrections for any jumps that happened during stops and any drift in the barometric pressure that resulted from a change in the weather from the beginning of the ride to the end by comparing the absolute elevation at the very beginning and at the very end of the ride (on rides that start and end at the same spot, of course).


----------



## Wherewolf (Jan 17, 2004)

*Thanks!*

Thanks for your time. I'm not that concerned with how accurate my 705 is, and I'm not a stats junkie. But I've recently done the same 24 mile ride four times and all rides were all within 150 ft. of each other at about 3,500 ft. I just want to be able to gauge if I should attempt a ride posted by someone else.


----------



## erginguney (Dec 30, 2005)

That's a good point. For practical purposes, comparability can often be more important than accuracy. For that purpose, I might suggest using an application, like the NatGeo TOPO that I mentioned, that will always use the same dataset (instead of the elevation data recorded on the GPS track) and the same algorithm to calculate the total elevation gain. At least, that way, you will get to develop a sense in the long term for the kind of overestimate/underestimate that that app will consistently cause for a given type of route (flat terrain vs hill side vs ridge top, etc.) and can compensate for it in your expectation of the ride.

Incidentally, I would argue that an error of 150 feet in a 3500-foot total climb calculation is darn near perfect. You really couldn't expect anything better than that. Think about it: on the complete elevation plot, that's a vertical calculation error equivalent to 0.12% of the total length of the plot.


----------



## BigLarry (Jul 30, 2004)

*Total Climb Accuracy*

I've seen climb data all over the place as well. Drove me nuts. So one day I took several GPS units 1000' up a monotonic hill climb (no drops) to see which was correct. I can now get consistency and (verified) accuracy between units of a few percent. 

Most all barometric units were excellent at elevation accuracy, but vary widely on indicating total climb.
The displayed climb on newer Garmin units (Edge, 60CSx, Vista HCx) read ~0-20% low on total climb for no rational reason. But the data they collect is good and Garmin Connect uses it properly. Older units (eTrex Vista) display climb accurate to within a few percent. (Why the newer units got worse is a mystery.)
Garmin Connect is very accurate (few percent), if you load your barometric alitimeter GPS track to Garmin Connect and Disable Elevation Corrections. * See more below on how to configure your barometric altimeter, or else it can be as bad as non-barometric unit.
*Other Problems:*

If the GPS doesn't have a barometric altimeter (Edge 205, 605), then the oscillations of +/- 150 in elevation accuracy will add up to a bonus of around 1000'/hour, even when standing still. (In other words, climb data is useless without a barometric altimeter.)
The Garmin Connect Elevation Corrections (using an altitude derived from GPS position and topo maps) is very innacurate. It's become better, but still lucky to be within 30%.
Clues that the Garmin Connect climb data is good: 

The track is based on a GPS with barometric altimeter (Edge 305, 705, 60CSx, Vista HCx,...)
Elevation Corrections is Disabled (because it's not needed).
The Elevation Profile data looks reasonably smooth, indicating no oscillations from Elevation Corrections or non-barometric altimeter. (Sometimes users with barometric altimeters leave on the "automatic calibration" which also adds false climb data with all the in-ride recalibrations.)
You trust the poster.
**Also, even with a barometric altimeter, you should turn off the "Automatic Calibration" which adds bogus elevation gain by changing your altitude by recalibrating along a ride. It's almost as bad as a non-barometric unit in adding bogus climb. For a barometric unit, you need to manually set the altitude just once at the begining and then turn off all recalibration. Based on start and end altitude differences, I typically only see a air pressure based drift less than 10' per hour (80' over an 8 hour ride) and worse case maybe 20'/hour, much less than the 150' per 10 minutes possible from the GPS-based elevation drift.

I've looked at this issue so much, I can usually spot the problems right off from the Garmin Connect track and Elevation Profile. Post some links to your ride and some others, and I can probably give you pointers on how to tell which is correct, and why.

EDIT: I ran across your track from a recent Tahoe City ride. To see detail, I downloaded and looked at your track point by point. The ride was an out and back which made it especially easy to look for any discrepencies by comparing symmetry. In sum, your track looks perfect. You just have a 40' elevation drift, which occurs mostly at the very end of the ride, from miles 20-25. I don't see any bogus jumps between points, no differences between out and back indicating altitude noise along the route, and so on. A simple valley to peak summation is low by about the typical amount when done well (~20% low). Overall, your data looks great.

Post the other tracks you were evaluating.


----------



## auto (Aug 27, 2009)

I have a Forerunner 310 XT and had some questions regarding rides.

My ascent gained on the unit was almost the exact same as published gain or elevation However, when I uploaded to Garmin connect, there was over 700' of distance. I am not sure what the discrepancy is unless Ascent Gain is different from elevation gained.


----------



## BigLarry (Jul 30, 2004)

auto said:


> I have a Forerunner 310 XT and had some questions regarding rides.
> 
> My ascent gained on the unit was almost the exact same as published gain or elevation However, when I uploaded to Garmin connect, there was over 700' of distance. I am not sure what the discrepancy is unless Ascent Gain is different from elevation gained.


They should be the same.

Sometimes, when I turn on the unit at home to upload, and before I turn off the satellite tracking, it gets an extra point at a very different elevation. You need to manually delete those bogus end points.

Many other errors can occur. Give the link to your track and I'll look it over.


----------



## auto (Aug 27, 2009)

BigLarry said:


> They should be the same.
> 
> Sometimes, when I turn on the unit at home to upload, and before I turn off the satellite tracking, it gets an extra point at a very different elevation. You need to manually delete those bogus end points.
> 
> Many other errors can occur. Give the link to your track and I'll look it over.


Thanks Larry. Here is the link http://connect.garmin.com/activity/40945192 Any help would be appreciated. Did, download Topofusion and it came up with 500', so obviously something is amiss.


----------



## BigLarry (Jul 30, 2004)

auto said:


> Thanks Larry. Here is the link http://connect.garmin.com/activity/40945192 Any help would be appreciated. Did, download Topofusion and it came up with 500', so obviously something is amiss.


I'm not sure if you mean you're getting 700' more or 700' less, and in climb or horizontal distance.

*Altitude*
In a quick look, I see your Forerunner doesn't have a barometric altimeter. As such, you're limited to the less accurate "Elevation Corrections". But your route is fairly flat so Elevation Corrections may be OK, as small position errors don't lead to large elevation errors with it being so flat. The only thing suspicious is the big 50 drop around mile 4.8 (do you remember that?) and a few dead flat regions, from changes less than the 1' resolution it appears to have. Maybe the two compensate (extra dip versus flat) to give you a reasonable answer of 200' gain over 9 miles?

Of course, Garmin Connect can't be 700' high when it only shows 203' gain. But your Forerunner can only get altitude from the GPS satellites. Although a GPS has maybe 30' horizontal error, the vertical error can be more like 100 to 150', and varies every 10 minutes or so. This can add up to 1000'/hour of bogus gain. So in your case Elevation Corrections may be better. I don't see your GPS data on Garmin Connect as it's using it's own altitude data, not from your GPS. Disable the "Elevation Corrections" and look at the Altitude plot. If you see a big change in Elevation Gain and a lot of bogus oscillations, there's your answer.

*Distance*
Your route is very zig-zag. You collect a lot of points, but you also zig a lot, rounding out corners. If you mean you loose 700 in horizontal distance over 9 miles, you're doing great.


----------



## Wherewolf (Jan 17, 2004)

*Set altitude?*



BigLarry said:


> I'...For a barometric unit, you need to manually set the altitude just once at the begining and then turn off all recalibration..


As far as I know you can not set the initial altitude on the 705. I wish you could. So prior to the ride I always check the elevation at the starting point on Google Earth or Topofusion, and I turn the unit on at least a half hour before the ride to equilibrate. My starting, ending and farthest point elevations are all nearly perfect.


----------



## BigLarry (Jul 30, 2004)

Wherewolf said:


> As far as I know you can not set the initial altitude on the 705. I wish you could. So prior to the ride I always check the elevation at the starting point on Google Earth or Topofusion, and I turn the unit on at least a half hour before the ride to equilibrate. My starting, ending and farthest point elevations are all nearly perfect.


I looked at the manual for the Edge 705 and don't see a calibration menu either. On my other Garmins, you hit the menu on the Altitude page and select Calibrate Altimeter. I use a known elevation from a map, or if nothing else, the GPS elevation that's good to <200' after a few minutes. Initial calibration helps make all my plots consistent with peaks at the same altitude. It could be your Edge calibrates once automatically the beginning of a ride from GPS altitude, using lots of averaging over 10s of minutes to get the altitude more precise, down to 10s of feet? So you've learned to just let it do that. What's your typical altitude variation in automatic calibration from ride to ride? I don't see anything in the manual but I'll look around on the forums.

But whatever your Edge is doing, your elevation data indeed looked great. Since you had an out and back, I could fortunately compare the same location at much different times. Your altitudes at the same point were repeated hours later within 10', except right at the end, when the altitude started drifting up by 40' (temperature change maybe?) which is typical in any barometric altimeter. In any case, you don't have any problem with your barometric altitudes or climb data. Whatever you're doing now is just perfect.

If you can link some of the other potentially bogus data you were asking about, I can look it over. Otherwise, it's hard to diagnose. Without specific issues to identify, one needs to speculate on everything, which gets quite wordy as you may have noticed from everyone's posts.


----------



## auto (Aug 27, 2009)

BigLarry said:


> I'm not sure if you mean you're getting 700' more or 700' less, and in climb or horizontal distance.
> 
> *Altitude*
> In a quick look, I see your Forerunner doesn't have a barometric altimeter. As such, you're limited to the less accurate "Elevation Corrections". But your route is fairly flat so Elevation Corrections may be OK, as small position errors don't lead to large elevation errors with it being so flat. The only thing suspicious is the big 50 drop around mile 4.8 (do you remember that?) and a few dead flat regions, from changes less than the 1' resolution it appears to have. Maybe the two compensate (extra dip versus flat) to give you a reasonable answer of 200' gain over 9 miles?
> ...


Thanks immensely. There was big drop in that section of the trail.

Once I disabled elevation corrections on my Connect it was exactly what my watch had dialed in, and very close to the stated elevation, although still different from TopoFusion.


----------



## erginguney (Dec 30, 2005)

BigLarry said:


> For a barometric unit, you need to manually set the altitude just once at the begining and then turn off all recalibration.


Or, not even that, if all that you're interested in is total elevation gain, as opposed to the absolute elevation at any point along your ride...


----------



## BigLarry (Jul 30, 2004)

erginguney said:


> Or, not even that, if all that you're interested in is total elevation gain, as opposed to the absolute elevation at any point along your ride...


Yea, calibration is just so your profiles match up. I also like using the altimeter to know when I'll be reaching the peak when climbing, which only works if calibrated.

On other Garmin units, you need to turn off the automatic calibration or else it keeps "fixing the altitude" with error ridden GPS elevation during the ride and messing up the total elevation gain as well. From the data I saw on the Edge, that doesn't seem to happen.


----------



## BigLarry (Jul 30, 2004)

*What is right, and does it matter?*



auto said:


> Thanks immensely. There was big drop in that section of the trail.
> 
> Once I disabled elevation corrections on my Connect it was exactly what my watch had dialed in, and very close to the stated elevation, although still different from TopoFusion.


So now you can explain the differences, but which way is right? That the GPS and Garmin Connect now are the same doesn't make that method more accurate. In fact, Disabling the Elevation Correction just told Garmin Connect to use your dubious elevation data for the same dubious climb total as your GPS unit. (With the change, you can now clearly see big slow 100' drifts in elevation that don't physically exist on the topo maps for your area.) Considering the flat area you ride, and the wide variations in the GPS based elevation without a barometric altimeter, this may be one case where it's better to use the Garmin Connect "Elevation Corrections".

Also, this brings up the question: who really ever has the right answer? In spite of the wide variation in climb data among riders on the same ride, most people will fiercely defend their measure, simply because it's what they've always used and they've already made a mental reference on those numbers, and occasionally some other rider might have got the same number the same way. It's hard, even for me, to emotionally concede a different number may be right. You just need to keep looking at the logic. That's why I decided to finally just do some independent calibrated testing between units and systems.

And it also brings up the question of does it really matter what is the right answer? If you only compare for yourself between rides, then relative numbers on what you have should be fine. The only issue would be when you want to accurately compare to other data on the web, to report properly, or to use someone else's data to determine if a ride is within one's capability. Then, it takes more work and thought as per above.


----------



## slocaus (Jul 21, 2005)

Wherewolf said:


> As far as I know you can not set the initial altitude on the 705. I wish you could. So prior to the ride I always check the elevation at the starting point on Google Earth or Topofusion, and I turn the unit on at least a half hour before the ride to equilibrate. My starting, ending and farthest point elevations are all nearly perfect.





BigLarry said:


> I looked at the manual for the Edge 705 and don't see a calibration menu either.


You can, with waypoints. Garmin added this on 3.10 software 


> * Added ability to use waypoint elevation as the starting elevation for an activity when the user starts within approximately 30m of this waypoint.


I have a "home" waypoint, since I ride from home most often. I have waypoints set for the known location and elevation at each trail head. If you set the 705 on the third screen where elevation is shown, you will see it jump to the elevation when you press the start button, using the waypoint as a calibration point.

Awesome discussion on all this, everyone!

(*quick aside - DO NOT upgrade to the 3.2 version, it is bricking units!*)


----------

