Altitude calculation on GaiaGps
AnsweredA while ago Gaia updated their altitude algorithms so that ascent/descent, low and high were consistent on the web and the device. At the time the blog post (https://blog.gaiagps.com/improved-statistics-in-gaia-gps-for-ios-android-and-gaiagps-com/) acknowledged the controversy when calculating altitude but felt they had a really good solution. They also said they were open to further discussion but I did not see any subsequent discussion.
I'm conflicted how to approach the problem. I compared with Google Earth's elevation profile and get very different answers and to me GE's statistics are much more accurate, however Gaia's support is pretty confident in their results.
My analysis suggests Gaia over smooths the data which under reports ascent especially in the case of rolling hills. The conflict is that over smoothing doesn't affect the results if the elevation over is track is monotonic (up, down or flat) so Gaia will produce very good results for those cases.
If they use a sliding window average-er for smoothing and the window is too wide then it will significantly under report rolling hills. I think if they did something like a low pass filter (such as a Fourier transform and remove the high frequency components) I think it might work better.
But I am happy that they still export the raw measurements in the GPX and KML they export so that I can do my own analysis. I certainly don't want that to change.
I wonder whether a) different GPSs have different characteristics and b) different areas have different distortion.
This makes me think it might be nice if there were a suite of elevation calculation algorithms or if we were able to parameter-ize the algorithms, such as changing the size of the averaging window.
I'm curious what people think.
-
The issue is that the rule for what is erratic is a judgement. Also the averaging window size is also judgement. Every GPS device characteristics is likely to be different.
I think a better way would be to parameterize the algorithm and allow the user more flexibility to customize the algorithm based on their specific experience.
It's pretty clear that Gaia produces altitudes that deviate significantly from surveyed altitudes and also has a lot of jitter. Given there is no perfect answer why not delegate to the user?
-
I find this is still a big problem. The smoothing is far too aggressive. It doesn't make sense that Gaia is calculating elevation gains that are 1,000 ft+ below surveyed stats. And even if you just count the contour lines on topo maps along a track, ignoring big jumps in the track and whatnot, Gaia's number still doesn't make sense.
-
They don't appear to smooth the actual data just ascent, low and high. Therefore, I would suggested downloading Google Earth Pro desktop (not the web version). Then export the track as KML. Open the KML with Google Earth, select Edit->Show Elevation Profile. In addition to elevation profile it gives the gain.
I'm not sure that Google Earth uses the elevation points. What I think it does is use digital terrain elevation data (DTED) (or perhaps it uses both). I added a requested for the gaia cloud to add a DTED server to resolve the issue you might look at.
-
I feel this problem might actually be getting worse? I made a recent track public so you can see:
On this track, gaia android is showing 713 feet of gain. Caltopo shows 1,405 for the gpx file. The gaia route created ahead of time showed 1,038 and we did more up and down than my pre-planned route. I have noticed in past that gain is understated in the gaia android app and I reported this to gaia support. I've gotten used to adding a couple hundred feet to the gain based on my reading of the map and Caltopo usually confirms this. But I think this is the biggest discrepancy I ever recorded-- the gain is understated by almost half??? I'm mostly satisfied with the gaia app but I need better gain numbers!
-
It's certainly not getting better.
Consider this track:
The more bumpy the track is the more they will underestimate because of their smoothing. Your track looks to be very bumpy. I think it's just a function of the track track. Find a track which is mostly monotonic even significant over smoothing will still report accurate ascent.
I've talked to support and pointed out that other sources and even just adding the crudest peak and valley readings show clear underestimation and they consistently disagree.
I've tried to get them to look at DTED and also include barometric altitude so they could have some independent source. To me it's pretty clear they have no intention of fixing this and I've given up. I'm just glad they provide the raw data so I can use other sources like Google Earth or my own program to calculate ascent.
You can download the KML or GPX and analyze the elevation numbers your self.
-
sjmj3us, your track really demonstrates the problem! If I rely on Caltopo's numbers (which I have generally found to be reasonable based on my examination of the map), Gaia's gain numbers were understated by 48% on my bumpy (undulating) hike above. Today I did another hike that was monotonic (mostly all up, then mostly all down). Gaia showed 2,536 feet of gain and Caltopo 2,860, a difference of 11%. I know Caltopo's numbers are closer because Gaia's number is actually less than net gain (difference between highest and lowest points). So I think there is some understatement even on monotonic tracks, but not nearly so much. Thanks for your comments about the smoothing, which explains why the discrepancy is so much larger on some hikes. Like you, I'm glad we have the raw data.
-
@bcorwin
I'm sorry you are seeing such a discrepancy between with your track recording and route.
Was the area you were recording in heavily wooded? Tree coverage or other obstructions to your device's view of the sky can increase GPS drift and cause the app to need to filter your elevation data more.Can you send you activity logs to support and we can also check if there are any errors that would cause for this?
- Open the app> Settings> Other> Send Logs
-
Thanks, Robyn. When I tap "Send Logs" a window comes up that says "Share with" and then a choice between Gmail, Save to Drive, and Whats/App. Which one of these do I click in order to send the logs to support?
This was the one that had the biggest discrepancy:
There was tree cover on much of this route.
-
You can select Gmail and send your logs to support@gaiagps.com.
I took a look at your track and from your notes, it sounds like your comparing your track recording stats to the track imported into CalTopo.
CalTopo filters track information in GPX files differently then Gaia GPS which results in different elevation and distance stats.
Seeing different stats between programs is common as all software handle track information differently. -
I'm also comparing it to the route I created in Gaia ahead of time. The route shows 1,038 feet of gain and the track shows 713 feet. Here's the link for that route:
The two are almost identical on the map-- we followed the route pretty closely. Yet the track shows 31% less gain than the route, and these are both Gaia. When I count the lines on the map, not taking into account any changes less than 40 feet so it's a conservative estimate, I get about 1,000 feet of gain for this hike. This is typical with Gaia, that the track shows a few hundred feet less gain than the route, even when the exact route was followed. A review of the map usually shows that the track was more accurate than the route.
I sent the logs to support and received an acknowlegement. Thanks for your help.
-
I looked a the first route @bcowin posted and there were holes of up to I think two minutes. With that in mind I'd like to address the comment Nathan made: "Then, the data is averaged by every 10 points to achieve a smooth and accurate change in elevation."
At work we heard a lecture on cleaning data and the point was made that you should not smooth by sample that you should smooth over time, just because of drop outs. When you smooth you are assuming a) that the data is approximately constant over the smoothing range and b) that your sensor has jitter. If you are getting a sample a second then this makes sense. However if there is a two minute gap then this doesn't make sense. Therefore I think if there is drop outs it might make the ascent problem even worse.
Gaia might consider what Strava does. What they appear to do is a) add barometric altitude and b) they average multiple runs from each person that's recorded a track over time. Since Gaia has a bunch of recorded track data they could start averaging the points recorded from a hikes to get more accurate data.
Then again I've suggested they could also use the topo data from the open cycle map or a digital terrain elevation data (DTED) server to supplement once synced with the cloud.
-
I just started using Gaia GPS (android). I have the standard paid membership. Went on a hike today which is essentially uphill all the way. However statistics on my track were:
Min Elevation - 7251 (the trailhead)
Max Elevation - 9271 (the point we turned around)
Difference between finish and start - 2020 feet
Ascent - 1876 feet
On the way back I recorded a separate track. In that case the Min Elevation is 7450 even though the track shows the end (finish of the hike back down) about 100 feet from the starting point for the first track (and both are between the 7200 and 7160 lines on the Gaia Topo Map. Apparently that end point was smoothed out because the trail was steeper downhill at the end.
Conclusion: There is something grossly wrong with an ascent that is over 5% less than the difference in elevation of the starting and ending points and even worse a Min elevation that varies by 200 feet when the Min Elevation of each track is within about 10-20 feet of each other by inspecting the topo.
Comment: Come on Gaia GPS you can do better than that!
-
Three years later and I'm having the same issue. Did a hike in Oregon called the Elk-Kings Loop, which has a lot of ups and downs throughout the hike. My Gaia track shows I gained around 3,200 feet, but multiple other online sources show around 3,800 feet of gain. That is a HUGE discrepancy and I'm really frustrated and disappointed in this inaccuracy. Anyone have another tracking app recommendation that's more accurate?
-
GaiaGPSs main competitor is AllTrails:
Here is a hike comparison (I had both recording on the same hike, they might have been on two different devices though I use a phone and a tablet sometimes, I can't remember). (If I did this correctly, but I list the URLs so you could do you're own analysis) then:
Ascent 1637 (GE 1887): https://www.alltrails.com/explore/recording/stone-106-wsteve-g-2820-91636-am-e6e7132?u=i
Ascent 1522 (GE 1992): https://www.gaiagps.com/public/on5NJ9BijZOdCITIbleQdcym
GE means the Google Earth elevation profile (which to me is the most accurate source, Gaia doesn't agree of course), I exported each as KML. Anyway on this one hike there is a 250ft difference between AllTrails and GE and a 470ft difference between Gaia and GE. You can record with a free membership to AllTrails so you could run your own experiments. I have also recorded both on the same device at the same time so a comparison is easy.
I have not used apps like Ride with GPS (which in the description claims is for hikers) and map my ride/run but those may be options (I don't know if they report ascent). If you are interested in accurate ascent as I point out above Strava has some interesting strategies. I think they want accurate characteristics of the trails because they want to be able to support comparison/competitions over time.
-
I recently rode Dumont Lake to Steamboat, and my recording (separate app) captured 3100 ft of elevation. Track on Gaia shows 2900. Okay, close enough. Importing the gpx? 1300ft. Wildly inaccurate. Other routes I know are constantly coming up well under actual elevation gains. This isn't acceptable and I'm off to look for a replacement app.
-
I am posting just to keep this thread alive and to urge Gaia to take action. I am experiencing the same issue as everyone else: vastly inconsistent ascent data between routes and recorded tracks (with recorded tracks underestimating ascent by as much as 40%). I will not post links to my data as Gaia already has a wealth of data points from other users and, for sure, its own internally generated data.
Gaia, you really need to throw more resources at this. It is a fundamental feature of your app and people will start flocking elsewhere if it is not fixed soon.
-
Still a big problem on my android. I can't use the elevation stats within the app at all. I check the gain when I reach the top. Then I know I gain another several hundred feet on the way out and it seems the app is actually.subtracting those gains and the total elevation becomes smaller than I it was when I was on top .
-
I have a similar, but maybe different question. When I compare my ascent stats for the same track on my phone (using gaia app) and on the gaia website, they are way different. For example, I went for a ride yesterday and my gaia app on my phone says 708 feet of ascent, but when I look at the synced track on my laptop (using gaia website) it is saying 968 feet of ascent. That's a pretty big difference.
I started having some questions the previous day when I did a ride that MTB project says is about 1500 feet of ascent, but the gaia app on my phone said it was around 993 feet. However, when I look at my track on the gaia website it is around 1500 feet. Does the phone app really use different calculation methods than the website?
-
Fascinating. Many years ago they were very different but then they changed the software to be "correct" so they were supposed to be the same and for many years as far as I knew they were so this seems like a relatively recent change. I admit I haven't checked this in years, because I gave up on try to get them to improve the calcualtion. I just checked some recent hikes of mine and two are one foot off the other is four feet off so they appear to be out of sync now, also the distance is different. It would be interesting to know which was more correct. My preferred method for correct ascent is to export KML of the track and import it into Google Earth Pro on Windows (the desktop app) load the track and check Edit->Show Elevation Profile.
It might be worth a support request to ask them why they are not in sync.
-
brian.starlin: You want to look at Ascent, is that what you're looking at? Elevation is just your current elevation which will be highest when you are on top. I'm confused if I'm not understanding your email or if you're checking the wrong metric.
That said the app/web site does smooth Ascent so it's possible that the smoothing done when the track is completed will be different than one in the middle of the hike.
Please sign in to leave a comment.
Comments
23 comments