Heim > Java > javaLernprogramm > Hauptteil

Wie berechnet man den Abstand zwischen zwei Punkten anhand von Breiten- und Längengrad?

Linda Hamilton
Freigeben: 2024-10-31 13:09:04
Original
946 Leute haben es durchsucht

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

Berechnung der Entfernung zwischen zwei Punkten anhand von Breiten- und Längengrad

Die Bestimmung der Entfernung zwischen zwei Punkten auf einer Karte ist eine häufige Aufgabe in verschiedenen Bereichen. von der Navigation bis zum GIS. Eine Methode zur genauen Berechnung dieser Entfernung ist die Verwendung der Haversine-Formel, die speziell für die Arbeit mit Breiten- und Längenkoordinaten entwickelt wurde.

Implementierung der Haversine-Formel in Java

A Die genaue Implementierung der Haversine-Formel in Java wird unten dargestellt:

<code class="java">public static double distance(double lat1, double lon1, double lat2, double lon2) {
    final int R = 6371; // Radius of the earth in kilometers
    
    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
    
    return distance;
}</code>
Nach dem Login kopieren

Verwendung der Formel

Zur Berechnung des Abstands zwischen zwei Punkten mit Koordinaten (lat1, lon1 ) und (lat2, lon2) übergeben Sie diese Werte einfach als Parameter an die Distanzmethode. Das Ergebnis wird in Metern zurückgegeben.

Beispiel:

<code class="java">double lat1 = 41.881832;
double lon1 = -87.623177;
double lat2 = 41.889809;
double lon2 = -87.621882;

double distance = distance(lat1, lon1, lat2, lon2);
System.out.println("Distance between the points: " + distance + " meters");</code>
Nach dem Login kopieren

Überlegungen zur Genauigkeit

Die Präzision des Ergebnisses hängt von der Genauigkeit der Eingabekoordinaten ab. Es ist wichtig sicherzustellen, dass die Breiten- und Längengrade im richtigen Format und mit den entsprechenden Einheiten (z. B. Dezimalgrad) angegeben werden.

Das obige ist der detaillierte Inhalt vonWie berechnet man den Abstand zwischen zwei Punkten anhand von Breiten- und Längengrad?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!