在地球上,已知A点的经纬度和B点的经纬度,算出AB点之间的距离

public static void main(String[] args) {
    double earthR = 6371000;//地球大致半径
    double lat1 = aa.aaaa; //A的纬度
    double lng1 = bb.bbbb;//A的经度
    double lat2 = cc.cccc;//B的纬度
    double lng2 = dd.dddd;//B的经度
    double distance = earthR * getDistance(lat1,lng1,lat2,lng2);
    System.out.println(String.format("%.2f",distance));
}
public static double getDistance(double lat1, double lng1, double lat2, double lng2) {
    return 2 * asin(min(1, sqrt((pow(sin(((lat2 - lat1) * PI) / 360), 2)) +
            cos(lat2 * PI / 180) * cos(lat1 * PI / 180) * pow(sin(((lng2 - lng1) * PI) / 360), 2))));
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值