用Java编写一个计算两个经纬度直接距离
时间: 2023-03-25 11:03:28 浏览: 76
您好,我可以回答您的问题。计算两个经纬度之间的直接距离可以使用 Haversine 公式,以下是 Java 代码示例:
public class DistanceCalculator {
private static final double EARTH_RADIUS = 6371; // 地球半径,单位为千米
public static double calculate(double lat1, double lon1, double lat2, double lon2) {
double radLat1 = Math.toRadians(lat1);
double radLat2 = Math.toRadians(lat2);
double a = radLat1 - radLat2;
double b = Math.toRadians(lon1) - Math.toRadians(lon2);
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 *= EARTH_RADIUS;
return s;
}
}
其中,lat1 和 lon1 表示第一个经纬度,lat2 和 lon2 表示第二个经纬度,返回值为两个经纬度之间的直接距离,单位为千米。