Technical note: Incorrect elevations at high latitudes
Warning: Geekery
After my very hilly tour of the Czech Republic where I averaged less than this per day, I went back and took a look at the elevation plots for this tour supplied by RideWithGPS.
They are, in a word, completely frigging wrong - as I had suspected. A big clue is one day in the border is down as a 3,300m of ascent! This would definitely not be compatible with my description of "very gentle" and is certainly not correct. I had actually corrected this crudely in the previous total by going no it's about half that - but even that was an overestimate.
There seems to be quite a serious problem with the smoothing or resolution of the elevation data for this rather remote area, which leads to lots of elevation fluctuations that are counted as small climbs. Away from the border, it seems more accurate, giving 600-700m days. I started to look into this, and found the reasons surprising and rather interesting... to the extent where I thought it justified a (geeky) page of its own.
(Obviously I am motivated purely here through the spirit of scientific enquiry, and not at all to show that I wasn't some kind of hill-climbing machine back in 2017 and have massively degraded since then).
So, here's the original trace for the dodgiest day, crossing the border between Värmlandslan and Hedmark:
Heart | 0 | Comment | 0 | Link |
The artefacts are pretty clear here, and contribute hundreds of metres to the climb (needless to say I do not remember any 35% gradients on this ride). But even on days which seemed more reasonable, there was a serious problem:
The lack of terrible artefacts and the sane total climb of 1,482m hides what's important here: this day was almost completely a gentle downhill cruise following the river. Climbing of more than 1000m is just implausible. The overall shape of the elevation profile shows this accurately - but look very closely, and you'll see that the profile is rough and crinkly:
This constant fluctuation - presumably caused by a large error residual on the elevation data - massively adds up. In an obviously flat 10km right by the river, it claims 150m of climbing. In some landscapes (I'm looking at you, Wales) this would be plausible, but not on this smooth descent.
Because I was curious on what the real elevation looked like for these days, I set out to try to replace the elevation data with something more reliable using the Viking software.
This turned out to be harder than I thought. Even after I'd rebuilt the most recent version, Viking couldn't retrieve any SRTM elevation data automatically for any region north of Oslo. Why? Well, looking at the SRTM (Shuttle Radar Topography Mission) data from NASA - which gives elevation data to 1 arc second (about 30m) resolution - there's a very simple explanation. Nowhere north of 60 degrees has any coverage whatsoever!
![](https://images.cycleblaze.com/o9dil7t8isra45apzzv4m632t5r_2000.jpg)
Heart | 0 | Comment | 0 | Link |
Hmm, so while there are problems with the RideWithGPS trace, it does some reasonable elevation data, which it must be getting from somewhere. The Japan Aerospace Exploration Agency also makes elevation data, gathered by a different method, publically available. But when you look at this region of Norway:
That big black streak - no data due to clouds or snow - is right over the region I cycled through!
So it seems that RideWithGPS actually does a pretty impressive job at stitching together and putting together something plausible out of:
- High resolution SRTM data from NASA (30m resolution)
- Lower resolution scanning data from JAXA (30m resolution)
- Conventional mapping data collected as GTopo (1km resolution)
This doesn't help me get a more accurate read on the total climb, though. Since good data isn't available, and the gross absolute elevations are probably right, I turned to analytical methods. I used the GPX elevation smoother tool with some pretty aggressive settings, and then manually corrected the obvious artefacts in the GPX files themselves.
This gives traces that look almost identical, but have dramatically different total climbs. Here's the border crossing, with the artefacts removed and smoothing applied:
The absolute profile, with the 400-500m plateaus separated by the ~150m valleys, is still there - but the total climb is now down to 1,300m - that's 2,000m less than before correction!
On the riverside ride to Oslo, despite the lack of obvious artefacts, the effect is as dramatic:
That's now 850m down from 1,500m. Maybe still a little on the high side, but much more plausible.
I'll be replacing the maps on the Swedish tour blog with some smoothed versions. It's a very minor change of interest only to the truly nerdy, but since I've bothered to look into this, I figure I might as well.
What about the GPS, which I've been carrying more recently and directly records elevation?
Well, sometimes it goes wrong, particularly when it loses signal on an area with steep gradients and records a "wandering" trace that picks up elevation. This is a bit of an edge case and happens rather rarely, but a good example was in Karlovy Vary on the last day of the Czech Republic, when I popped into a shop with it:
![](https://images.cycleblaze.com/p437ugyqn6o9srgs4l2b58be4is_2000.png)
Heart | 0 | Comment | 0 | Link |
This is a clear artefact with potential to add a couple of hundred metres - but RideWithGPS, at least, seems to correctly smooth out this, and it ends up adding only 50m to the total. Indeed, when I applied the same smoothing approach to the whole day's trace, the total fell by only 32m out of a total climb of 1,681m for the day. The error is really negligible.
This suggests the GPS data is much less vulnerable to the kinds of artefacts and smoothing problems I saw on the Swedish data. I also suspect it is as accurate (in terms of absolute metres height above sea level) as the reference elevation data - though, of course, that matters a lot less if you're interested in climbs and descents. And generally I am!
Rate this entry's writing | Heart | 1 |
Comment on this entry | Comment | 0 |