经纬度计算距离公式 java
时间: 2023-09-27 16:05:00 浏览: 104
以下是Java代码,使用 Haversine 公式计算地球上两个位置之间的距离:
```java
public class DistanceCalculator {
private static final int EARTH_RADIUS = 6371; // 地球半径,单位:公里
public static double calculate(double lat1, double lon1, double lat2, double lon2) {
double dLat = Math.toRadians(lat2 - lat1);
double dLon = Math.toRadians(lon2 - lon1);
double a = Math.sin(dLat / 2) * Math.sin(dLat / 2)
+ Math.cos(Math.toRadians(lat1)) * Math.cos(Math.toRadians(lat2))
* Math.sin(dLon / 2) * Math.sin(dLon / 2);
double c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));
return EARTH_RADIUS * c;
}
}
```
其中,`lat1` 和 `lon1` 分别为第一个位置的纬度和经度,`lat2` 和 `lon2` 分别为第二个位置的纬度和经度。函数返回值为两个位置之间的距离,单位为公里。
阅读全文