Elevation data recorded by a device can come from one of two sources: either a barometric altimeter on the device (such as those on devices like the Garmin Edge 500 and Forerunner 910XT) or derived from GPS signals (on most other devices, such as the Garmin Edge 200, other Forerunner models, the iPhone, and Android devices).
Strava detects devices with barometric altimeters and recognizes the data from that source. Since elevation data derived from a GPS signal is fairly inaccurate, Strava automatically corrects elevation derived from a GPS source by consulting elevation databases to determine the elevation at each point in the activity.
If you suspect that your elevation data is incorrect, you can request an elevation lookup.* Click on the "Elevation" text under the elevation statistic above the map. The dialogue pops up with a button to "Correct Elevation." This button will only appear for data collected with a Barometric Altimeter, or if a previous automatic elevation correction has failed. After a short while, the "Calculating" text will change to "Updated," and if you click on "Updated" your page will refresh with the new elevation data.
*Please note that the option to lookup elevation is only available if your activity was recorded with a device with a barometric altimeter or if the elevation data comes from our database but lookup process failed in some way during the original attempt to fetch elevation.
How Altitude data is collected:
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.
GPS altitude measurements are derived from GPS signals and can have relatively high vertical error. They also depend on how many satellites are being used and where the satellites are located in the sky.
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. For devices without barometric altimeters, we consult elevation databases to determine the elevation at each point in the activity. The resolution of these databases can vary based on location. For example, the USGS National Elevation Dataset (NED), which we consult for activities located in the US, generally has a 10 meter resolution though some small areas have a 3 meter resolution. For activities located outside of the US, we consult the ASTER and SRTM databases which have a resolution of 30 meters and 90 meters respectively.
We discard outliers and smooth the elevation data when calculating gain to reduce noise. The amount of smoothing depends on the source of the data - data from barometric altimeters is smoothed less while data looked up from elevation databases is smoothed more. When computing gain, we use a threshold to determine whether or not to include a change in elevation; in this way, small variations in elevation change are ignored while larger changes are included.
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).
Typical problems with elevation databases:
The activity has areas where the elevation is zero or is very linear. This can happen when crossing bridges or through areas that don’t 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. 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.
Typical problems when comparing elevation data:
Each mode of elevation correction paired with recording device may create slight differences in elevation totals. For example, a mobile device will have automatic elevation correction, which may differ from a Garmin Forerunner with elevation correction. These differences are often due to recording intervals and GPS accuracy issues.
Differences can also occur between elevation databases, as the database for U.S. elevation data is different in resolution from the international elevation database. With different databases, it is difficult to control for the variables to produce the most comparable results.
Similarly, comparing elevation from a barometric altimeter to that from an elevation database can produce some discrepancies. Both are accurate ways of totaling elevation for GPS data, but because the methods, resources and data collection are so different, it is not possible to ensure exact correlation.
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.