通过gps计算间距(WGS84坐标系)

//计算两个gps点间的间距
GPS getDistanceByGPS( const double &lng1,const double &lat1, const double &lng2, const double &lat2)
{        
        double R = 6367000; // 地球的半径
        double x = (lng2 - lng1)*pi * R * cos((lat2+lat1)/2*pi/180)/180;
        double y = (lat2 - lat1) * pi * R / 180;
        return {x,y};
}
 

//已知原点坐标和距离,求当前点坐标

GPS getGPSByDistance(const double &lng, const double &lat, const double &x, const double &y)
{
        double R = 6367000; // 地球的半径
        double lng2, lat2;
        lat2 = y*180/pi/R + lat;
        lng2 = x *180/cos((lat2+lat)/2*pi/180)/pi/R+lng;
        return {lng2,lat2};
}
验证网址:

开发工具箱 - 经纬度坐标计算距离 (box3.cn)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值