百度坐标 距离计算公式 java
时间: 2023-09-07 07:02:03 浏览: 110
java根据两点经纬度计算距离
百度坐标转换和距离计算是在Java中常用的功能。以下是一个简单的示例代码,使用Java中的Math类中的方法来计算两点之间的距离:
```java
import java.lang.Math;
public class BaiduCoordinateDistance {
public static void main(String[] args) {
double lat1 = 39.90923; // 第一个点的纬度
double lon1 = 116.397428; // 第一个点的经度
double lat2 = 40.00923; // 第二个点的纬度
double lon2 = 116.497428; // 第二个点的经度
double distance = getDistance(lat1, lon1, lat2, lon2);
System.out.println("两点之间的距离为:" + distance + " 米");
}
public static double getDistance(double lat1, double lon1, double lat2, double lon2) {
double radLat1 = Math.toRadians(lat1);
double radLat2 = Math.toRadians(lat2);
double a = radLat1 - radLat2;
double b = Math.toRadians(lon1) - Math.toRadians(lon2);
double 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 * 6378137.0; // 地球半径,单位:米
s = Math.round(s * 10000) / 10000; // 保留小数点后四位
return s;
}
}
```
这个代码使用了haversine公式来计算两点之间的距离。需要注意的是,这里使用的是WGS-84坐标系下的经纬度,如果需要使用百度坐标,还需要先进行坐标转换。百度提供了相应的API接口来进行坐标转换,可以查阅相关文档来了解具体的使用方法。
阅读全文