Aug 24, 2015

GPS Elevation Correction

Fix bad GPS data with our integrated ground elevation database

Today we announce a new feature that has been a very popular request from our users:

Elevation Correction!

If your watch or cycling computer gives you unreliable elevation data (either GPS or barometric), now you can fix it with one button click. We've also enabled an option to auto-correct data on new workouts. You can undo elevation correction (to revert to your recorded data), and you can even overlay the original recorded data with the corrected data on a chart to see where differences are. Interested? Read on.

Why is Elevation Correction Important?

As a runner or cyclist your key performance metrics are speed, distance and time. On the other hand your watch will also record changes in your altitude during your workout. You may not know, but these altitude changes are the basis of several calculations related to performance:

  • Your total elevation gain and loss and related personal records.
  • Your equivalent level pace (i.e. Grade Adjusted Pace).
  • Auto-detection of hill climbs, and related metrics (e.g. Vertical Ascent Meters or VAM).
  • Your effort (TRIMP) for speed-based workouts.

However, a problem arises: in some scenarios, elevation recorded from your device can be inaccurate. Inaccurate inputs means inaccurate calculations and inaccurate performance data. This is where elevation correction comes in. If your recorded elevation is bad, you can use our world-wide database of measured ground elevations to "fix" your elevation data and recalculate any related metrics.

Correcting Elevation for a Single Workout

To fix elevation for an existing workout, go to the workout details, click the "Edit" button and select "Correct Elevation"

After some time the page will refresh with your elevation data replaced by data from the ground elevation database. You may notice changes in the elevation gain/loss values, and other fields that have been recalculculated based on the new elevation data.

If you don't like the ground elevation data, you can revert the change by clicking the "Edit" button and selecting "Correct Elevation" to uncheck it.

No need to export your original workout file, or save a copy around like other websites - we do the work for you and make it as easy as a button click.

Viewing Corrected vs Recorded Data

On workouts where elevation has been corrected you can view the original recorded elevation data in the chart. This can be useful to compare the two and see what corrections were made. Select the Elevation (Recorded) option from the chart metric list, either as a single chart or overlay.

Enabling Auto-Correction for New Workouts

If you know your GPS device consistently gives you bad elevation data you can enable an option to turn on auto-correction for every new workout imported into your history. This option applies to workouts added through a sync feature (such as from Garmin Connect or Suunto Movescount), files imported on the website, and data added through our partner API (from services such as tapiriik or apps such as iSmoothRun).

To enable auto-correction for all new workouts go to the My Account > Preferences page:

As with workouts you've manually corrected we'll store your original recorded elevation data. This means you can revert the corrections at a later time with a button click.


Hi. Nice feature. Is there a way to batch correct historical data?

No, there is no batch update feature to turn on elevation correction for old workouts.

Still not ?

If I apply the elevation correction to my latest workout, I see an increase from 88 to 229 meters. Comparing both tracks doesn't revealing any significant jump.
I already have elevation correction turned on in ST desktop (where it says 87,6 meters climbing and when turned off 119,6).
How does the elevation correction on mobi differ from the functionality in ST desktop?

There is zero functionality shared between the PC app and online app - the elevation correction plugin for the PC isn't created by us at all, it's a 3rd party contribution. So - it's all different.

With respect to your total gain/loss figures - you may see this kind of variation on a flat course such as your last run depending on if small inclines are counted as "hills" or not. Whether it's 88 or 229 meters gain over 21000 meter distance - you're looking at between 0.4% to 1.1% grade, which is practically flat. Basically you're not getting much more valuable training information by trying to distinguish between half a percent grade and 1% (compared to say a 5% or 8% incline).

For level pace calculations we use a slightly more sophisticated (and time consuming) formula which looks more closely at small variations. You've got a lot of 5-6 meter changes over a kilometer, it is probably counting those in gain/loss, when maybe if you eyeball it from the chart you'd say - "well, that section is flat and shouldn't be counted as gain". But you can see your level pace was actually within a few seconds of average pace. This tells me the system interprets this course as basically flat.

Elevation gain/loss is most effective when you're looking at steep hills, trail running or cycling - hundreds of meters per few kilometers, or in the thousands for longer courses over an hour.

