如何计算经纬度之间的距离_根据经纬度算距离

2022-09-28 11:28:59 浏览数 (1)

大家好,又见面了,我是你们的朋友全栈君

用php计算两个指定的经纬度地点之间的距离,代码:

/**

*求两个已知经纬度之间的距离,单位为米

*@param lng1,lng2 经度

*@param lat1,lat2 纬度

*@return float 距离,单位米

*@edit www.jbxue.com

**/

function getdistance(lng1,lat1,lng2,lat2){

//将角度转为狐度

radLat1=deg2rad(lat1);//deg2rad()函数将角度转换为弧度

radLat2=deg2rad(lat2);

radLng1=deg2rad(lng1);

radLng2=deg2rad(lng2);

a=radLat1-

b=radLng1-

s=2*asin(sqrt(pow(sin(a/2),2) cos(radLat1)*cos(radLat2)*pow(sin(

return $s;

}

?>

举例,“上海市延安西路2055弄”到“上海市静安寺”的距离:

上海市延安西路2055弄 经纬度:31.2014966,121.40233369999998

上海市静安寺 经纬度:31.22323799999999,121.44552099999998

那么:

复制代码 代码示例:

echo getdistance(31.2014966,121.40233369999998,31.22323799999999,121.44552099999998);

结果为:4970.4248747365 ,约4970米,大约10里路。

几乎接近真实的距离了,看来用php计算两个经纬度地点之间的距离,还是靠谱的,呵呵。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/193149.html原文链接:https://javaforall.cn

0 人点赞