Demo One The Longitude Store loves trigonometry!
 EXPLORE OUR STORE AND FREE SERVICES!
Order Information
The Haversine Formula
The Haversine Formula
For two points on a sphere (of radius R) with latitudes φ1 and φ2,
latitude separation Δφ = φ1 − φ2, and longitude separation Δλ, where
angles are in radians, the distance d between the two points (along a
great circle of the sphere; see spherical distance) is related to their
locations by the formula above.
Let h denote haversin(d/R), given from above. One can then solve for
d either by simply applying the inverse haversine (if available) or by
using the arcsine (inverse sine) function:
In the era before the digital calculator, the use of detailed
printed tables for the haversine/inverse-haversine and its
logarithm (to aid multiplications) saved navigators from
squaring sines, computing square roots, etc., a process
both arduous and likely to exacerbate small errors (see
also versine).

When using these formulae, care must be taken to ensure
that h does not exceed 1 due to a floating point error (d is
only real for h from 0 to 1). h only approaches 1 for
antipodal points (on opposite sides of the sphere) — in this
region, relatively large numerical errors tend to arise in the
formula when finite precision is used. However, because d
is then large (approaching πR, half the circumference) a
small error is often not a major concern in this unusual case
Since this is a unit sphere, the lengths a, b, and c are simply equal to the
angles (in radians) subtended by those sides from the center of the
sphere (for a non-unit sphere, each of these arc lengths is equal to its
central angle multiplied by the radius of the sphere).n order to obtain the
haversine formula of the previous section from this law, one simply
considers the special case where u is the north pole, while v and w are
the two points whose separation d is to be determined. In that case, a and
b are π/2 - φ1,2 (i.e., 90° − latitude), C is the longitude separation Δλ,
and c is the desired d/R. Noting that sin(π/2 - φ) = cos(φ), the haversine
formula immediately follows.

To derive the law of haversines, one starts with the spherical law of
cosines:
This formula is only an approximation when applied to the
Earth.
The Earth is not a perfect sphere: The radius R
varies from 6356.78 km at the poles to 6378.14 km at the
equator. There are small corrections, typically on the order
of 0.1% (assuming the geometric mean R = 6367.45 km is
used everywhere), because of this slight ellipticity of the
planet. A more accurate method, which takes into account
the Earth's ellipticity, is given by Vincenty's formulae.

Given a unit sphere, a "triangle" on the surface of the
sphere is defined by the great circles connecting three
points u, v, and w on the sphere. If the lengths of these
three sides are a (from u to v), b (from u to w), and c (from
v to w), and the angle of the corner opposite c is C, then
the law of haversines states:
As described below, a similar formula can also be written in
terms of cosines (sometimes called the spherical law of
cosines, not to be confused with the law of cosines for
plane geometry) instead of haversines, but for the common
case of small distances/angles a small error in the input to
the arccos function leads to a large error in the final output.
This makes the formula unsuitable for general use.
(although there are other great-circle distance formulas
that avoid this problem). (The formula above is sometimes
written in terms of the arctangent function, but this suffers
from similar numerical problems near h = 1.)
Navigators used logs to get round the difficulties they
always had doing long-multiplication and long-division. The
problem was that logarithms couldn't be used with negative
numbers, the log of a negative number being a meaningless
concept. As ordinary trig functions ranged over positive and
negative values, something had to be done.

So a new trig function, the "versine" was invented, which
never went negative, but varied between zero and +2. The
haversine, as you might guess, is simply half the versine,
so it varies, more conveniently, between zero and +1. And
then all the trig formulae that navigators used were bent
and twisted into forms that used one of these new
functions, and nothing that required a log ever took a
negative value.
 Versine vs. Haversine
 CLASSROOM