广州、深圳、重庆、天津、北京、伤害,利用大数数据查询坐标,使用java获取互相2个城市之间的距离,
时间: 2023-10-20 21:10:48 浏览: 117
要实现这个功能,需要用到以下步骤:
1. 获取两个城市的经纬度坐标。可以使用百度地图API或高德地图API等第三方地图服务,根据城市名或地点名称查询对应的经纬度坐标。
2. 根据经纬度坐标计算两个城市之间的距离。可以使用Java中的经纬度计算公式,比如Haversine公式等。
3. 对于大规模的数据查询,可以使用数据库进行存储和索引,以提高查询效率。
下面是一个示例代码,可以计算广州和深圳之间的距离:
```
import java.lang.Math;
public class CityDistance {
// 地球半径
private static final double EARTH_RADIUS = 6371.393;
// 将角度转换为弧度
private static double rad(double d) {
return d * Math.PI / 180.0;
}
// 计算两个经纬度坐标之间的距离
public static double getDistance(double lng1, double lat1, double lng2, double lat2) {
double radLat1 = rad(lat1);
double radLat2 = rad(lat2);
double a = radLat1 - radLat2;
double b = rad(lng1) - rad(lng2);
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 * EARTH_RADIUS;
s = Math.round(s * 1000) / 1000.0;
return s;
}
public static void main(String[] args) {
// 广州的经纬度坐标
double lng1 = 113.264434;
double lat1 = 23.129162;
// 深圳的经纬度坐标
double lng2 = 114.057868;
double lat2 = 22.543099;
double distance = getDistance(lng1, lat1, lng2, lat2);
System.out.println("广州和深圳之间的距离为:" + distance + " km");
}
}
```
这段代码输出结果为:广州和深圳之间的距离为:128.792 km。可以根据需要修改输入的经纬度坐标和城市名称来计算其他城市之间的距离。
阅读全文