Haversine formula

Haversine formula

The haversine formula is an equation important in navigation, giving great-circle distances between two points on a sphere from their longitudes and latitudes. It is a special case of a more general formula in spherical trigonometry, the law of haversines, relating the sides and angles of spherical "triangles".

These names follow from the fact that they are customarily written in terms of the haversine function, given by haversin(θ) = sin2(θ/2). (The formulas could equally be written in terms of any multiple of the haversine, such as the older versine function (twice the haversine). Historically, the haversine had, perhaps, a slight advantage in that its maximum is one, so that logarithmic tables of its values could end at zero. These days, the haversine form is also convenient in that it has no coefficient in front of the sin2 function.)

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:

"(the haversine formula)"
:operatorname{haversin}left(frac{d}{R} ight) = operatorname{haversin}(Deltaphi) + cos(phi_1) cos(phi_2) operatorname{haversin}(Deltalambda)

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:

:d = R , operatorname{haversin}^{-1}(h) = 2 R arcsinleft(sqrt{h}, ight)

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. (The formula above is sometimes written in terms of the arctangent function, but this suffers from similar numerical problems near "h" = 1.)

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.

This formula is only an approximation when applied to the Earth, because the Earth is not a perfect sphere: its 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.

The law of haversines

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:

"(the law of haversines)"
:operatorname{haversin}(c) = operatorname{haversin}(a - b) + sin(a) sin(b) , operatorname{haversin}(C)

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).

In 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:

"(spherical law of cosines)"
:cos(c) = cos(a) cos(b) + sin(a) sin(b) cos(C) ,

As mentioned above, this formula is an ill-conditioned way of solving for "c" when "c" is small. Instead, we substitute the identity that cos(θ) = 1 − 2 haversin(θ), and also employ the addition identity cos("a" − "b") = cos("a") cos("b") + sin("a") sin("b"), to obtain the law of haversines, above.

References

* U. S. Census Bureau Geographic Information Systems FAQ, [http://www.census.gov/cgi-bin/geo/gisfaq?Q5.1 What is the best way to calculate the distance between 2 points?] (broken link; content has been [http://www.movable-type.co.uk/scripts/GIS-FAQ-5.1.html mirrored here] )
* R. W. Sinnott, "Virtues of the Haversine", "Sky and Telescope" 68 (2), 159 (1984).
* [http://mathforum.org/library/drmath/view/51879.html Deriving the haversine formula] , "Ask Dr. Math" (Apr. 20–21, 1999).
* Romuald Ireneus 'Scibor-Marchocki, [http://www.geocities.com/ResearchTriangle/2363/trig02.html Spherical trigonometry] , "Elementary-Geometry Trigonometry" web page (1997).
* W. Gellert, S. Gottwald, M. Hellwich, H. Kästner, and H. Küstner, "The VNR Concise Encyclopedia of Mathematics", 2nd ed., ch. 12 (Van Nostrand Reinhold: New York, 1989).
* Oxford English Dictionary. Oxford University Press. 2nd ed. 1989. Cites coinage of term "Haversine" by Prof. Jas. Inman, D. D., in his Navigation and Nautical Astronomy, 3rd ed. (1835).

External links

* [http://www.movable-type.co.uk/scripts/LatLong.html JavaScript implementation] of Haversine formula to find distance between two latitude/longitude points
* [http://blog.brainlex.com/2008/10/arc-and-distance-between-two-points-on.html C++ implementation] of Haversine formula to find distance between two latitude/longitude points


Wikimedia Foundation. 2010.

Игры ⚽ Нужен реферат?

Look at other dictionaries:

  • Fórmula del Haversine — Este artículo fue creado a partir de la traducción del artículo Haversine formula de la Wikipedia en inglés, bajo licencia Creative Commons Atribución Compartir Igual 3.0 y GFDL. Seno, coseno y verseno de θ en base a la circunferencia… …   Wikipedia Español

  • Versine — The versine or versed sine, versin(θ), is a trigonometric function equal to 1 − cos(θ) and 2sin2(½θ). It appeared in some of the earliest trigonometric tables and was once widespread, but it is now little used. There are several related functions …   Wikipedia

  • List of trigonometric identities — Cosines and sines around the unit circle …   Wikipedia

  • Great-circle distance — The great circle distance is the shortest distance between any two points on the surface of a sphere measured along a path on the surface of the sphere (as opposed to going through the sphere s interior). Because spherical geometry is rather… …   Wikipedia

  • Intercept method — The Intercept Method , or Marcq St Hilaire method , as it is also rather inaccurately known, is an astronomical navigation method of calculating an observer s position on earth. It was originally called the azimuth intercept method because the… …   Wikipedia

  • Longitude by chronometer — Longitude by Chronometer, known by mariners as Long by Chron , is an astronomical navigation method of calculating an observer s position on earth. The method gives the observer a position line on which the observer is situated. Usually the… …   Wikipedia

  • Ex-meridian — is an astronomical navigation method of calculating an observer’s position on earth. The method gives the observer a position line on which the observer is situated. It is usually used when the sun is obscured at noon and as a result a meridian… …   Wikipedia

  • List of trigonometry topics — This is a list of trigonometry topics, by Wikipedia page.*Angle *Angle excess *Brahmagupta interpolation formula *Chebyshev polynomials *Conway triangle notation *De Moivre s formula *Dirichlet kernel *Euler s formula *Exact trigonometric… …   Wikipedia

  • Spherical trigonometry — Spherical triangle Spherical trigonometry is a branch of spherical geometry which deals with polygons (especially triangles) on the sphere and the relationships between the sides and the angles. This is of great importance for calculations in… …   Wikipedia

  • List of mathematics articles (H) — NOTOC H H cobordism H derivative H index H infinity methods in control theory H relation H space H theorem H tree Haag s theorem Haagerup property Haaland equation Haar measure Haar wavelet Haboush s theorem Hackenbush Hadamard code Hadamard… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”