经纬度计算距离的公式
时间: 2023-02-07 10:01:55 浏览: 272
经纬度计算距离的公式是:
设点A(lat1, lon1),点B(lat2, lon2)
d = R * arccos(sin(lat1) * sin(lat2) + cos(lat1) * cos(lat2) * cos(lon1 - lon2))
其中d是两点间的距离,R是地球的半径。
注意:这个公式只适用于小范围内的距离计算,对于较大的距离,应使用更精确的方法来计算。
相关问题
echarts经纬度计算距离公式
Echarts经纬度计算距离公式可以使用Haversine公式来实现。Haversine公式根据两个经纬度点的经度、纬度坐标,计算出这两个点之间的距离。下面是Haversine公式的实现:
```
function getDistance(lat1, lng1, lat2, lng2) {
var radLat1 = lat1 * Math.PI / 180.0;
var radLat2 = lat2 * Math.PI / 180.0;
var a = radLat1 - radLat2;
var b = lng1 * Math.PI / 180.0 - lng2 * Math.PI / 180.0;
var 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 * 6378.137; // 地球半径,单位为公里
s = Math.round(s * 10000) / 10000;
return s;
}
```
其中,lat1、lng1和lat2、lng2分别表示两个经纬度点的经度和纬度坐标,计算出的距离单位为公里。
经纬度计算距离公式 java
以下是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` 分别为第二个位置的纬度和经度。函数返回值为两个位置之间的距离,单位为公里。
阅读全文