Game Development Reference
solution that requires no iteration was developed by Stephen Bancroft. It is detailed in
his paper “An Algebraic Solution of the GPS Equations” in the IEEE Transactions on
Aerospace and Electronics Systems journal.
Besides clock errors, other errors are introduced by the atmosphere, signals bouncing
off the ground and back to the receiver, relativistic effects (discussed in Chapter 2 ), and
atomic clock drift. These are all accounted for in mathematical models applied to the
raw position data. For instance, the GPS clocks lose about 7,214 nanoseconds every day
due to their velocity according to special relativity. However, because they are higher
up in the earth's gravity well, they gain 45,850 nanoseconds every day according to
general relativity. The net effect is found by adding these values together: they run 38,640
nanoseconds faster each day, which would cause about 10 kilometers inaccuracy to build
each day they are in orbit. To account for this, the clocks in the GPS receivers are pre-
adjusted from 10.23 MHz to 10.22999999543 MHz. The fact that we are giving you a
number to 11 decimal places demonstrates the amount of accuracy the modern age
enjoys in its time keeping.
Once the bias is taken care of and all the other possible errors adjusted for, the converged
solution can be translated back into whatever coordinate system is convenient to give
to the end user. Usually this is latitude, longitude, and altitude. Next, we will learn how
to calculate different quantities based in the geographic coordinate system.
Location, Location, Location
Let's take a minute to discuss distance between two latitude and longitude coordinates.
You might be tempted to calculate it as the distance between two points. For very small
distances, this approximation is probably accurate enough. However, because the earth
is actually a sphere, over great distances the calculated route will be much shorter than
the actual distance along the surface.
The shortest distance between two points on a sphere, especially in problems of navi‐
gation, is called a great circle . A great circle is the intersection of a sphere and a plane
defined by the center point of the sphere, the origin, and the destination. The resulting
course actually has a heading that constantly changes. On ships, this is avoided in favor
of using a rhumb line , which is the shortest path of constant heading. This makes nav‐
igation easier at the expense of time. Airplanes, however, do follow great-circle routes
to minimize fuel burn.
There are several ways of calculating the distance along a great circle. The one we will
discuss here is the haversine formula . There are other methods like the spherical law of
cosines and the Vincenty formula , but the haversine is more accurate for small distances