How is altitude measured?
If you run or bike, the ascendant is very important metrics. It is much easier to achieve 20 kilometres in flat terrain than climb high hills. Elevation can be measured by GPS or by the altimeter. Both options have disadvantages.
If you use your mobile phone for workout tracking, elevation is detected by GPS module. Unfortunately, GPS is a very inaccurate method. It is jumping vertically up and down even when you stay in the same spot. It may be useful only in mountains, where changes in altitude are very hight. When I used GPS only to track elevation, I was never satisfied with results.
The software tries to smooth reading based on some mathematic models. But when the input is wrong, you can’t expect miracles.
The second and much more accurate method is an altimeter based on the barometric measuring. Since I bought Fitbit Ionic, altitude reading are more precise When I run upstairs, altitude change in elevation graph is clearly seen.
But not even the barometer is 100% precise. Readings can be influenced by weather or by moisture or dirt on sensor This can be seen when you run several kilometres long circles. Relative changes in elevation look good, but you have different readings on same coordinates. The best test is – when you start and finish at the same place, elevation should be also same.
Same as in GPS, the software tries to minimize this misreading caused by weather Or it is said… But after all, it is still better than GPS readings.
But keep on a mind, altimeter in a device it isn’t win by default. For example, Fitbit Charge 2 have barometer but it is not used for run and bike. It is used for tracking climber floors.
Recalculate elevation based on coordinates
A very interesting method to get elevation data is to calculate them from coordinates. Google have a database of all places in planet Earth. For urban areas, it is more accurate since Google has more values to average.
The same system is used by Strava. If you upload GPX file or use GPS module to elevation tracking, the altitude is ignored. Strava uses its own system to calculate it.
Again, it cannot by accuared on 100%. For example: if you run on a trail on a hillside, GPS can miss the road. That is why Strava is trying to detect the elevation of the nearest trail and not exact coordinates. For more information look at their support.