Haversine-Formel

From Wikipedia, the free encyclopedia

Die Haversine-Formel (seltener auch deutsch Semiversus-Formel) ist eine Gleichung aus der sphärischen Trigonometrie, mit der sich die Großkreisentfernung zwischen zwei Punkten auf einer Kugeloberfläche aus deren Längen- und Breitengraden berechnen lässt. Sie ist in der Navigation von großer Bedeutung und stellt einen Spezialfall des allgemeineren Gesetzes der Haversine dar, das die Seiten und Winkel sphärischer Dreiecke in Beziehung setzt.

Schnelle Fakten Verwendete Symbole ...
Haversine-Formel

Verwendete Symbole
Schließen

Geschichte

Frühe Entwicklung

Die Haversine-Funktion wurde erstmals 1801 in Navigationstabellen des spanischen Astronomen José de Mendoza y Ríos verwendet, wie der Mathematikhistoriker Florian Cajori dokumentierte.[1] Mendoza y Ríos publizierte verschiedene Tabellen, die die Haversine-Methode (seiner Erfindung) verwendeten, um die Berechnungen der nautischen Astronomie und Navigation zu vereinfachen.[2] Seine Tabellen halfen bei der Berechnung der Längengrade durch Monddistanzen – eine der wichtigsten Navigationsmethoden des 18. und frühen 19. Jahrhunderts.

Die erste bekannte englische Tabelle mit Haversinen wurde 1805 von James Andrew unter dem Namen "Squares of Natural Semi-Chords" veröffentlicht.[3] Diese Bezeichnung verweist auf die geometrische Bedeutung der Funktion als Quadrat der halben Sehnenlänge.

Namensgebung und Verbreitung

Der Begriff "Haversine" wurde 1835 von James Inman in der dritten Ausgabe seines Werkes "Navigation and Nautical Astronomy: For the Use of British Seamen" geprägt.[4] Er führte diese neue Tabelle ein, um die Berechnung von Entfernungen zwischen zwei Punkten auf der Erdoberfläche mittels sphärischer Trigonometrie zu vereinfachen. Der Name setzt sich aus "ha" (für "half", englisch für "halb") und "versine" zusammen und bedeutet somit "halber Sinus versus".

James Inman (1776–1859) war ein englischer Mathematiker und Astronom, Professor für Mathematik am Royal Naval College in Portsmouth und Autor der "Inman's Nautical Tables".[5] Seine Einführung der Haversine-Funktion vereinfachte die Formeln der sphärischen Trigonometrie erheblich und seine Tabellen wurden von allen Navigatoren ausgiebig genutzt.

Historische Bedeutung

Vor dem Aufkommen von Computern erwies sich die Eliminierung von Divisionen und Multiplikationen mit dem Faktor zwei als so praktisch, dass Tabellen mit Haversine-Werten und Logarithmen in Navigations- und Trigonometrie-Lehrbüchern des 19. und frühen 20. Jahrhunderts enthalten waren.[6] Roger Sinnott beschrieb 1984 im Magazin Sky & Telescope ("Virtues of the Haversine"), wie die Haversine-Formel selbst auf einem einfachen TRS-80 Computer in BASIC programmiert werden konnte, um die Winkeldistanz zwischen Sternen genau zu berechnen.[7]

Mathematische Grundlagen

Die Haversine-Funktion

Die Haversine-Funktion ist definiert als:

Die Haversine-Funktion berechnet die halbe Versine des Winkels θ oder das Quadrat der halben Sehnenlänge des Winkels auf einem Einheitskreis (Kugel).[8] Sie ist verwandt mit der älteren Versine-Funktion:

Die Haversine-Formel

Für zwei Punkte auf einer Kugel mit den Koordinaten (φ₁, λ₁) und (φ₂, λ₂) – wobei φ den Breitengrad und λ den Längengrad bezeichnet – lautet die Haversine-Formel:[9]

Dabei ist:

  • d die gesuchte Entfernung
  • r der Radius der Kugel (für die Erde etwa 6371 km)
  • Δφ = φ₂ - φ₁ (Differenz der Breitengrade)
  • Δλ = λ₂ - λ₁ (Differenz der Längengrade)

Das Gesetz der Haversine

Für ein "Dreieck" auf der Oberfläche einer Einheitskugel, das durch Großkreise definiert wird, die drei Punkte u, v und w verbinden, besagt das Gesetz der Haversine:[10]

Dabei sind a, b und c die Seitenlängen des sphärischen Dreiecks und C ist der Winkel gegenüber der Seite c.

Numerische Eigenschaften

Numerische Stabilität

Ein wesentlicher Vorteil der Haversine-Formel ist ihre numerische Stabilität, besonders für kleine Distanzen.[11] Da die Haversine-Formel Sinusfunktionen verwendet, vermeidet sie das Problem der Auslöschung, das bei der Verwendung des sphärischen Kosinusgesetzes auftreten kann.

Beim sphärischen Kosinusgesetz kann es bei nahe beieinander liegenden Punkten (z. B. einen Kilometer voneinander entfernt auf der Erde) dazu kommen, dass cos(d/R) = 0,99999999 ergibt, was zu ungenauen Ergebnissen führt.[12] Die Haversine-Formel umgeht dieses Problem durch die Verwendung der Sinusfunktion, die für kleine Winkel numerisch stabiler ist.

Genauigkeitsgrenzen

Die Haversine-Formel ist nur eine Näherung, wenn sie auf die Erde angewandt wird, da diese keine perfekte Kugel ist.[13] Der "Erdradius" R variiert von 6356,752 km an den Polen bis 6378,137 km am Äquator. Noch entscheidender ist, dass der Krümmungsradius einer Nord-Süd-Linie auf der Erdoberfläche an den Polen (≈6399,594 km) 1 % größer ist als am Äquator (≈6335,439 km), was zur Folge hat, dass die Haversine-Formel im Extremfall bis zu 0,5 % vom exakten Wert abweichen kann.[14]

Genauere Methoden, die die Elliptizität der Erde berücksichtigen, werden durch die Vincenty-Formel und andere Formeln für geographische Distanzen angegeben.

Vergleich mit anderen Methoden

Haversine vs. Vincenty

Die Haversine-Formel und die Vincenty-Formel sind die zwei am häufigsten verwendeten Methoden zur Distanzberechnung auf der Erdoberfläche:[15]

Weitere Informationen Eigenschaft, Vincenty-Formel ...
EigenschaftHaversine-FormelVincenty-Formel
ErdmodellKugelEllipsoid
Genauigkeit±0,3 %±0,5 mm
RechenaufwandEinfach, wenig rechenintensivKomplex, iterativ
Numerische StabilitätSehr gut für alle DistanzenKann bei antipodalen Punkten versagen
AnwendungsbereichWeb- und MobilanwendungenGeodätische Berechnungen
Schließen

Beispiel: Die Distanz zwischen Pune (Indien) und Sydney (Australien) beträgt mit der Haversine-Formel 6236,243 Meilen und mit der Vincenty-Formel 6231,892 Meilen.[16]

Praktische Anwendung

Die Haversine-Formel berechnet die kürzeste Distanz zwischen zwei Punkten auf einer Kugel unter Verwendung ihrer Breiten- und Längengrade entlang der Oberfläche und ist wichtig für die Navigation.[17] Sie findet Anwendung in:

  • Luftfahrt: Berechnung von Flugrouten und -distanzen
  • Seefahrt: Bestimmung von Schifffahrtsrouten
  • GPS-Navigation: Routenberechnung in Navigationsgeräten

Geographische Informationssysteme

Die Haversine-Formel wird in verschiedenen Bereichen wie Astronomie, Geodäsie und Navigation verwendet.[18] Moderne Anwendungen umfassen:

  • Kartenanwendungen und Geodatenanalyse
  • Standortbasierte Dienste
  • Distanzberechnungen in Datenbanken

Implementierung

Ein Beispiel für die Implementierung in PHP:[19]

<?php
function haversine($lat1, $lon1, $lat2, $lon2) {
    // Radius der Erde in Kilometern
    $earthRadius = 6371;

    // Differenzen in Radiant umrechnen
    $dLat = deg2rad($lat2 - $lat1);
    $dLon = deg2rad($lon2 - $lon1);

    // Breiten in Radiant umrechnen
    $lat1 = deg2rad($lat1);
    $lat2 = deg2rad($lat2);

    // Haversine-Formel anwenden
    $a = sin($dLat / 2) * sin($dLat / 2) +
         sin($dLon / 2) * sin($dLon / 2) *
         cos($lat1) * cos($lat2);

    $c = 2 * asin(sqrt($a));

    // Distanz berechnen
    return $earthRadius * $c;
}

// Beispielverwendung
$lat1 = 38.898;  // Washington D.C. (Weißes Haus)
$lon1 = -77.037;
$lat2 = 48.858;  // Paris (Eiffelturm)
$lon2 = 2.294;

$distance = haversine($lat1, $lon1, $lat2, $lon2);
echo "Entfernung: " . round($distance, 2) . " km\n";
?>

Beispielberechnung

Die Haversine-Formel kann verwendet werden, um die ungefähre Entfernung zwischen dem Weißen Haus in Washington, D.C. (Breitengrad 38,898° N, Längengrad 77,037° W) und dem Eiffelturm in Paris (Breitengrad 48,858° N, Längengrad 2,294° E) zu berechnen.[20]

Schrittweise Berechnung:

  1. Umrechnung in Radiant
  2. Berechnung der Differenzen: Δφ = 0,1737 rad, Δλ = 1,3734 rad
  3. Anwendung der Haversine-Formel
  4. Ergebnis: d ≈ 6.166 km

Verwandte Funktionen

Die Haversine-Funktion gehört zu einer Familie trigonometrischer Funktionen:[21]

  • Versine: versin(θ) = 1 - cos(θ) = 2·hav(θ)
  • Coversine: coversin(θ) = 1 - sin(θ) = versin(π/2 - θ)
  • Havercosine: havercos(θ) = (1 + cos(θ))/2
  • Exsekans: exsec(θ) = sec(θ) - 1

Siehe auch

Literatur

  • James Inman: Navigation and Nautical Astronomy: For the Use of British Seamen. 3. Auflage. W. Woodward, C. & J. Rivington, London 1835.
  • José de Mendoza y Ríos: Memoria sobre algunos métodos nuevos de calcular la longitud por las distancias lunares. Imprenta Real, Madrid 1801.
  • Florian Cajori: A History of Mathematical Notations. Band 2, 3. Auflage. Open Court Publishing Company, Chicago 1952, S. 172.
  • Glen Robert van Brummelen: Heavenly Mathematics: The Forgotten Art of Spherical Trigonometry. Princeton University Press, 2013, ISBN 978-0-691-14892-2.
  • R. W. Sinnott: Virtues of the Haversine. In: Sky and Telescope. Band 68, Nr. 2, 1984, S. 159.

Einzelnachweise

Related Articles

Wikiwand AI