MySQL根據經緯度計算距離語句

2021-10-11 02:40:16 字數 1181 閱讀 6763

-- 根據當前經緯度,算出附近的商家距離 108.280102,22.867369,可以建立乙個儲存過程來計算

explain

select

abs(t.positionlat - 22.867369) as difflag,

round(

6378.138 * 2 * asin(

sqrt(

pow(

sin(

(22.867369 * pi() / 180 - positionlat * pi() / 180

) / 2),2

) + cos(22.867369 * pi() / 180) * cos(positionlat * pi() / 180) * pow(

sin(

(108.280102 * pi() / 180 - positionlng * pi() / 180

) / 2),2

))

) * 1000

) as juli

, t.*

from

t_restaurant t

-- 先縮小範圍,再計算距離,不過用大小比較會索引失效,有空再研究

where

t.positionlng > 108.280102 - 0.059827

and t.positionlng < 108.280102 + 0.059827

and t.positionlat > 22.867369 - 0.055908

and t.positionlat < 22.867369 + 0.055908

order by

juli asc

-- -----

-- 108.32817, 22.819598 108.387997, 22.819465

-- 108.359324, 22.791847

-- 108.327524, 22.76369 108.38868, 22.76429

-- 橫豎大約6公里內

select abs(108.32817 - 108.387997) as 橫向

select abs(22.819598 - 22.76369) as 豎向

根據經緯度計算距離 Java

根據兩個位置的經緯度,來計算兩地的距離 單位為km 引數為double型別 long1 位置1經度 lat1 位置1緯度 long2 位置2經度 lat2 位置2緯度 public class distanceutils 根據兩個位置的經緯度,來計算兩地的距離 param longitudeuser...

給定經緯度計算距離 根據兩點經緯度計算距離

根據兩點經緯度計算距離 這些經緯線是怎樣定出來的呢?地球是在不停地繞地軸旋轉 地軸是一根通過地 球南北兩極和地球中心的 假想線 在地球中腰畫乙個與地軸垂直的大圓圈,使圈上的每一點都和南北兩 極的距離相等,這個圓圈 就叫作 赤道 在赤道的南北兩邊,畫出許多和赤道平行的圓圈,就是 緯 圈 構成這些圓圈的...

python根據經緯度計算距離示例

複製 如下 計算兩點之間距離 param lat1 start緯度 param lon1 start經度 param lat2 esoawmf程式設計客棧 end緯度 param lon2 end經度 return km 四捨五入 public static double getdistance d...