Regarding elevation correction - if your course elevation looks ok (and is not completely out of whack) there is no reason to prefer the measured ground database elevation over what you're watch recorded. In this case the phrase "corrected" is a bit misleading. Many people feel the urge to "correct" the elevation on every single workout - it's really meant to fix big issues where your barometric sensor went wacky and drifted 100s of meters, or where satellite conditions (tree cover, weather, buildings) caused the elevation to jump all over the place. You're not going to squeeze a few meters more accuracy by using "corrected" elevation.

Hi Aaron,

thank you for your comprehensive answer!


@Jeroen - Quick update. We've made some changes today to the gain/loss calculations to better handle small hills and accommodate corrected elevation. You can try revert your correction then reapply it and see if you get different (hopefully better) results.

Elevation now calculated as 115 meters, which is closer to the 88 or 119 meters from ST desktop.
It's also about half of the 229 meters of the previous version, which makes me wonder, did you add a "Divide by 2" to the calculations? ;-)

If you check at that run, you will see a major bug... At some point the altitude ([corrected] elevation curve) is more than 56 000 m... (56 km)

Here is the graph ( ) like it looked first... The problem seemed to be fix..

@Christian - we just made a quick patch to handle missing data at sea level.

What elevation database you use? Does it include also latitudes 60° and up. I live in Finland and I tried that feature for two workouts, no effect?

@Mika - The elevation correction function uses the SRTM DEM v4.1 database, with worldwide coverage between 60 degrees latitude north/south. Unfortunately this falls just south of Helsinki, Finland so it's not much use to our Finnish users. I'm not aware of any sources of elevation data north of 60° but if you can point us to one it should be easy to incorporate into the correction algorithms. Sorry... not much we can do about that.

I live in Sydney, and had the same problem. Can see recorded elevation, but not corrected. A more explicit indication of missing elevation data would be a useful addition.

@Joal - Sydney is well within the range of our elevation data. If you have a problem with the elevation correction for a workout in Sydney, you should email support with a link to the workout so they can take a look.

I did this, and the problem has been sorted out. Cheers.

I work with DEMs and know a bit about them. There is a free almost global dataset including the higher latitudes called Aster GDEM ( which ranges from 83 N to 83 S with 30 m cells. But there are some vertical accuracy issues in some areas (especially when doing terrain analysis such as calculate slope angle and aspect etc, see and SRTM DEM with 90 m cells is believed to remain the best freely available global DEM so far for most applications. However, GDEM could be supplementary at higher latitudes.

Recently another global 30-meter dataset opened up that will to available soon (i think), but I have no experience with this one:

I have used ASTER GDEM ver 2 with ST3 and I'm pretty satisfied with it. However, once I fix the elevation curve in ST3 it only syncs the curve with - but it leaves elevation gain and elevation loss unaltered. It would be very valuable to have this database included in and to have teh descend/ascend recalculated after the fix.

Total ascend and descend are recalculated when elevation correction is enabled. When it is disabled the originally recorded values are restored.

Yes I know, that's why I would like to have ASTER GDEM database to Now I correct elevations in ST3.1, but after synching corrects elevation curve but not descend and ascend values.

Exactly. You will need to correct the elevation in the online app for the gain/loss to be recalculated. I'm not sure how the elevation plugin in the PC app handles this as its a 3rd party author not related to our team.


Could you kindly incorporate ASTER GDEM v2 into - as you suggest in your comment on August 26th? That will be very beneficial for the users in Scandinavia and Finland.


I waited for this after switching from ST3 to mobi, since my watch records hundreds of meters of gain/loss on a perfectly flat track workout. Well done!

If I turn on correction in will it auto correct GPS files that get syncronized to .mobi from sporttracks on the desktop (and then sync the updates back to the desktop)?

HI, could incorporate a function that shows accumulated ascent based on selection and not only for the total run? Say I have a section in the middle of a long run where I would like to see the total ascent only for that part. It would also be valuable to see level pace based on selection and not just for the whole run.


You can submit new feature ideas at the tracker website here:

Hi, any progress on implementing latitudes higher than 60° ???


I will also push for the same as Mika. Do you have any plans for the correction above 60°?
Garmin connect is able to correct the elevation, surely it has to be possible. Is it at least possible to autoimport the corrected data from Garmin? It is possible to export the corrected data as a tcx from connect so a suppose you have that option in the API?

Thanks for a otherwise great product!

There are no plans to increase elevation correction to latitudes above 60. Check out the customer idea box at the link below where you can add ideas, subscribe to status updates, or vote on current ideas: