„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie berechnet man die Entfernung zwischen zwei Punkten anhand von Breitengrad, Längengrad und Höhe?

Wie berechnet man die Entfernung zwischen zwei Punkten anhand von Breitengrad, Längengrad und Höhe?

Veröffentlicht am 09.11.2024
Durchsuche:829

How to Calculate Distance Between Two Points Using Latitude, Longitude, and Altitude?

Berechnen des Abstands zwischen zwei Punkten anhand von Breiten- und Längengrad

Die genaue Berechnung des Abstands zwischen zwei Punkten basierend auf ihrem Breiten- und Längengrad ist von entscheidender Bedeutung die Krümmung der Erdoberfläche zu berücksichtigen. Die Haversine-Methode, eine bekannte Formel, berücksichtigt diese Krümmung und liefert präzise Ergebnisse.

Dommers Code

Dommers Code verwendet die Haversine-Formel, um den Abstand zu berechnen. Es berücksichtigt jedoch keine Höhenunterschiede zwischen den beiden Punkten.

Empfohlene Implementierung

Für GPS-Tracks oder Anwendungen, bei denen die Höhe eine Rolle spielt, sollten Sie dies als geändert betrachten Implementierung:

public static double distance(double lat1, double lat2, double lon1,
        double lon2, double el1, double el2) {

    final int R = 6371; // Radius of the earth
    
    double latDistance = Math.toRadians(lat2 - lat1);
    double lonDistance = Math.toRadians(lon2 - lon1);
    double a = Math.sin(latDistance / 2) * Math.sin(latDistance / 2)
              Math.cos(Math.toRadians(lat1)) * Math.cos(Math.toRadians(lat2))
            * Math.sin(lonDistance / 2) * Math.sin(lonDistance / 2);
    double c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));
    double distance = R * c * 1000; // convert to meters

    double height = el1 - el2;

    distance = Math.pow(distance, 2)   Math.pow(height, 2);

    return Math.sqrt(distance);
}

Dieser Code beinhaltet sowohl die Haversine-Formel als auch Höhenunterschiede, um den Abstand zwischen zwei Punkten genau zu berechnen.

Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3