GPX differences between apps

Items that do not fit the categories above.
Forum rules
  • This is a mountaineering forum, so please keep your posts on-topic. Posts do not all have to be related to the 14ers but should at least be mountaineering-related.
  • Personal attacks and confrontational behavior will result in removal from the forum at the discretion of the administrators.
  • Do not use this forum to advertise, sell photos or other products or promote a commercial website.
  • Posts will be removed at the discretion of the site administrator or moderator(s), including: Troll posts, posts pushing political views or religious beliefs, and posts with the purpose of instigating conflict within the forum.
For more details, please see the Terms of Use you agreed to when joining the forum.
User avatar
daway8
Posts: 1666
Joined: 8/24/2017
14ers: 58  31 
13ers: 184 30
Trip Reports (83)
 

GPX differences between apps

Post by daway8 »

NERD ALERT: There's probably a pretty simple explanation and I could likely pull most of this off of Google (as well as dig out some info from this forum with the right search terms), but since it's a topic I'm sure many others are curious about and which seems to come up frequently in conversation and also perhaps changes a bit over time as technology changes...

I'm wondering how is it that I record GPX tracks using the GAIA app on my phone, then logon to GAIA from from pc, export the GPX tracks, import them to CalTopo and the file in CalTopo seems to show more detail than the GAIA tracks from my phone or pc (such as showing where I wondered back and forth a bit, climbed down but then back up a rock feature, etc) and I also see a more than 1,000ft difference in what GAIA vs CalTopo reports for the overall gain of the exact same GPX track, plus CalTopo reports about 1 extra mile?

Which stats are more likely to be most accurate? Should I report elevation stats from CalTopo because it seems to be more precisely capturing everything? But for mileage should I perhaps go with the GAIA numbers because it seems to smooth out all those little back and forth movements like strolling around the summit to try to tag every possible high point? (I noticed GAIA often shows just a straight line on a summit even if I did considerable zigzags to step on all the highest rocks - so by smoothing those out maybe it keeps you more to the "baseline" mileage without all the small deviations that add up over the course of a day...)
User avatar
BillMiddlebrook
Site Administrator
Posts: 6752
Joined: 7/25/2004
14ers: 58  47  19 
13ers: 174 45 37
Trip Reports (5)
 

Re: GPX differences between apps

Post by BillMiddlebrook »

I have answers. Maybe not ones that specifically show how CalTopo or GAIA have designed their algorithms, but I think I can offer what they might be doing that causes the differences.

And, I'll expand on this in the morning, when I have more brain power... :)
Fascism, xenophobia, racism, and ignorance are not inevitable—they are choices. And so are compassion, understanding, and justice. Educate yourself and choose better.
User avatar
RobbS
Posts: 22
Joined: 11/24/2020
14ers: 36 
13ers: 84
Trip Reports (0)
 

Re: GPX differences between apps

Post by RobbS »

I can only comment on Gaia GPS which I have been using for five or six years. My experience is that at the end of a day the total mileage number is pretty accurate (apparently) but the total ascent number is almost always 20-30% low. I usually hike with a group of four and we all use different trackers: Two models of Garmin watches and also the All Trails app. In the end, all of the total mileage numbers are pretty consistent (close enough) but Garmin and All Trails both show total ascent numbers 20-30% higher. It's become a running joke within the group. When I get home and look at the GPX track generated by Gaia I can see from the elevation profile that the app has apparently collected accurate elevation data. From the elevation profile it's often easy to see that the total ascent for the day is significantly higher than the Total Ascent number reported by the app. For a typical two mountain day you can just look at four elevation points (start, first summit, saddle and second summit) and come up with a rough total ascent number. I could be wrong, but it seems to me that this rough number should be the minimum possible total ascent for the hike in that it ignores little ups and downs along the way that could only increase the total. I have exported a few of these Gaia GPX tracks and then imported them to CalTopo and the result is a much more reasonable total ascent number. I've also noticed on several occaisions that the Total Ascent number on the Gaia app will actually decrease during some part of a hike (for example I see 3,000' ascent and then an hour later is see only 2,700' of ascent). So, i'm confused. I know it's not just me because I've seen this described on other forums but I have never seen any response from the company. Otherwise, I really enjoy using Gaia GPS.
User avatar
BillMiddlebrook
Site Administrator
Posts: 6752
Joined: 7/25/2004
14ers: 58  47  19 
13ers: 174 45 37
Trip Reports (5)
 

Re: GPX differences between apps

Post by BillMiddlebrook »

After developing tracking algorithms in the .com mobile app and site route descriptions, etc., here are a few thoughts on this...

Each site is using their own calculations when running through the points inside the raw GPX (file) track. They might have their own "smoothing" routine (or none at all) to take out what they calculate as unacceptable "drift." Drift is why total distance calculations can be dramatically different and why so many people say "My watch said I went 10 miles, but the route description says 7!". Sites perform smoothing differently. Even here on the .com and in the mobile apps, I have a complex smoothing algorithm, combined with a custom elevation lookup process. In short, the smoothing algorithm walks through points as A, B, & C, and if B plots far from the distance between A & C, B is a candidate for removal. And so on through the track. So, they would set some constants as to what is "unacceptable" drift.

