Fórmula del Haversine

De Wikipedia, la enciclopedia libre
(Redirigido desde «Haversine»)
Saltar a: navegación, búsqueda
Seno, coseno y verseno de θ en base a la circunferencia goniométrica

La fórmula del semiverseno es una importante ecuación para la navegación astronómica, en cuanto al cálculo de la distancia de círculo máximo entre dos puntos de un globo sabiendo su longitud y su latitud. Es un caso especial de una fórmula más general de trigonometría esférica, la ley de los semiversenos , que relaciona los lados y ángulos de los "triángulos esféricos".[1]

Estos nombres se derivan del hecho que suele expresarse en términos de la función haversine, dada por haversin (θ) = sen 2 (θ/2). Las fórmulas también podrían estar escritas en términos de cualquier múltiple del haversine, como la antigua función verseno (el doble del haversine).

Pero históricamente, el haversine tuvo, una ligera ventaja en su uso en el mar ya que su máximo es "1", por lo que las tablas logarítmicas de sus valores podían acabar con el valor cero. Hoy en día, la forma del haversine sigue siendo interesante, ya que no tiene ningún coeficiente delante de la función seno 2 .

Fórmula del haversine[editar]

Para cualquier par de puntos sobre una esfera:

 \operatorname{haversin} \left (\frac{d}{R}\right) = \operatorname{haversin}(\varphi_1 - \varphi_2)+\cos (\varphi_1) \cos (\varphi_2) \, \operatorname{haversin}(\Delta \lambda).

donde

Triángulo esférico resuelto por la ley del haversine.
haversin es la función haversine, haversin ( θ ) = sen 2 ( θ /2) = (1-cos ( θ ))/2
d es la distancia entre dos puntos (sobre un círculo máximo de la esfera, véase distancia esférica),
R es el radio de la esfera,
φ 1 es la latitud del punto 1,
φ 2 es la latitud del punto 2, y
Δ λ es la diferencia de longitudes

Hay que tener en cuenta que el argumento a la función haversine se supone que debe darse en radianes. En grados, haversin ( d / R ) de la fórmula se convertiría en haversin (180 · deR ).

Entonces se puede resolver ya sea mediante la simple aplicación de la tabla de haversine inversa (si está disponible) o mediante el uso de la función arcoseno (arcoseno) :

 d = R \, \operatorname{haversin}^{-1}(h) = 2 R \arcsin  \left (\sqrt{h}\, \right).

donde

  • h es haversin ( d / R )

En la época anterior a las calculadoras digitales, el uso de tablas náuticas detalladas para el haversine, haversine/inverso y sus logaritmos (para ayudar en las multiplicaciones) ahorró a los navegantes calcular los cuadrados de los senos, el cálculo de raíces cuadradas, etc., un proceso arduo y que podía agravar los pequeños errores (ver también verseno). En el caso del cálculo de longitud por las distancias lunares de José de Mendoza, redujo el proceso de 30 pasos a 7.

Al utilizar estas fórmulas, se debe tener cuidado en asegurarse de que h no exceda 1 debido a un error de coma flotante ( d es sólo real para h de 0 a 1). h sólo se aproxima a 1 en los puntos antipodales (en los lados opuestos de la esfera) - en esta región, tienden a surgir en la fórmula errores numéricos relativamente grandes cuando se utiliza una precisión finita. Sin embargo, ya que "d" es entonces bastante grande (se acerca a π · R , la mitad de la circunferencia) un pequeño error a menudo no es una preocupación importante en este caso inusual (aunque hay otras fórmulas de distancia de círculo máximo que evitan este problema). (La fórmula anterior se escribe a veces en términos de la función arcotangente, pero esta adolece de problemas numéricos similares con valores cerca de h = 1.)

Como se describe a continuación, en lugar de haversines, también se puede escribir una fórmula similar, en términos del coseno -a veces llamada la ley esférica del coseno -, (a no confundir con la ley del coseno para la geometría plana), pero para el caso común de distancias pequeñas ... un pequeño error en los datos de entrada de la función "arccos" lleva a un gran error en el resultado final. Esto hace que la fórmula no sea apta para un uso general.

