The challenge of measuring elevation

Blog

The challenge of measuring elevation

10 November 2019      Jordan

 

If you regularly record your runs or rides with a GPS device and upload them to a platform like Strava, at some point you’ll have scrutinised the elevation profile that was generated. There may be times where you know that you’ve been grinding your way up an unrelenting incline, only to find that the resulting elevation profile inexplicably shows drops or kinks in the topography that you’re pretty sure you didn’t encounter. Perhaps it even shows that for part of your climb you were going downhill. While these aberrations are often minor in isolation, over the course of many kilometres they can compound to give woefully inaccurate metrics of your total ascent and descent.

The elevation profile below from Trailforks is of Fringed Hill Road, from Tantragee Saddle to the summit. Run your cursor along the profile and note the metrics recorded in the grey box.

 


Fringe Hill Climb

 

That fact that there is any descent on the upward leg is immediately concerning; anyone who’s been up Fringed Hill knows that it’s pretty much straight up the whole way. To say you’ll drop 126 m on your way to the top (nearly equivalent to the height of Botanical Hill, which is 147 m) is ridiculous. Perhaps what’s worse is the total ascent given; for every little drop in the profile there’s a corresponding climb, leading to a total ascent that is 20% higher than reality. The start and end elevations (180 m and 795 m respectively) are accurate though, and since it’s a constant climb, it’s pretty safe to say that the difference between the two should give us the total climb (615 m).

For a lot of runners and bikers this isn’t overly worrying; for them, they know where they went and how hard it felt, and they don’t really care what the numbers say. But if you’re a stats junkie like me, this is very frustrating, particularly if your activity is shown as being harder than it actually was.

So why is this happening? What is all this elevation ‘noise’ that is causing the ascent and descent metrics to be so far off? To answer what is happening here, we have to understand where the underlying data comes from and how it is created.

 

Digital Elevation Models

Digital elevation models (DEM) are elevation ‘basemaps’ that are used by any application that provides an elevation measure (like Google Earth or Strava). These are essentially a grid of information like an image, with each ‘pixel’ holding elevation, rather than colour information. DEMs are typically produced from LIDAR, wherein plane-mounted laser ranging is used to sample elevation points across the land surface in a uniform grid pattern. Local councils fly LIDAR every few years, though since it’s still quite expensive, only important areas (i.e. urban areas) are captured in high resolution (1 point per 0.25 m2). Rural areas are typically captured in slightly coarser resolution, and un-populated areas like the Richmond Ranges are not captured at all; for the latter you’ll have to rely on global-scale satellite-derived data, which is generally no better than 25 m resolution. Global-scale data is also relied upon as the base data for applications like the aforementioned Google Earth and Strava, given that any dataset on a worldwide scale has to be limited in size somewhat to allow it to still be usable. High resolution DEMs are accurate enough to can be considered the ‘truth’.

Smooth, realistic DEMs are created by interpolating between the sampled points. This is particularly important for landscapes that have been sparsely sampled, or else the resulting DEM would appear like a stack of lego bricks. However, this is problematic when the terrain is steep and irregular, where interpolation incorrectly smooths-over small (but potentially significant) topographical features. The important thing to remember is that an interpolated elevation isn’t a real physical measurement, but rather a theoretical one based on real sampled elevation points nearby. This concept applies to contours, which are really only an approximation of where that particular elevation line exists, based on the surrounding points that have been sampled.

 

 

Elevation Capture

When you’re out in the field, you’re stuck with whatever data your device is giving you. Different GPS devices use different technologies to measure elevation, and their cost generally aligns with the quality of the hardware and corresponding higher-accuracy data capture. Low- to mid-range devices use GPS to measure elevation, and will often have at least 20 m error in their measurement. Look at the example from one of my Grampians runs; on the left is my run (yellow) mapped against the actual location of Grampians Summit Road (red) in plane view. The horizontal accuracy isn’t perfect, but it’s not going to give me a wildly-inaccurate distance measurement. However, when that same section is viewed in 3D, the vertical inaccuracy of my watch’s data (around 18 m) becomes obvious.

 

 

High-end devices use barometric altimeters (air pressure) to measure elevation i.e. they rely on the standard relationship between air pressure and elevation from mean sea level. These are more reliable as they record locally and do not depend on satellite connection for measurement. They’re also able to be calibrated if you know your exact altitude at a given location (e.g. at a trig point), which is a necessary feature as barometric altimeters can be thrown off due to pressure fluctuations caused by changing weather.

 

Platforms

