Bug report/feature request

11
votes

Resolved: Elevation Data Accuracy

Started by Cullen King on Feb 25, 10
There is alot of talk about elevation data accuracy. Many people take 'true' numbers to be those provided by Garmin, however, this isn't necessarily the best metric. For example, on an Edge 205 which uses a poor accuracy GPS elevation data, no amount of processing is going to bring that elevation data into 'perfection'. However, we do perform some pretty advanced smoothing to elevation data in order to minimize errors in gain/loss. We are continually working on improving our elevation accuracy with new math formulas. The current idea for those who are math inclined, is to use a Kalman filter to learn and smooth data using multiple signal sources. I'll continue to update this issue as we get more work done on this!

Comments

No Image
Anthony Cree said
about 2 years ago
A means of correcting like the elevation correction add-in in Sport Tracks would be nice.
Bob Lynn
Bob Lynn said
about 2 years ago
I'm confused. When I download my tracks, do you calculate elevation data based on the increments between points on my tracks or is it recalculated based on longitude and latitude between points on my tracks?
Cullen King
Cullen King said
about 2 years ago
There are several ways we calculate elevation. If you are uploading a log file, we use the elevation data in that logfile. We walk along all the points in the file, say some 100 points, and we calculate the difference in elevation from one to the next. If the difference is positive, we add it to elevation gain, otherwise we add it to loss.

The problems come in when you realize that a GPS unit doesn't have super accurate elevation data. Say you are riding a perfectly flat road, but your GPS unit is only accurate to 10 feet. All along the perfectly flat road, we then see gains and losses due to the GPS unit being inaccurate. This is where smoothing comes in, and is the reason why every piece of software and every site has a different value for elevation gain and loss. We are using a pretty advanced filter called a Sinc Filter, which is used in electronics for signal processing. After playing around for a solid week, I felt this was the best filtering I could do at the time. It provides results that match somewhere between what 4 separate Garmin units reports, as well as the USGS elevation data for the united states.

Anthony, we do have a correction utility if you edit your trip. You can see it in the lower right corner of the edit trip screen. This is useful for really poor elevation sets due to the GPS unit being really inaccurate (anything without a barometric pressure altimeter like the 305/605/705 have). We can reset their elevation data to the USGS provided values which are accurate to within a couple meters. However we only have this data for the united states, though we are working on expanding it to the rest of the world.

I have a friend who is a PhD student in artificial intelligence currently looking into better ways to get rid of this noise, so I hope to have even better improvements in the coming months. However with that being said, I feel we do offer the most accurate elevations of any service out there.
No Image
Nate S said
about 2 years ago
Cullen,
You said "We do have a correction utility if you edit your trip. You can see it in the lower right corner of the edit trip screen."
I choose My Profile -> Routes -> Edit and don't see the option. Can you point me in the right direction?

Thank you,
Nathan
Cullen King
Cullen King said
about 2 years ago
Ahh, this is the confusion of routes vs trips. A trip is an instance of a route, which is *usually* created by uploading a TCX/GPX log file from a GPS unit like the Garmin 305. In that case, the elevation data could be bad, or it could be good. A route is *usually* drawn using the planning tool, and the elevations are coming from our elevations dataset. Sometimes a route is created from an uploaded log file. However, we "share" the uploaded data between the route/trip so we don't have to store it twice. As a result, updating elevations on a trip will update the trip's parent route. And, usually, updating the elevations on a route is pointless because the elevations came from us in the first place!

It's a bit confusing, which is why we are working on redefining the relationship between routes/trips. We are moving towards the concept of 'activities' to replace trips, and integrating more workout specific verbiage and metrics into these activities. This should help this confusion.

Let me know if that's still confusing, or if your route is different for some reason.
pete salomone
pete salomone said
about 2 years ago
Here is a comparison of climbing from several mapping programs:

Reservoirs 5
Miles Elevation % of max Source
37.1 2258 100.0% Trimble Outdoors
36.9 2247 99.5% VeloRoutes
37.2 2009 89.0% Ride with GPS
37.5 2125 94.1% Topo 5 software
36.8 2070 91.7% Bikely
37.5 1687 74.7% Garmin 76CSX
36.8 1631 72.2% GPSies
37.2 1349 59.7% Bike Route Toaster
36.5 1214 53.8% Bikemap.net
37.0 974 43.1% Map My Ride
36.9 778 34.5% Road Bike Rides

The route is 37340.