In addition to horizontal (distance) drift, there's also vertical checks (elevation) that may be performed. Meaning, even if your device provided an elevation for each point, their algos may check track points for obvious elevation differences that aren't likely, and smooth them out. They may just do all their own point elevation lookups for each track point, ignoring the provided device elevations. This can change the calculations a lot if there is vertical drift. And then there's the option of doing nothing and just using the point elevation provided by your device. Not great and will likely rack up unnecessary elevation totals.

For the .com stuff, I've developed a horizontal smoothing routine that combines a speed/distance A/B/C filter with a modified Ramer-Douglas-Peucker algorithm. Plus, I run missing or suspect elevations through the .com elevation lookup to get better elevation values.

I don't know exactly how GAIA and CalTopo compare when it comes to these calculations, but I guarantee they have their own calculations, so the output is different. If a gpx track seems longer or has more inflated stats in CalTopo, maybe they are allowing more of the drift, or not removing any of it.
Fascism, xenophobia, racism, and ignorance are not inevitable—they are choices. And so are compassion, understanding, and justice. Educate yourself and choose better.
skyrme17
Posts: 70
Joined: 7/8/2018
14ers: 33 
13ers: 3
Trip Reports (1)
 

Re: GPX differences between apps

Post by skyrme17 »

That's an interesting topic. I agree that smoothing may reduce errors in total distance, but I wonder if no smoothing at all may yield a more accurate result in terms of covered distance, particularly on winding trails. For a given error of a single measurement (L) and the number of points logged (N), the error of the sum is (N^1/2)L. For e.g. L=10' and points logged every 5s over a 12 hr hike, the distance overcount will be less than 1000' (0.19 miles).

Edited to clarify that the (N^1/2)L is the error of the end point. If distance is calculated by summing the difference between data points, it will be proportional to N, and much larger.
Last edited by skyrme17 on Mon Aug 10, 2026 12:35 pm, edited 1 time in total.
User avatar
WildWanderer
Posts: 161
Joined: 7/25/2017
14ers: 58  18 
13ers: 584 13
Trip Reports (407)
 

Re: GPX differences between apps

Post by WildWanderer »

I've been wondering this for years. My stats (elevation gain and mileage) are all over the place. I use my iPhone, Apple Watch, Strava, and CalTopo, and all four give me different stats. If the climb is long and has drastically different figures I'll post all my stats for the different platforms and let people decide for themselves, but traditionally I've just been using CalTopo for mileage and elevation gain to remain consistent. However, my Strava stats are way more impressive when it comes to elevation gain and while I'd love to use those to up my elevation gain and look cooler I know they aren't reliable. I'm not sure why but I've also found a person's height makes a difference. If I'm climbing with someone of a similar height we have similar stats. If they're taller than me (which is usually the case) their numbers for distance/mileage are lower than mine.
It's a mountain: get over it.
User avatar
susanjoypaul
Posts: 2148
Joined: 9/8/2006
14ers: 58  2 
13ers: 95 6
Trip Reports (2)
 

Re: GPX differences between apps

Post by susanjoypaul »

Some devices continue adding waypoints when you stop moving. Garmin has an Auto-Pause function that you can turn on to prevent this. Just sitting for a few minutes can add a quarter of a mile! If your device doesn't allow for that, you can look for waypoint "clusters" in your track and delete them manually. Also, the distance between waypoints will make a difference in the overall distance (also a setting you can control).
User avatar
jrbren_vt
Posts: 720
Joined: 2/18/2006
14ers: 17 
13ers: 43
Trip Reports (0)
 

Re: GPX differences between apps

Post by jrbren_vt »

I will have both Gaia and All Trails recording just about all of my hikes. I do the All Trails because Gaia always under reports the elevation gain, I want the most accurate measurement I can get. As mentioned already, Gaia doesn't agree with itself. If I add up all the minima to maxima elevation changes in the elevation profile that it plots for me in my account, that should match the elevation gain number. The elevation gain number is always less. The all trails number matches the on line Gaia sum of the the minima to maxima elevation changes in the on line elevation profile. One difference in my experience is the number has never been 20-30%, luckily, its pretty consistently a 5-10% type difference. Enough to be annoying and make me record with All Trails too. The more up and down on the course, the worse the delta. So a course with no ups & downs will be pretty close. I also got no response from Gaia when I asked about this on their forum. I have never used Strava or CalTopo to record my hikes, I have considered it, but really fear I would then have 4 conflicting numbers instead of two. I used to record all my hikes with pen and paper, guidebooks and paper maps counting topo lines when I lived in New England. I consider the the golden value. All Trails agrees with that approach reasonably well. Since 90% or more of my hikes are not 14ers, I have only used that app a couple of times for recording a hike. I started using these apps regularly when I moved to Colorado 5 years ago doing a lot of off trail routes.
*****************
Best Regards
*****************