根據經緯度計算兩點距離 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爲經度。

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