GPS based speed calculations. How smart?

Soldato
Joined
2 Aug 2012
Posts
7,809
I.E.

Are they programmed to calculate the correct speed on grades?

A 1:10 grade would represent a significant error if the GPS was simply using a 2d map for the calculation.

Do typical sat-navs/GPS speedos use a 2d calculation or a true 3d one?
 
GPS Satellites use GPS ground stations to obtain accuracy (and establish altitude referenced to AMSL). Most built in car navs will tell you your elevation so their speed across distance relevant to elevation is pretty much bang on
 
I.E.

Are they programmed to calculate the correct speed on grades?

A 1:10 grade would represent a significant error if the GPS was simply using a 2d map for the calculation.

Do typical sat-navs/GPS speedos use a 2d calculation or a true 3d one?


I'm sure I read a thread on another forum a while back when someone asked the same question and some maths geek jumped in regarding the gradient issue and it made next to no odds at all.
 
I'm sure I read a thread on another forum a while back when someone asked the same question and some maths geek jumped in regarding the gradient issue and it made next to no odds at all.

How clever was the maths geek? I'm no genius, but my Man Maths in my head make me think that doing 100mph down a 45 degree slope would make your speed in relation to a level plane show as 50% of your actual speed?

In fact, imagine driving 100mph vertically upwards, your speed in relation to a flat plane would be 0mph.

So it must have "some" effect. 1.111% speed difference for each 1 degree gradient (1/90, where driving a slope of 0 degrees shows 100% speed and driving vertically at 90 degrees shows 0% speed). So a 1 in 10 is 5.74 degrees which would be a 6.3% error in reading speed.

(Assuming GPS uses a flat plane, which I don't know if it does).
 
Last edited:
No, because GPS doesn't use a flat plane, obviously, as mentioned, it's referenced from ground stations. Even the lowly TomToms will adjust accurately for gradient, with the exception, perhaps, of your vertical climb example.
 
How clever was the maths geek? I'm no genius, but my Man Maths in my head make me think that doing 100mph down a 45 degree slope would make your speed in relation to a level plane show as 50% of your actual speed?

In fact, imagine driving 100mph vertically upwards, your speed in relation to a flat plane would be 0mph.

So it must have "some" effect. 1.111% speed difference for each 1 degree gradient (1/90, where driving a slope of 0 degrees shows 100% speed and driving vertically at 90 degrees shows 0% speed). So a 1 in 10 is 5.74 degrees which would be a 6.3% error in reading speed.

(Assuming GPS uses a flat plane, which I don't know if it does).


But isn't that calculation based on data from 1 GPS sat and assuming stationary orbit.
 
But isn't that calculation based on data from 1 GPS sat and assuming stationary orbit.

No, its just assuming a GPS position that is consistently at the same altitude, i.e. sea level.

For example, if I dig a hole straight down, or climb a ladder straight up, my latitude/longitude stay the same. If you measure speed using just that without taking into account altitude differences you will miss-read if you change altitude.
 
No, because GPS doesn't use a flat plane, obviously, as mentioned, it's referenced from ground stations. Even the lowly TomToms will adjust accurately for gradient, with the exception, perhaps, of your vertical climb example.

I wasn't disagreeing. I was pointing out that gradient alone does have an effect in the maths of calculating speed. I expected most/all GPS devices would consider it.
 
Our GPS position may stay the same but the GPS sats are in a moving orbit. so the vehicle based GPS would be calculating from multiple sources both near the horizon and in high orbit.

I found this.
The 2D length between 2 points (with map coordinates E1 N1 and E2 N2 respectively) is given by

L2D = SQRT( (E2-E1)^2 + (N2-N1)^2)

If we also know the heights of the two points (Z1 and Z2 respectively), then the 3D distance between the same two points is given by:

L3D = SQRT( (E2-E1)^2 + (N2-N1)^2 + (Z2-Z1)^2)

The slope of the sector (i.e. the gradient) is given by:

Slope = (Z2-Z1) / L2D

Most roads have a gradient of less than 10% or so, but some very steep hills might get up to 20% or more. When you are skiing or snowboarding, you are probably generally on slopes of less than 50% gradient (1:2), but you might hit 100% gradient (1:1) in the really extreme stuff.

A bit of basic arithmetic gives the following relationship between gradient and the error between 3D velocity and 2D speed:

Gradient 3D Speed / 2D Speed
0% 1.000 (0.0% error)
5% 1.0012 (0.1% error)
10% 1.0050 (0.5% error)
15% 1.0112 (1.1% error)
20% 1.0199 (2.0% error)
25% 1.0311 (3.1% error)
30% 1.0448 (4.5% error)
40% 1.0797 (8.0% error)
50% 1.1245 (12.5% error)

It can be seen that for the kind of gradients you are likely to encounter while driving around, ,the difference between 2D distance and 3D distance is so small that it is not worth worrying about (generally less than 1% error).

On the other hand, when you plummet down a double black diamond ski slope, your GPSr could be understating your 3D speed by 10% or so.
 
I use cruise control on my car and set it at 80mph on the motorways and i dont think I've ever spotted a jump in speed compared to the car/revs when going up hills.
 
GPS also uses motion sensors to increase accuracy and "fill in" when satellites are not in line of sight.

Speedo is pretty accurate.
 
Back
Top Bottom