Java implementiert die Berechnung des Abstands zwischen zwei Breiten- und Längengradpunkten und lädt den Code direkt hoch. Weitere Informationen finden Sie in den Kommentaren.
Die Codekopie lautet wie folgt:
Paket com.jttx.poi.utils;
import com.jttx.poi.entity.point;
/**
* Erstellt von Louis am 2014/9/2.
*/
öffentliche Klasse Geoutils {
/**
* Berechnen Sie den Abstand zwischen zwei Breiten- und Längengradpunkten (Einheit: Meter).
* @param lng1 Länge
* @param lat1 Breite
* @param lng2
* @param lat2
* @zurückkehren
*/
public static double getDistance (double lng1, double lat1, double lng2, double lat2) {
Double radlat1 = math.toradianer (lat1);
double radlat2 = math.toradianer (lat2);
Doppel a = radlat1 - radlat2;
Double B = Math.Toradians (LNG1) - Math.Toradians (LNG2);
double s = 2 * math.asin (math.sqrt (math.pow (math.sin (a / 2), 2) + math.cos (radlat1)
* Math.cos (radlat2) * math.pow (math.sin (b / 2), 2)));
S = S * 6378137.0; // Nehmen Sie den Radius der Erdlänge in der WGS84 Standard Referenz Ellipsoid (Einheit: m)
S = Math.Round (S * 10000) / 10000;
Rückkehr s;
}
/**
* Berechnen Sie den TP -Wert
* @param curpoint aktueller Punkt
* @Param RelatedPoint Offset Point
* @param isgeography Ob die geografischen Koordinaten falsch sind, sind 2D -Koordinaten
* @Return TP -Wert
*/
public static double getDirangle (Point Curpoint, Point RelatedPoint, Boolean Isgeography) {
Doppelergebnis = 0;
if (isgeography) {
double y2 = math.toradianer (verwandte Punkt.getLat ());
double y1 = math.toradianer (curpoint.getLat ());
double alpha = math.atan2 (relatedPoint.getLat () - curpoint.getlat (), (verwandtes Punkt.getLng () - curpoint.getLng ()) * Math.cos ((y2 - y1)/ 2)); // Latitude Richtung multipliziert mit COS (Y2-Y1/2)
double delta = alpha <0? (2*math.pi+alpha): alpha;
result = Math.TodeGrees (Delta);
}anders {
double alpha = math.atan2 (relatedPoint.getLat () - curpoint.getLat (), verwandtes Punkt.getLng () - curpoint.getLng ());
double delta = alpha <0? (2*math.pi+alpha): alpha;
result = Math.TodeGrees (Delta);
}
Rückgabeergebnis;
}
public static void main (String [] args) {
System.out.println (GetDistance (121.446014, 31.215937, 121.446028464238, 31.2158502442799));
}
}
Das obige dreht sich alles um diesen Artikel, ich hoffe es gefällt euch.