Berechnen von Distanzen und Generieren von Begrenzungsrahmen aus Breiten- und Längengradpunkten in Java
Messen von Distanzen zwischen Breiten- und Längengradkoordinaten, bekannt als Großkreisdistanz, ist für Geodatenanwendungen unerlässlich. Darüber hinaus ermöglicht das Erstellen von Begrenzungsrahmen um Punkte mithilfe von Abständen die Visualisierung und Analyse.
Großkreisentfernungsberechnung
Die Haversine-Formel, eine weit verbreitete Methode zur Berechnung von Großkreisabständen, kann in Java wie folgt implementiert werden:
<code class="java">public static double distFrom(double lat1, double lng1, double lat2, double lng2) { double earthRadius = 3958.75; // miles (or 6371.0 kilometers) double dLat = Math.toRadians(lat2 - lat1); double dLng = Math.toRadians(lng2 - lng1); double sindLat = Math.sin(dLat / 2); double sindLng = Math.sin(dLng / 2); double a = Math.pow(sindLat, 2) + Math.pow(sindLng, 2) * Math.cos(Math.toRadians(lat1)) * Math.cos(Math.toRadians(lat2)); double c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a)); double dist = earthRadius * c; return dist; }</code>
Begrenzungsrahmen generieren
Sobald der Abstand berechnet ist, erfordert die Bestimmung der Punkte, die den Begrenzungsrahmen darstellen, Folgendes:
Berechnung des Nordpunkts:
Berechnung des Ostpunkts:
Durch die Kombination des ursprünglichen Punkts mit den Nord- und Ostpunkten kann ein Begrenzungsrahmen generiert werden.
Das obige ist der detaillierte Inhalt vonWie berechnet man die Großkreisentfernung und generiert Begrenzungsrahmen aus Breiten- und Längengradpunkten in Java?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!