Garmin 76CSX is my gps kept in my back pocket, so it has extra inaccuries.
No Image
Andrejs said
about 2 years ago
I think it should also be remembered that there is no "real" answer to the question of how much climbing was done. No matter how you do it, you're throwing away some variations in elevation and deciding what "counts" as climbing. Going inch by inch, you'd see lumps in the pavement that you want to ignore and trends that you want to count. Those choices and decisions can be made in a huge number of ways. Anyone who wants to use climbing data as part of some on-going program just needs to settle on one algorithm so that the data are consistent and reproducible -- whether they are "true" is unanswerable and irrelevant. Or so it seems to me.
Roland von Kriegenbergh
Roland von Kriegenbergh said
about 2 years ago
I don't have an altimeter or even a gps device. All I want is a routing site that allows me to map routes and tells me fairly accurate elevation gain. Ride with GPS usually doubles the gain I get from Map My Ride. Which do I believe?
Cullen King
Cullen King said
about 2 years ago
I can without a doubt say that we are the more trustworthy source over MMR. They have always been about double the gain of anything reported by our algorithms, by my Garmin Edge 305 and 705, as well as most other services out there like bikely, bikeroutetoaster etc. I am not sure what the heck they are doing for their numbers, but they are far from accurate.
No Image
F P said
about 2 years ago
Is there a way to have the elevation data match actual road profiles? I have to use corrected elevation data because my Edge 305's native output is not at all trustworthy despite what Garmin says about its barometric altimeter (most of my rides start and end at home, and it's not unusual to see that my house has dropped -- or risen -- by 70 feet or more during a ride, which is clearly spurious). The problem, though, is that road elevations don't necessarily follow the contour of the land. As an extreme example, I drew a route across the Rio Grande Gorge, and the profile shows a drop of 560 feet followed by a similar rise on the other side of the river. However, a person who crosses the river via the bridge above it will have traveled a flat path instead of the steep grades down to the river and then back up, so a topographical profile will give erroneous ascent and descent information.
No Image
F P said
about 2 years ago
Speaking of which, I just uploaded some rides that follow identical paths, and I notice that the ascent and descent numbers are different on different days. For example:

3/25: +410/-416 ft, max. grade 7.2%
4/01: +301/-299 ft, max. grade 5.6%

Again, these are on the same route. Why the height and grade discrepancy?
Cullen King
Cullen King said
about 2 years ago
FP: THe discrepancy comes from the 305. It has a +/- accuracy of 1.5 meters, and the sensor itself only reads in 0.5 meter increments. So, it can easily be out by 2 meters on any given point. Additionally, the drift you see in start/end of a loop is because the sensor has to 'calibrate' everytime you use it. Sometimes the calibration isn't the greatest, usually because you start moving before it's fully ready to go. I give my 305 4-5 minutes of being turned on before I start riding (putting helmet on, gloves, shoes etc), and I have noticed incidences like that being reduced.

As far as correction goes, we can correct it to the USGS provided dataset values, but, my guess is the sensor data is more accurate. What I am going to experiment with eventually, is 'fusing' the two datasets together, so more consistent results are obtained. There is no perfect solution unfortunately, but, I have tuned our algorithms using two 305's, a 500 and a 705. They all reported pretty close to eachother, so my guess is that drifts from one day to the next are more a result of weather issues than anything else. It's a hard problem, and I am slowly improving our solutions, but we aren't done yet.
No Image
F P said
about 2 years ago
I always wait until the "acquiring satellites" screen goes away. I guess that's not good enough.
Alex D
Alex D said
almost 2 years ago
I am curious why the same route drawn twice reports different max grade though? route 85309 and route 79590 are the same except one is 2 loops and the other is 3, however 3 loops (85309) has a max grade of 18.1% and 2 loops 13.9%
No Image
david bussey said
almost 2 years ago
Because it feels harder the 3rd time thru the route...

I have a 100 mile route that I just rode. #61731

You have it at 4284 feet climbing
Bikely at 3244

Sigma Computer 3864

havent done it on MMR.

Another ride I did recently the computer came in at 1386 and Ridew/GPS came in at 1262.

It had a ferry river crossing which could be off.

I have wondered on bridges that cross large canyons if the mapping software follows the land vs the road???

Zack Ham
Zack Ham said
almost 2 years ago
We have made recent improvements to our smoothing algorithms for elevation data, and everything should be working fairly well. Please let us know if you have any issues though!
Cullen King
Cullen King said
almost 2 years ago
David, bridges are a pain-point. They usually drop down to water level. This is due to only having an elevation point every 10 meters (30 feet). So most likely the elevation point our service finds while you are traveling on the bridge is the one corresponding to the water level, far far below. I have mentally toyed with the idea of trying to detect this, but it's low on the priority list.
BentBierz
BentBierz said
almost 2 years ago
Is it safe to assume that when I accept Ride with GPS's elevations after importing from my Garmin that that is the reason for a difference in maximum speeds for a ride? I have a max speed on one ride of 36.7. When I imported the ride into Ride with GPS and accepted the elevations the max speed dropped to 34.2. Thanks.
You must be logged in to comment...Create an account real quick