已知两点的经纬度java计算两点间的距离
时间: 2023-08-16 08:10:13 浏览: 117
可以使用 Haversine 公式来计算两个经纬度之间的距离,具体实现可以参考下面的 Java 代码:
```java
public class DistanceCalculator {
private static final double EARTH_RADIUS = 6371; // 地球半径,单位为千米
public static double haversine(double lon1, double lat1, double lon2, double lat2) {
// 将经度和纬度转换为弧度
double radLon1 = Math.toRadians(lon1);
double radLat1 = Math.toRadians(lat1);
double radLon2 = Math.toRadians(lon2);
double radLat2 = Math.toRadians(lat2);
// 计算经纬度的差值
double dLon = radLon2 - radLon1;
double dLat = radLat2 - radLat1;
// 使用 Haversine 公式计算距离
double a = Math.pow(Math.sin(dLat / 2), 2) + Math.cos(radLat1) * Math.cos(radLat2) * Math.pow(Math.sin(dLon / 2), 2);
double c = 2 * Math.asin(Math.sqrt(a));
double distance = EARTH_RADIUS * c;
return distance;
}
}
```
其中,`lon1` 和 `lat1` 表示第一个点的经度和纬度,`lon2` 和 `lat2` 表示第二个点的经度和纬度,函数返回值为两点之间的距离,单位为千米。
阅读全文