根据经纬度计算两点距离 MySQL

先不说其他的,直接上SQL语句吧:

convert((6371 * acos(cos(radians(#{latitude})) * cos(radians(SUBSTRING_INDEX(a.coords,',',1))) * cos(radians(SUBSTRING_INDEX(SUBSTRING_INDEX(a.coords,';',1),',',-1)) - radians(#{longitude}))
				 + sin(radians(#{latitude})) * sin(radians(SUBSTRING_INDEX(a.coords,',',1))))),decimal(10,1)) AS "distance" 

说明:计算的是两点之间的直线距离

          其中 :

           latitude------维度,

           longitude-------精度,

coords是数据库存储货源的一个起点和终点的经纬度

数据存储形式如下图:

经纬度:如上图所示的值第一列,34.75343400296841为维度,113.63141597343925为经度。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章