# Fórmula del Haversine

La fórmula del haversine és una important equació per a la navegació astronòmica, pel que fa al càlcul de la distància de cercle màxim entre dos punts d'un globus sabent la seva longitud i la seva latitud. És un cas especial d'una fórmula més general de trigonometria esfèrica, la llei del haversine, sobre els costats i angles d'un "triangle esfèric".
Florian Cajori acredita el seu primer ús a José de Mendoza y Ríos el 1801. El 1805 Mendoza y Ríos va imprimir les taules del haversine amb el nom de suversine. Una taula de haversines en Anglès va ser publicada per James Andrew el 1805. i el 1835 ho va fer James Inman.
Aquests noms es deriven del fet que s'acostuma a expressar-se en termes de la funció haversine, donada per:
Les fórmules també podrien estar escrites en termes de qualsevol múltiple del haversine, com l'antiga funció versinus (el doble del haversine).
Històricament, el haversine va tenir, un gran avantatge, ja que el seu màxim és "1", de manera que les taules logarítmiques dels seus valors podien acabar amb el valor zero. Avui dia, la forma del haversine també és interessant, ja que no té cap coeficient davant de la funció sinus².
En l'època anterior a la calculadora digital, l'ús detallat de quadres impresos per a haversine/haversine invers i el seu logaritme (per ajudar en les multiplicacions) va estalviar als navegants calcular els quadrats dels sinus, el càlcul d'arrels quadrades, etc., un procés ardu i que podia causar alguns errors (vegeu també versinus).

## Fórmula del haversine

Per a qualsevol parell de punts sobre una esfera:
    $\operatorname {hav} \left({\frac {d}{R}}\right)=\operatorname {hav} (\varphi _{1}-\varphi _{2})+\cos(\varphi _{1})\cos(\varphi _{2})\,\operatorname {hav} (\Delta \lambda ).$
on
* hav és la funció haversine:
    $\operatorname {hav} (\theta )=\sin ^{2}\left({\frac {\theta }{2}}\right)={\frac {1-\cos(\theta )}{2}}$
* d és la distància entre els dos punts (al llarg d'un cercle màxim de l'esfera, vegeu distància esfèrica).
* r és el radi de l'esfera,
* φ $_1$ és la latitud del punt 1,
* φ ₂ és la latitud del punt 2, i
* Δλ és la diferència de longitud,
Tingueu en compte que l'argument a la funció haversine ha de donar-se en radians. En graus, haversine(d/r) de la fórmula es convertiria en haversine (180 · d/π r).
Llavors es pot resoldre per d, ja sigui mitjançant la simple aplicació del haversine invers (si està disponible) o mitjançant l'ús de la funció arcsinus:
    $d=r\,\operatorname {hav} ^{-1}(h)=2r\arcsin \left({\sqrt {h}}\,\right).$
on
* h és hav(d/r), o més explícitament:
    $d=2r\arcsin \left({\sqrt {\operatorname {hav} (\varphi _{2}-\varphi _{1})+\cos(\varphi _{1})\cos(\varphi _{2})\operatorname {hav} (\lambda _{2}-\lambda _{1})}}\right)$
    $=2r\arcsin \left({\sqrt {\sin ^{2}\left({\frac {\varphi _{2}-\varphi _{1}}{2}}\right)+\cos(\varphi _{1})\cos(\varphi _{2})\sin ^{2}\left({\frac {\lambda _{2}-\lambda _{1}}{2}}\right)}}\right)$
En utilitzar aquestes fórmules, s'ha de tenir cura per assegurar-se que h no excedeixi 1 per raó d'un error de coma flotant (d és només real per h de 0 a 1). h només s'aproxima a 1 als punts antipodals (en els costats oposats de l'esfera) - en aquesta regió, errors numèrics relativament grans tendeixen a sorgir en la fórmula quan s'utilitza una precisió finita. No obstant això, ja que d llavors és bastant gran (s'acosta a π ·R, la meitat de la circumferència) un petit error sovint no és una preocupació important en aquest cas inusual (encara que hi ha altres fórmules distància de cercle màxim que eviten aquest problema). (La fórmula anterior s'escriu de vegades en termes de la funció arctangent, però aquesta pateix de problemes numèrics similars a prop de h = 1.)
Com es descriu a continuació, en lloc de haversine, també es pot escriure una fórmula similar, en termes dels cosinus -a vegades anomenada la llei esfèrica del cosinus (que cal no confondre amb la llei del cosinus de la geometria plana)-, però per un cas comú de distàncies/angles petits... un petit error en les dades d'entrada de la funció "arccos" porta a un gran error en el resultat final. Això fa que la fórmula no sigui apta per a un ús general.
Aquesta fórmula és només una aproximació quan s'aplica a la Terra, perquè la Terra no és una esfera perfecta: el radi de la Terra R varia de 6.356,78 quilòmetres en els pols fins a 6.378,14 quilòmetres a l'equador. Hi ha petites correccions, típicament de l'ordre de 0,1% (suposant la mitjana geomètrica R = 6367,45 quilòmetres que s'utilitza a tot arreu, per exemple), a causa d'aquesta lleugera forma el·liptica del planeta. Un altre mètode més precís, que té en compte la forma el·líptica de la Terra, ve donada per les fórmules de Vincenty.

## Llei del haversine

Donada una esfera unitat, un "triangle esfèric" sobre la superfície de l'esfera definit pels cercles màxims que connecten tres punts u, v, i w de l'esfera. Si els tres arcs són: a (de u a v), b (de u a w), i c (de v a w), i l'angle del vèrtex oposat a c és C, llavors la llei del haversine diu:
    $\operatorname {hav} (c)=\operatorname {hav} (a-b)+\sin(a)\sin(b)\,\operatorname {hav} (C).$
