When you plan a route on the RideWithGPS website, the elevation used comes from a data set that was taken during a shuttle mission in the early 2000’s, where the shuttle orbited the earth and scanned the surface using radar, to estimate elevation. The resulting elevation dataset is a grid with 90 meter spacing between points, and for each point in a route planned using our software, we lookup the elevation using this dataset. We do a little math to enhance the accuracy of the estimate by interpolating between points. For example, if the point falls in the middle of a cell in the elevation dataset, we interpolate between neighboring points to estimate the elevation at that point. We have a couple higher precision datasets in specific areas that we use instead of SRTM where available, but the majority of routes planned outside of the United States use the SRTM dataset.
There are a few factors that contribute to differences in elevation calculations between devices: logging frequency, data collection method, and the software itself.
Logging frequency. With most GPS recording devices you can choose how often the device logs a data point. The more frequent the data point collection is set to, the more data points that will be collected, which inherently increases the changes in elevation.
Data collection method. Many GPS units have a barometric pressure sensor, and this sensor is becoming more common on new smartphones. If you are not using a barometric pressure sensor while recording your ride, then you are likely using GPS derived elevation, which is much less accurate. There are a few factors that affect barometric pressure, like an incoming storm or entering a building or riding through an inversion, but overall you are going to get more accurate elevation than GPS derived elevation, which uses triangulation from satellites that are miles away to determine incremental changes in elevation.
Software. The data that is collected while recording is first processed on the device, whether that be your Garmin unit or smartphone. GPS is a messy data stream so the device you are recording with utilizes an algorithm in the software to filter out bad data points. This algorithm process the data and removes outlier points to give you normalized data. Each algorithm has varying levels of thresholds and tolerances for bad data points, and these variations filter out different data points, so the end result is different. The elevation differences between software algorithms should be no more than 10% in either direction.
GPS is highly accurate in the horizontal plane, but very poor in the vertical. This is due to the angle between the line of site to the various GPS satellites, and the ground. Small errors result in big differences in height, but not big differences in location on the earth. As such, a barometric sensor is going to give you the best elevation measurement; using the replace elevation feature follows closely behind the barometer measurements, and GPS derived elevation pulls up the rear. There are some factors that can affect barometric pressure, like an incoming storm or entering a building or riding through an inversion. These conditions don’t usually cause large errors from point to point, but usually make the whole ride shift up or down in elevation.