In reply to Kimono:
> its worth noting that the 200 is not so accurate for altitude. Not sure how it works but it is a different and more accurate system in the 500
The 500 has a barometric sensor, as does the old Edge 305 and the Edge 800 series.
All the others use GPS triangulation, this includes pretty much all smart phones.
The accuracy and precision of the triangulated elevation is less than the triangulated lat and long.
http://www.dcrainmaker.com/2010/05/understanding-sport-device-gps.html
Services like Strava realise that the barometric data is the most accurate source of an elevation track (though there can be problems in high wind) and that GPS triangulation is the weakest.
Where possible they elevation correct the latter using a datafile of elevation values for each lat and long point on your track. The data comes from the Google Map API and is publicly accessible.
There can be problems with looked up altitude data due to interpolation on steep or undulating ground.
https://strava.zendesk.com/entries/20965883-elevation-for-your-activity
I have both sorts of devices. In the terrain I ride (French Pyrenees) I find Strava / Google maps almost always overestimates altitude by anywhere between 5 and 15% (and occasionally more) for the looked up values compared with the barometric device.
Garmin uses similar algorithms, but in addition has a tick box for each route that allows you to turn on and off altitude correction.