Com que es tracta d'una esfera unitat, els arcs a, b i c són simplement iguals als angles centrals (en radians) que els defineixen (comprenen) des del centre de l'esfera (per a una esfera no-unitat, cadascuna d'aquestes longituds d'arc és igual al seu angle central multiplicat pel radi de l'esfera).
Per tal d'obtenir la fórmula del haversine de la secció anterior d'aquesta llei, simplement es considera el cas especial on u és el pol nord, mentre que w i v són els dos punts entre els quals es vol determinar la distància d. En aquest cas, a i b són π/2 - φ$_{1,2}$ (és a dir, 90° - latitud), C és l'increment de longitud Δλ, i c és la distància d/R que es vol calcular. Prenent nota que sin(π/2 − φ) = cos(φ), la fórmula del haversine calcula com segueix:
Per tal de deduir la fórmula del haversine, es parteix de la llei esfèrica del cosinus:
    $\cos(c)=\cos(a)\cos(b)+\sin(a)\sin(b)\cos(C).\,$
Com s'ha dit abans, aquesta fórmula no és bona per al càlcul de c quan c és petit. En el seu lloc, se substitueix la identitat tal que: cos(θ) = 1 − 2 hav(θ), i per tal d'obtenir la llei del haversine esmentada més amunt s'empra, a més a més, la identitat de la suma:

## Vegeu també

* Arc de cercle màxim
* Algorisme de navegació

## Referències

* ↑ José de Mendoza y Ríos. Memoria sobre algunos metodos nuevos de calcular la longitud por las distancias lunares y explicaciones prácticas de una teoría para la solución de otros problemas de navegación. Imp. Real, 1795 [Consulta: 30 gener 2013].
* ↑ de Mendoza y Riós, J.; Cavendish, H.; Faulder, R.; Wilson and Co. (London, England). Tables for Facilitating the Calculations of Nautical Astronomy,: And Particularly of the Latitude of a Ship at Sea from Two Altitudes of the Sun, and that of the Longitude from the Distances of the Moon from the Sun Or a Star; Containing the Natural Versed-sines to Every 10 Seconds, and the Logarithmic-sines, Double-sines, Versed-sines, &c. to Every Minute from 0 to 180 Degrees; and Several Other Tables, Useful in Astronomy and Navigation. Printed, at the Oriental Press, by Wilson & Company Wild Court, for R. Faulder, New Bond-Street., 1801 [Consulta: 6 novembre 2021].
* ↑ José de MENDOZA Y RIOS. A Complete Collection of Tables for Navigation and Nautical Astronomy. Faulder, 1805, p. 171 [Consulta: 6 novembre 2021].
* ↑ van Brummelen, Glen Robert. Heavenly Mathematics: The Forgotten Art of Spherical Trigonometry. Princeton University Press, 2013. 0691148929. ISBN 9780691148922 [Consulta: 10 novembre 2015].
* ↑ Inman, James. Navigation and Nautical Astronomy: For the Use of British Seamen. 3. London, UK: W. Woodward, C. & J. Rivington, 1835 [Consulta: 9 novembre 2015]. (Fourth edition: .)
* ↑ Plantilla:OED2
* ↑ H. B. Goodwin, The haversine in nautical astronomy, Naval Institute Proceedings, vol. 36, no. 3 (1910), pp. 735–746: Evidently if a Table of Haversines is employed we shall be saved in the first instance the trouble of dividing the sum of the logarithms by two, and in the second place of multiplying the angle taken from the tables by the same number. This is the special advantage of the form of table first introduced by Professor Inman, of the Portsmouth Royal Navy College, nearly a century ago.
* ↑ W. W. Sheppard and C. C. Soule, Practical navigation (World Technical Institute: Jersey City, 1922).
* ↑ E. R. Hedrick, Logarithmic and Trigonometric Tables (Macmillan, New York, 1913).
* ↑ Omatu, S.; De Paz Santana, J.F.; González, S.R.; Molina, J.M.; Bernardos, A.M.; Rodríguez, J.M.C.. Distributed Computing and Artificial Intelligence: 9th International Conference. Springer Berlin Heidelberg, 2012, p. 650. ISBN 978-3-642-28765-7 [Consulta: 6 novembre 2021].
* ↑ Korn, Grandino Arthur; Korn, Theresa M. «Appendix B: B9. Plane and Spherical Trigonometry: Formulas Expressed in Terms of the Haversine Function». A: Mathematical handbook for scientists and engineers: Definitions, theorems, and formulars for reference and review. 3. Mineola, New York, USA: Dover Publications, Inc., 2000, p. 892–893. ISBN 978-0-486-41147-7.

### Bibliografia

* U. S. Census Bureau Geographic Information Systems FAQ, What is the best way to calculate the distance between 2 points?
* R. W. Sinnott, "Virtues of the Haversine", Sky and Telescope 68 (2), 159 (1984).
* Deriving the haversine formula, Ask Dr. Math (Apr. 20–21, 1999).
* Romuald Ireneus 'Scibor-Marchocki, 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).

## Enllaços externs

* Aplicació Javascript de la fórmula Haversine per trobar la distància entre dos punts coneixent-ne latitud i longitud (anglès)
* aplicació C++ de la fórmula Haversine per trobar la distància entre dos punts coneixent-ne latitud i longitud (anglès)
* Python l'aplicació de la fórmula Haversine per trobar la distància entre dos punts coneixent-ne latitud i longitud (anglès)