I use a mid-range Polar M430 watch to record my activities. Polar device owners can use a proprietary platform called Polar Flow, which includes elevation analysis, but only shows what your device has captured (i.e. there’s no post-processing going on to correct erratic data). My watch records total ascent and descent in 5 m increments, which goes some way to smoothing out vertical inaccuracies. I prefer the conservative approach as I’d prefer to think I’d done more than I thought than vice-versa, but I can often see that my total ascent and max elevation reached for a given run are significantly less than reality.

I also use Strava for the social element. Strava is by far the most-widely used platform and is also device-agnostic, so it doesn’t matter whether you’ve got a Garmin, Suunto or Fitbit device. The interesting thing about Strava’s elevation calculation is that they actually use crowd-sourcing to build their global DEM, specifically from users whose devices have barometric altimeters. This allows their DEM to be constantly calibrated and updated every time someone uploads a new activity. Strava is a large-enough community that this is a viable option, and it is undoubtedly a very powerful way of ensuring their data is as accurate as feasibly possible. To get a sense of just how widely-used Strava is, have a look at their global heatmap.

If your device has a barometric altimeter, Strava will use the elevation data your device has captured, and also applies some smoothing to remove errant points. However, if your device relies on GPS for elevation, Strava will override your device’s data and build an elevation profile from its own DEM. This why you may see a difference in the elevation profiles between Strava and whichever other platform you’re using, like Polar Flow. When your route falls outside the crowd-sourced DEM coverage area, i.e. you’re out somewhere not many people go, Strava relies on whatever DEM is publicly-available for those data points.

 

The Effect of XY Location

What you may have realised by now is that it’s all very well to have a high resolution, calibrated DEM to use for elevation, but what about the accuracy of the two main locational dimensions, X and Y?

When you’re out recording your activity, your device samples your XY location (latitude and longitude) at set time intervals. The sampling interval determines the accuracy of the recording, e.g. every 2 sec (high) to every 30 sec (low), and most devices have the ability to change this in order to conserve battery life. Various atmospheric conditions and physical obstacles can affect the signal, so even on high accuracy setting your recorded route is unlikely to be 100% accurate.

This becomes very obvious when you upload your activity to Strava, turn on imagery as the basemap, and see that your device recorded you as weaving back and forth across a track as if you were drunk (and you’re pretty sure you weren’t). Even when you’re out in the open with seemingly nothing to disrupt your satellite signal, your recorded route can be several metres to the side of the track or footpath you were travelling along (which is in line with the expected ~5 m accuracy of most GPS devices in the open). If you’re with a friend who’s also recording, your recorded routes will almost certainly be different, likewise if you go out and run the exact same circuit twice and do a side-by-side comparison of the resulting route. This horizontal inaccuracy won’t affect your total distance too much, though it can have a significant influence on recording of elevation.

Your recorded route is a series of sampled data points. When laid out across a DEM, each point falls into a particular pixel, and the elevation from that pixel is assigned to that point to generate the elevation profile. Aside from using a poor quality DEM, inaccuracy of XY data is where elevation ‘noise’ comes from and is where your total ascent and descent metrics get heavily distorted.

This is a real problem if you’re somewhere with steep topography around you, particularly when you’re travelling perpendicular to the direction of slope, such as sidling a steep hillside. In these situations a horizontal difference of 20 m may equate to a 5 m difference in elevation. Over the course of several kilometres, each time a sampled point wanders either side of the track (upslope then downslope), the compounding change in elevation becomes significant. This is what can be seen in the Trailforks profile for Fringed Hill at the top.

 

 

Solution?

So what’s the solution to capturing the most accurate elevation data? The first thing is to control the controllable, and that’s the quality of your gear. A device with barometric altimeter and higher quality GPS hardware is an obvious start, though make sure you do your research. There is plenty of knowledge available in regard to consumer testing and tech gear reviews, so you’ll know what kind of accuracy you can expect from a given device. There will always be limitations with recording with GPS, particularly when you’re out in tricky topography or under thick forest cover, and you’ll have to live with these unless you’re keen to spend time manually correcting your recorded data in GIS software (not recommended).

Use Strava to take advantage of being able to tap into the data of millions of users to validate and correct your recordings. Strava also claims to help realign your route onto the ‘correct’ path, for example if your data shows you running several meters to the side of a known track, it will assume that you were actually on that track.

If you’re on your bike you also have the advantage of being able to use an odometer; while this can’t measure your absolute location, at least you’ll know your distance traveled (which is the most important thing), and you have a more reliable method of accounting for 3D distance (in regard to climbs and descents).

 

I hope you found this information useful! Let me know your thoughts below and please point out anything you think I’ve got wrong. I intend to follow this up with another post on Nelson’s hardest hill climbs. Until then, happy outdoors-ing!

 

Welcome to the Nelson Trails Blog, where I post trip reports and other things worth sharing.







Blog

