Heim  >  Artikel  >  Java  >  Wie berechnet man die Großkreisentfernung und generiert Begrenzungsrahmen aus Breiten- und Längengradpunkten in Java?

Wie berechnet man die Großkreisentfernung und generiert Begrenzungsrahmen aus Breiten- und Längengradpunkten in Java?

Linda Hamilton
Linda HamiltonOriginal
2024-11-01 01:00:02355Durchsuche

How to Calculate Great Circle Distance and Generate Bounding Boxes from Latitude and Longitude Points in Java?

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:

  1. Berechnung des Nordpunkts:

    • Addieren Sie die angegebene Entfernung zum Breitengrad des ursprünglichen Punkts.
    • Behalten Sie das Gleiche bei Längengrad.
  2. Berechnung des Ostpunkts:

    • Behalten Sie den gleichen Breitengrad wie der ursprüngliche Punkt bei.
    • Fügen Sie die angegebene Entfernung zum Längengrad des ursprünglichen Punkts hinzu.

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn