Strava uses a variety of methods to calculate elevation
- How elevation is calculated on segments, activities, and routes
- The details
How Elevation is calculated
It is important to remember that elevation data from all sources (barometric altimeters, GPS signals, and databases) is subject to error and that the elevation gain for an activity is an estimate. We are always working on improving our elevation data sets and algorithms.
Elevation on a segment. Segments are always created from a Strava activity and as a result, they inherit some of that activity's characteristics.
- If the original activity was recorded by a GPS device with a barometric altimeter, the segment will use the barometric data recorded by that device.
- If the original activity was not recorded by a barometric device, or if a Strava admin has rebuilt the elevation for that segment, then we will cross-reference the GPS data to Strava's elevation basemap in order to find the elevation.
Elevation on activity pages will be calculated in one of two ways: cross-referencing the GPS data to a database or by using the barometric data in the original file.
- Device with barometric altimeter: If the GPS device used to record your activity has a barometric altimeter, Strava will use the elevation data in the original file. We do some smoothing to the data, which includes discarding outliers to reduce noise. The amount of smoothing is less on activities with barometric data than it is for activities without barometric data. If your device has a barometric altimeter, but your elevation is being recalculated, please refer to the FAQs
- Device without a barometric altimeter and the Strava mobile app: If your activity was recorded with the mobile app or with a GPS device that does not have a barometric altimeter, Strava will use your activity's GPS data to "look up" the elevation for each point you record. We do some smoothing to the data, which includes discarding outliers to reduce noise. The amount of smoothing is more on activities without barometric data than it is for activities with barometric data. While we attempt to match the path of your activity with the actual trails and roads in the area, elevation calculation is still somewhat dependent on your GPS data and accuracy of the database for that region.
Elevation on a route. Our Strava Route Builder uses our own personal database to calculate elevation data. The GPS data of the route gets cross-referenced to this database when Route elevation is calculated.
In the past, we consulted public elevation databases to determine the elevation at each point in the activity. The resolution of these databases varied based on location and we were not able to control for the many errors in these databases. We now have an elevation look-up service powered by data from the Strava community. Each activity that is uploaded from a device with a barometric altimeter is used to build the Strava elevation basemap.
To account for inherent variability in GPS data, we use an algorithm to ensure that we are "looking up" the elevation for the road or trail you were actually on. The red line in the image below is an example of GPS data that is drifting off the actual trail (represented in blue). Our algorithm has recognized this and will use the elevation data represented by the blue line instead of the actual, and slightly "off," GPS data.
Limitations of the Strava elevation basemap
There may not be basemap data available for all or part of your activity. In this case, we will use a public database to look up your elevation data. A dense road network or poor quality GPS data could also prevent us from choosing the correct reference points in the basemap or public database.
Barometric altimeters determine altitude by measuring atmospheric pressure. Measurements can be affected by changes in the weather or the sensor holes getting blocked by water or other debris. Device manufacturers may provide basic calibration procedures. For example, Garmin devices with barometric altimeters allow a certain number of manual elevation points to be set; starting an activity near an elevation point causes the device to use the known elevation as the starting point. Consult the manual for your device to learn about calibration procedures. We generally consider the data from barometric altimeters to be of higher quality than the data derived from GPS signals and prefer that when processing activities.
Typical problems with barometric devices
The elevation profile looks like it is drifting over time. This can happen with barometric altimeters as the weather changes (eg. the atmospheric pressure rises or drops, causing the altimeter to measure as though it is at a lower or higher altitude).
Other Known Issues and Problematic Terrain
- The activity has areas where the elevation is zero or is very linear. This can happen when crossing bridges or through areas that we don’t have coverage for. Coast lines can be particularly problematic. We attempt to fill in the data by interpolating data; the interpolation depends on where the missing data begins and ends.
- The elevation profile has climbs, but the elevation gain is very small. We smooth the data before calculating gain and depending on the resulting data, elevation changes may not be enough to pass a threshold that we use for determining whether or not you have gained elevation.
- The elevation profile has climbs, but the elevation gain is very large. This often happens with activities recorded in mountainous areas outside of the US. The resolution of the data sets can be coarse and the profile may be bumpier than it should be even with interpolation and smoothing. Sometimes they are so coarse it's like trying to find a smooth elevation profile over a lego block model of your area. These bumps may pass the threshold in gain calculations and the total gain from the bumps may add up to more than the gain that was perceived on the ride.
Strava hosts a variety of athletic challenges for our athletes, some of which have elevation/climbing goals. Due to the high visibility of these challenge leaderboards, elevation based errors will surface more easily than they would normally. As mentioned above, there are many uncontrollable variables involved in calculating elevation gain. These variables can lead to exaggerated elevation totals, particularly if the activity takes place in an international, mountainous or coastal region. If you notice activities with inaccurate elevation gain, please do not flag them. Most of the time this is a result of poor database resolution, which is out of the athlete's control. If you have a question about a specific activity or feel you've found an activity that is far too distorted, please proceed with submitting a support ticket so we can take a look.