Welcome to the Nelson Trails Blog, where I post trip reports and other things worth sharing.

View all posts

The challenge of measuring elevation

10 November 2019      Jordan

 

If you regularly record your runs or rides with a GPS device and upload them to a platform like Strava, at some point you’ll have scrutinised the elevation profile that was generated. There may be times where you know that you’ve been grinding your way up an unrelenting incline, only to find that the resulting elevation profile inexplicably shows drops or kinks in the topography that you’re pretty sure you didn’t encounter. Perhaps it even shows that for part of your climb you were going downhill. While these aberrations are often minor in isolation, over the course of many kilometres they can compound to give woefully inaccurate metrics of your total ascent and descent.

The elevation profile below from Trailforks is of Fringed Hill Road, from Tantragee Saddle to the summit. Run your cursor along the profile and note the metrics recorded in the grey box.

 


Fringe Hill Climb

 

That fact that there is any descent on the upward leg is immediately concerning; anyone who’s been up Fringed Hill knows that it’s pretty much straight up the whole way. To say you’ll drop 126 m on your way to the top (nearly equivalent to the height of Botanical Hill, which is 147 m) is ridiculous. Perhaps what’s worse is the total ascent given; for every little drop in the profile there’s a corresponding climb, leading to a total ascent that is 20% higher than reality. The start and end elevations (180 m and 795 m respectively) are accurate though, and since it’s a constant climb, it’s pretty safe to say that the difference between the two should give us the total climb (615 m).

For a lot of runners and bikers this isn’t overly worrying; for them, they know where they went and how hard it felt, and they don’t really care what the numbers say. But if you’re a stats junkie like me, this is very frustrating, particularly if your activity is shown as being harder than it actually was.

So why is this happening? What is all this elevation ‘noise’ that is causing the ascent and descent metrics to be so far off? To answer what is happening here, we have to understand where the underlying data comes from and how it is created.

 

Digital Elevation Models

Digital elevation models (DEM) are elevation ‘basemaps’ that are used by any application that provides an elevation measure (like Google Earth or Strava). These are essentially a grid of information like an image, with each ‘pixel’ holding elevation, rather than colour information. DEMs are typically produced from LIDAR, wherein plane-mounted laser ranging is used to sample elevation points across the land surface in a uniform grid pattern. Local councils fly LIDAR every few years, though since it’s still quite expensive, only important areas (i.e. urban areas) are captured in high resolution (1 point per 0.25 m2). Rural areas are typically captured in slightly coarser resolution, and un-populated areas like the Richmond Ranges are not captured at all; for the latter you’ll have to rely on global-scale satellite-derived data, which is generally no better than 25 m resolution. Global-scale data is also relied upon as the base data for applications like the aforementioned Google Earth and Strava, given that any dataset on a worldwide scale has to be limited in size somewhat to allow it to still be usable. High resolution DEMs are accurate enough to can be considered the ‘truth’.

Smooth, realistic DEMs are created by interpolating between the sampled points. This is particularly important for landscapes that have been sparsely sampled, or else the resulting DEM would appear like a stack of lego bricks. However, this is problematic when the terrain is steep and irregular, where interpolation incorrectly smooths-over small (but potentially significant) topographical features. The important thing to remember is that an interpolated elevation isn’t a real physical measurement, but rather a theoretical one based on real sampled elevation points nearby. This concept applies to contours, which are really only an approximation of where that particular elevation line exists, based on the surrounding points that have been sampled.

 

 

Elevation Capture

When you’re out in the field, you’re stuck with whatever data your device is giving you. Different GPS devices use different technologies to measure elevation, and their cost generally aligns with the quality of the hardware and corresponding higher-accuracy data capture. Low- to mid-range devices use GPS to measure elevation, and will often have at least 20 m error in their measurement. Look at the example from one of my Grampians runs; on the left is my run (yellow) mapped against the actual location of Grampians Summit Road (red) in plane view. The horizontal accuracy isn’t perfect, but it’s not going to give me a wildly-inaccurate distance measurement. However, when that same section is viewed in 3D, the vertical inaccuracy of my watch’s data (around 18 m) becomes obvious.

 

 

High-end devices use barometric altimeters (air pressure) to measure elevation i.e. they rely on the standard relationship between air pressure and elevation from mean sea level. These are more reliable as they record locally and do not depend on satellite connection for measurement. They’re also able to be calibrated if you know your exact altitude at a given location (e.g. at a trig point), which is a necessary feature as barometric altimeters can be thrown off due to pressure fluctuations caused by changing weather.

 

Platforms