Esta fórmula es sólo una aproximación cuando se aplica a la Tierra, porque la Tierra no es una esfera perfecta: el radio de la Tierra R varía de 6.356,78 kilómetros en los polos hasta 6378 , 14 kilómetros en el ecuador. Hay pequeñas correcciones, típicamente del orden de 0,1% (p.e. suponiendo la media geométrica R = 6.367,45 kilómetros que se utiliza en todas partes), a causa de esta ligera forma elipsoidal del planeta. Otro método más preciso, que tiene en cuenta la forma elipsoidal de la Tierra, viene dada por las fórmulas de Vincenty.

Ley del haversine[editar]

Dada una esfera unitaria, un "triángulo" en la superficie de la esfera se define por gran círculo s de conectar tres puntos o , v y w en la esfera. Si las longitudes de estas tres partes están a (de uv por v ), b (desde o a w ), y c (a partir de W a ), y el ángulo de la esquina opuesta c es C , entonces la ley del haversine dice:

(la ley del haversine)
 \operatorname{haversin}(c) = \operatorname{haversin}(a - b)+\sin (a) \sin (b) \, \operatorname{haversin}(C).

Como se trata de una esfera unidad, las longitudes a , b y c son simplemente iguales a inglés (en radianes s) sostenidas por los lados del centro de la esfera (para un no esfera-unidad, cada una de estas longitudes de arco es igual a su [] ángulo [central] multiplicado por el radio de la esfera).

Para obtener la fórmula del haversine de la sección anterior de esta ley, simplemente se considera el caso especial donde o es el polo norte, mientras que w v y son los dos puntos la separación de se va a determinar. En este caso, un y b son π/2 - φ 1,2 (es decir, 90 ° - latitud), C es el Δλ longitud de separación, yc es la deseada de / R . Tomando nota que el sin ( π /2 - φ ) = cos ( φ ), la fórmula haversine sigue inmediatamente.

Para deducir la ley del haversine, se parte de la ley esférica de coseno:

(teorema esférico del coseno)
 \cos (c) = \cos (a) \cos (b)+\sin (a) \sin (b) \cos (C). \,

Como se ha mencionado anteriormente, esta fórmula no es demasiado buena para la resolución de c cuando c es pequeño. En su lugar, se sustituye la identidad: cos ( θ ) = 1-2 haversin ( θ ), y para obtener la ley del haversine citada más arriba, también se utiliza la identidad de suma:

cos ( a - b ) = cos ( a ) cos ( b ) +sin ( a ) sin ( b ),

Referencias[editar]

Scibor * Ireneo Romualdo '-Marchocki, [] http://web.archive.org/19991010004728/www.geocities.com/ResearchTriangle/2363/trig02.html trigonometría esférica, Primaria-Geometría Trigonometría página web (1997).

  • Gellert W., S. Gottwald, M. Hellwich, H. Kästner y Küstner H., La Enciclopedia Concisa de las Matemáticas VNR , 2 ª ed., Cap. 12 (otras unidades: New York, 1989).
  • Diccionario Inglés de Oxford. Oxford University Press. 2 ª ed. 1989. Citas acuñación del término "Haversine" por el Prof. Jas. Inman, DD, si navegación y astronomía náutica, 3 ª ed. (1835).

Enlaces externos[editar]

  • La fórmula Haversine realizada en 9 lenguajes
  • [1] Aplicación en Javascript de la fórmula del Haversine para encontrar la distancia entre dos puntos conociendo su latitud y longitud
  • [2] Aplicación en C++ de la fórmula del Haversine para encontrar la distancia entre dos puntos conociendo su latitud y longitud
  • [3] Aplicación en Ruby de la fórmula del Haversine para encontrar la distancia entre dos puntos conociendo su latitud y longitud
  • [4] Aplicación en [Python] de la fórmula del Haversine para encontrar la distancia entre dos puntos conociendo su latitud y longitud
  • [5] Aplicación en C MacOS de la fórmula del Haversine para encontrar la distancia entre dos puntos conociendo su código postal
  • [6] (aplicación de esta fórmula para el cálculo de la distancia entre Lats y Lons)
  • [7] Aplicación en [Pascal] de la fórmula del Haversine para encontrar la distancia entre dos puntos conociendo su latitud y longitud
  • Cálculo de la distancia (en kilómetros o millas) en función de la latitud y longitud en PHP