Couch to 5K
60,349 members93,014 posts

How does Strava et al measure elevation?

It's obvious how it tracks a run, using SatNav. But I'm dubious about it's accuracy when it measures elevation. Anyone know how it's done?

Second point is, why does any path in front of you look uphill, even when you run it and then turn around and retrace your steps? Ah, the mysteries of the universe!

Did my longest run yet this morning (business got in the way yesterday, and I didn't get to ParkRun after all!) of 9.2k, but I'm getting slower and slower. I have no doubt that I could do 10k tomorrow, but maybe I'm more suited to shorter distances. So when I've done the Bristol 10k in May, and a Run for Life in September, I think that'll be it.

Oh, and I need to mention my bargain Asda £10 trainers, that seemed a bargain. They've started to hurt my feet after 5k or so. So not such a bargain, and I'll go back to my old, battered New Balance that don't hurt!

10 Replies

I ran a 5k along the sea front at Aberystwyth recently. Clearly 'sea level' but Garmin says I started at -25m !!!!.

It's either guesswork or Magic.


Haha! My money's on Magic! It's all done with smoke and mirrors!


The GPS in your running watch (and satnav, and smartphone etc) works through 'triangulation'.

A cloud of satellites above earth are placed in geo-stationary orbit. This means that their position does not change relative to the surface of the earth. You can think of each satellite being 'above' a particular point on the earth's surface.

- All the satellites agree on the exact time, and then transmit the time over an RF signal to earth.

- Your watch has a radio, tuned to pick up the RF signal from the satellites. Of course, your watch is many hundreds of kilometres from the satellites, and the time broadcasts from each satellite takes a different length of time to reach your watch.

- So your watch gets 5-10 identical time signals, each from a different satellite, and they arrive at fractionally different times.

- Since the position of the satellites is known and fixed, and the speed of the radio messages are constant, the watch can work out it's exact coordinates on earth (from the time differences), and also its elevation above sea level.

More expensive watches also have a barometric pressure sensor that can work out the minute changes in air pressure as you change elevation. That is used to 'sense-check' the GPS elevation data.

Now you can see why GPS has some of its issues....

- If you are in a wood, or running in a city with tall buildings, your watch may not be able to see enough satellites to calculate your position.

- Or the radio signals may reflect off the buildings and reach your watch via a bouncy path. This confuses the watch and it may misread your position.

- Finally, when you start your watch, it needs to get a very accurate fix on as many satellites as possible. As we all know, this can take minutes. (The way around this is to connect your watch to your PC via USB, bluetooth or wifi just before you go running. The watch then can be told an approximate location - the coordinates of your PC/wifi - your ISP knows your postcode - and this helps the watch get a quicker fix. Don't do this if you are about yo jump in your car and drive to Park Run as your watch then needs to learn it is not where it thought it was).

- You watch is basically a radio receiver, and wearing a thick jacket, or gloves etc over your watch can cause the radio signal from the satellites to become weak.

If you search YouTube for a teardown of the new Microsoft sports Band, or the Sony SmartBand (3??), or a Garmin ForeRunner.... you'll find a Freescale Kinetis microcontroller. That's my product.


Thanks for that, Marky, and I followed you until you lost me on the last paragraph!


Sorry JB, I got carried away! I sell the tiny computers that go into all these wearable gadgets. My company - freescale semiconductor - used to be part of Motorola.


That's a really good tip about plugging into the PC before going out, MarkyD. Did not know that and spend too much time lurking outide my front gate staring at my wrist.


I use Runkeeper and have found it to be a bit hit and miss on elevation! For instance when I run under one of the bridges over the river Cam it often thinks I om ON the bridge, thus giving me a jump of 12 or more meters. Once I ran a coastal path in Spain and got a wonderful spiky read-out as it obviously thought I was jumping down to sea-level and back up to the path!



It all depends on what you think "elevation" is - I don't know about Strava - but Runkeeper doesn't give you absolute elevation - it tells you what the total rise in elevation has been during your run. So - if you run up a hill 10 metres high, then run down the other side and then run up another hill 20 metres high and stop your run - it will tell you that you have run an elevation of 30 metres - that is my understanding anyway.


Thanks everyone, so I was right, it's all smoke and mirrors, and not very accurate at telling elevations! I think we all suspected that!


Ultimately the US military limit the allowed accuracy of a GPS signal to +/- 10 metres. And large flat surfaces (like buildings or the sea) cause multi-path propagation effects and confuse the GPS chip.


You may also like...