两个经纬度之间的距离计算公式
对上面的公式解释如下:
- Lng1 Lat1表示A点经纬度, Lng2 Lat2表示B点经纬度;
- a=Lat1 – Lat2 为两点纬度之差 b=Lng1 -Lng2 为两点经度之差;
- 6378.137为地球半径,单位为千米;
- 计算出来的结果单位为千米,若将半径改为米为单位则计算的结果单位为米。
- 计算精度与谷歌地图的距离精度差不多,相差范围在0.2米以下。
公式如下,单位米:
第一点A经纬度:lng1 lat1
第二点B经纬度:lng2 lat2
mysql 公式
round(6378.138*2*asin(sqrt(pow(sin( (lat1*pi()/180-lat2*pi()/180)/2),2)+cos(lat1*pi()/180)*cos(lat2*pi()/180)* pow(sin( (lng1*pi()/180-lng2*pi()/180)/2),2)))*1000)
例如:
SELECT ROUND(6378.138*2*ASIN(SQRT(POW(SIN((40.0497810000*PI()/180-40.009561*PI()/180)/2),2)+COS(40.0497810000*PI()/180)*COS(40.009561*PI()/180)*POW(SIN((116.3424590000*PI()/180-116.36718*PI()/180)/2),2)))*1000) AS juli
版权声明:本文为weixin_44116269原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。