Java implementa o cálculo da distância entre dois pontos de latitude e longitude e envie diretamente o código.
A cópia do código é a seguinte:
pacote com.jttx.poi.utils;
importar com.jttx.poi.entity.point;
/**
* Criado por Louis em 2014/9/2.
*/
classe pública geoutils {
/**
* Calcule a distância entre dois pontos de latitude e longitude (unidade: metros)
* @param lng1 longitude
* @param Lat1 Latitude
* @param lng2
* @param lat2
* @retornar
*/
public static duplo getDistance (Double Lng1, Double Lat1, Double Lng2, Double Lat2) {
duplo radlat1 = math.toradians (Lat1);
duplo radlat2 = math.toradians (Lat2);
duplo a = radlat1 - radlat2;
duplo B = Math.Toradians (LNG1) - Math.Toradians (LNG2);
duplo 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; // Pegue o raio do comprimento da Terra no elipsóide de referência padrão WGS84 (unidade: M)
s = Math.Round (S * 10000) / 10000;
retorno s;
}
/**
* Calcule o valor TP
* @param curpoint ponto atual
* Ponto de deslocamento do ponto de deslocamento @param
* @param isgeography se as coordenadas geográficas são falsas são coordenadas 2D
* @return TP Valor
*/
public static duplo getdirangle (ponto de curto -ponto, ponto de relacionado, ponto booleano isgeografia) {
resultado duplo = 0;
if (isgeography) {
duplo y2 = math.toradians (RelatedPoint.getLat ());
duplo y1 = math.toradians (curpoint.getlat ());
Double alfa = Math.atan2 (RelatedPoint.getLat () - CurPoint.getLat (), (RelatedPoint.getLng () - CurPoint.getlng ()) * Math.cos ((y2 - y1)/ 2)); // Latitude Direção multiplicada por cos (y2-y1/2)
Delta duplo = alfa <0? (2*math.pi+alfa): alfa;
resultado = math.todegrees (delta);
}outro {
Double alfa = math.atan2 (RelatedPoint.getLat () - CurPoint.getLat (), RelatedPoint.getLng () - CurPoint.getLng ());
Delta duplo = alfa <0? (2*math.pi+alfa): alfa;
resultado = math.todegrees (delta);
}
resultado de retorno;
}
public static void main (string [] args) {
System.out.println (GetDistance (121.446014, 31.215937, 121.446028464238, 31.2158502442799);
}
}
O exposto acima é tudo sobre este artigo, espero que gostem.