Java met en œuvre le calcul de la distance entre deux points de latitude et de longitude et télécharger directement le code.
La copie de code est la suivante:
package com.jttx.poi.utils;
import com.jttx.poi.entity.point;
/ **
* Créé par Louis le 2014/9/2.
* /
classe publique Geoutils {
/ **
* Calculez la distance entre deux points de latitude et de longitude (unité: mètres)
* @param lng1 longitude
* @param lat1 latitude
* @param lng2
* @param lat2
* @retour
* /
Public Static Double GetDistance (Double Lng1, Double Lat1, Double Lng2, Double Lat2) {
double radlat1 = math.toradians (lat1);
double radlat2 = math.toradians (lat2);
double 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; // Prenez le rayon de la longueur de la Terre dans l'ellipsoïde de référence standard WGS84 (unité: m)
S = math.round (S * 10000) / 10000;
retour s;
}
/ **
* Calculez la valeur TP
* @param curpoint actuel point
* @param point de décalage lié
* @param estgeographie si les coordonnées géographiques sont fausses sont des coordonnées 2D
* @return TP Valeur
* /
Public Static Double GetDirangle (Curpoint Point, point lié à Point, Boolean Isgeography) {
Double résultat = 0;
if (isgeography) {
double y2 = math.toradians (RelatedPoint.getlat ());
double y1 = math.toradians (curpoint.getlat ());
double alpha = math.atan2 (Relatedpoint.getlat () - curPoint.getlat (), (Relatedpoint.getlng () - curPoint.getlng ()) * Math.cos ((y2 - y1) / 2)); // latitude Direction multipliée par COS (Y2-Y1 / 2)
double delta = alpha <0? (2 * math.pi + alpha): alpha;
résultat = math.todegrees (delta);
}autre {
double alpha = math.atan2 (RelatedPoint.getlat () - curPoint.getlat (), RelatedPoint.getlng () - curPoint.getlng ());
double delta = alpha <0? (2 * math.pi + alpha): alpha;
résultat = math.todegrees (delta);
}
Résultat de retour;
}
public static void main (String [] args) {
System.out.println (GetDistance (121.446014, 31.215937, 121.446028464238, 31.2158502442799));
}
}
Ce qui précède est tout sur cet article, j'espère que vous l'aimez.