Berechnung des Abstands zwischen zwei Punkten anhand von Breiten- und Längengrad
Um den Abstand zwischen zwei Punkten anhand ihres Breiten- und Längengrads genau zu berechnen, ist dies 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.
Dommer-Code
Dommer-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:
<code class="java">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); }</code>
Dieser Code beinhaltet sowohl die Haversine-Formel als auch Höhenunterschiede, um den Abstand zwischen zwei Punkten genau zu berechnen.
Das obige ist der detaillierte Inhalt vonWie berechnet man die Entfernung zwischen zwei Punkten anhand von Breitengrad, Längengrad und Höhe?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!