I use a mid-range Polar M430 watch to record my activities. Polar device owners can use a proprietary platform called Polar Flow, which includes elevation analysis, but only shows what your device has captured (i.e. there’s no post-processing going on to correct erratic data). My watch records total ascent and descent in 5 m increments, which goes some way to smoothing out vertical inaccuracies. I prefer the conservative approach as I’d prefer to think I’d done more than I thought than vice-versa, but I can often see that my total ascent and max elevation reached for a given run are significantly less than reality.

I also use Strava for the social element. Strava is by far the most-widely used platform and is also device-agnostic, so it doesn’t matter whether you’ve got a Garmin, Suunto or Fitbit device. The interesting thing about Strava’s elevation calculation is that they actually use crowd-sourcing to build their global DEM, specifically from users whose devices have barometric altimeters. This allows their DEM to be constantly calibrated and updated every time someone uploads a new activity. Strava is a large-enough community that this is a viable option, and it is undoubtedly a very powerful way of ensuring their data is as accurate as feasibly possible. To get a sense of just how widely-used Strava is, have a look at their global heatmap.

If your device has a barometric altimeter, Strava will use the elevation data your device has captured, and also applies some smoothing to remove errant points. However, if your device relies on GPS for elevation, Strava will override your device’s data and build an elevation profile from its own DEM. This why you may see a difference in the elevation profiles between Strava and whichever other platform you’re using, like Polar Flow. When your route falls outside the crowd-sourced DEM coverage area, i.e. you’re out somewhere not many people go, Strava relies on whatever DEM is publicly-available for those data points.

 

The Effect of XY Location

What you may have realised by now is that it’s all very well to have a high resolution, calibrated DEM to use for elevation, but what about the accuracy of the two main locational dimensions, X and Y?

When you’re out recording your activity, your device samples your XY location (latitude and longitude) at set time intervals. The sampling interval determines the accuracy of the recording, e.g. every 2 sec (high) to every 30 sec (low), and most devices have the ability to change this in order to conserve battery life. Various atmospheric conditions and physical obstacles can affect the signal, so even on high accuracy setting your recorded route is unlikely to be 100% accurate.

This becomes very obvious when you upload your activity to Strava, turn on imagery as the basemap, and see that your device recorded you as weaving back and forth across a track as if you were drunk (and you’re pretty sure you weren’t). Even when you’re out in the open with seemingly nothing to disrupt your satellite signal, your recorded route can be several metres to the side of the track or footpath you were travelling along (which is in line with the expected ~5 m accuracy of most GPS devices in the open). If you’re with a friend who’s also recording, your recorded routes will almost certainly be different, likewise if you go out and run the exact same circuit twice and do a side-by-side comparison of the resulting route. This horizontal inaccuracy won’t affect your total distance too much, though it can have a significant influence on recording of elevation.

Your recorded route is a series of sampled data points. When laid out across a DEM, each point falls into a particular pixel, and the elevation from that pixel is assigned to that point to generate the elevation profile. Aside from using a poor quality DEM, inaccuracy of XY data is where elevation ‘noise’ comes from and is where your total ascent and descent metrics get heavily distorted.

This is a real problem if you’re somewhere with steep topography around you, particularly when you’re travelling perpendicular to the direction of slope, such as sidling a steep hillside. In these situations a horizontal difference of 20 m may equate to a 5 m difference in elevation. Over the course of several kilometres, each time a sampled point wanders either side of the track (upslope then downslope), the compounding change in elevation becomes significant. This is what can be seen in the Trailforks profile for Fringed Hill at the top.

 

 

Solution?

So what’s the solution to capturing the most accurate elevation data? The first thing is to control the controllable, and that’s the quality of your gear. A device with barometric altimeter and higher quality GPS hardware is an obvious start, though make sure you do your research. There is plenty of knowledge available in regard to consumer testing and tech gear reviews, so you’ll know what kind of accuracy you can expect from a given device. There will always be limitations with recording with GPS, particularly when you’re out in tricky topography or under thick forest cover, and you’ll have to live with these unless you’re keen to spend time manually correcting your recorded data in GIS software (not recommended).

Use Strava to take advantage of being able to tap into the data of millions of users to validate and correct your recordings. Strava also claims to help realign your route onto the ‘correct’ path, for example if your data shows you running several meters to the side of a known track, it will assume that you were actually on that track.

If you’re on your bike you also have the advantage of being able to use an odometer; while this can’t measure your absolute location, at least you’ll know your distance traveled (which is the most important thing), and you have a more reliable method of accounting for 3D distance (in regard to climbs and descents).

 

I hope you found this information useful! Let me know your thoughts below and please point out anything you think I’ve got wrong. I intend to follow this up with another post on Nelson’s hardest hill climbs. Until then, happy outdoors-ing!

 

Share your thoughts and comments

  Subscribe  
Notify of