Berechnen von Entfernungen und Begrenzungsrahmenkoordinaten in Java mithilfe von Breiten-/Längenpunkten
Messen der Entfernung zwischen zwei Breiten- und Längengradpunkten und Erstellen einer Begrenzung Das Erstellen eines Rahmens um einen bestimmten Punkt ist eine häufige Aufgabe bei Kartierungs- und standortbasierten Anwendungen. Um diesem Bedarf gerecht zu werden, können Java-Entwickler die Haversine-Formel nutzen, um Großkreisabstände genau zu berechnen.
Entfernung berechnen
Die Haversine-Formel, eine mathematische Gleichung, kann präzise bestimmen der Abstand zwischen zwei Punkten auf der Erdoberfläche. Hier ist eine Java-Implementierung der Formel:
<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 erstellen
Mit der berechneten Entfernung kann der Begrenzungsrahmen erstellt werden, indem die Punkte bestimmt werden, die nördlich liegen und östlich des angegebenen Punktes um die angegebene Entfernung. Der folgende Pseudocode demonstriert diesen Vorgang:
// Assuming distance is in miles // Calculate North and East edges northEdge = lat + (distance / 69); // Divide by 69 to convert to degrees eastEdge = lng + (distance / 53); // Divide by 53 to convert to degrees // Create bounding box coordinates boundingBox = [lat, lng, northEdge, eastEdge]
Das obige ist der detaillierte Inhalt vonWie berechnet man Entfernung und Begrenzungsrahmenkoordinaten mithilfe von Breiten- und Längengrad in Java?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!