java根据两地的经纬度值计算两地的距离
时间: 2023-07-23 07:40:17 浏览: 108
要计算两地之间的距离,可以使用经纬度坐标系统中的大圆距离公式(Haversine formula)。具体实现可以参考以下Java代码:
```java
public class DistanceCalculator {
private static final double EARTH_RADIUS = 6371; // 地球平均半径,单位为公里
public static double calculateDistance(double lat1, double lon1, double lat2, double lon2) {
double dLat = Math.toRadians(lat2 - lat1);
double dLon = Math.toRadians(lon2 - lon1);
double lat1Radians = Math.toRadians(lat1);
double lat2Radians = Math.toRadians(lat2);
double a = Math.sin(dLat / 2) * Math.sin(dLat / 2) +
Math.sin(dLon / 2) * Math.sin(dLon / 2) * Math.cos(lat1Radians) * Math.cos(lat2Radians);
double c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));
return EARTH_RADIUS * c; // 返回单位为公里的距离值
}
}
```
其中,`lat1`、`lon1`、`lat2`、`lon2` 分别代表两地的纬度和经度值。函数返回值为两地之间的距离,单位为公里。
阅读全文