echarts经纬度计算距离公式
时间: 2023-07-08 09:50:50 浏览: 64
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分别表示两个经纬度点的经度和纬度坐标,计算出的距离单位为公里。
相关问题
经纬度计算距离公式
经纬度计算距离可以使用 Haversine 公式,公式如下:
```
a = sin²(Δlat/2) + cos(lat1) * cos(lat2) * sin²(Δlong/2)
c = 2 * atan2( √a, √(1−a) )
d = R * c
```
其中,`lat1` 和 `lat2` 分别表示两个点的纬度,`Δlat` 表示两个点纬度之差,`Δlong` 表示两个点经度之差。`R` 表示地球半径,通常取值为 6,371km。
使用该公式可以计算出两个经纬度坐标之间的球面距离。
java 经纬度计算距离公式
计算两个经纬度之间距离的公式是众所周知的 Haversine 公式,其 Java 实现可以参考以下代码:
```java
public class DistanceCalculator {
// 地球半径
private static final double EARTH_RADIUS = 6371.0;
/**
* 计算两个经纬度之间的距离
*
* @param lat1 第一个点的纬度
* @param lon1 第一个点的经度
* @param lat2 第二个点的纬度
* @param lon2 第二个点的经度
* @return 两点之间的距离,单位为千米
*/
public static double calculateDistance(double lat1, double lon1, double lat2, double lon2) {
// 将经纬度转换成弧度
double radiansLat1 = Math.toRadians(lat1);
double radiansLon1 = Math.toRadians(lon1);
double radiansLat2 = Math.toRadians(lat2);
double radiansLon2 = Math.toRadians(lon2);
// 计算经纬度的差值
double diffLat = radiansLat1 - radiansLat2;
double diffLon = radiansLon1 - radiansLon2;
// 计算两点之间的距离,单位为千米
double distance = 2 * EARTH_RADIUS * Math.asin(Math.sqrt(Math.pow(Math.sin(diffLat / 2), 2) +
Math.cos(radiansLat1) * Math.cos(radiansLat2) * Math.pow(Math.sin(diffLon / 2), 2)));
return distance;
}
}
```
其中,`EARTH_RADIUS` 是地球半径,单位为千米。`calculateDistance` 方法接收四个参数,分别是两个经纬度的纬度和经度值,返回计算出的两点之间的距离,单位为千米。