計算兩個經緯度之間的距離 python演算法

2022-05-09 01:03:09 字數 648 閱讀 3862

earth_redius = 6378.137

defrad(d):

return d * pi / 180.0

defgetdistance(lat1, lng1, lat2, lng2):

radlat1 =rad(lat1)

radlat2 =rad(lat2)

a = radlat1 -radlat2

b = rad(lng1) -rad(lng2)

s = 2 * math.asin(math.sqrt(math.pow(sin(a/2), 2) + cos(radlat1) * cos(radlat2) * math.pow(sin(b/2), 2)))

s = s *earth_redius

return s

將兩個點的經緯度傳入getdistance函式即可獲取兩點之間的距離,計算結果單位為千公尺(km)

公式是一、公式

對上面的公式解釋如下:

1.lat1 lung1 表示a點經緯度,lat2 lung2 表示b點經緯度;

2.a=lat1 – lat2 為兩點緯度之差  b=lung1 -lung2 為兩點經度之差;

3.6378.137為地球半徑,單位為千公尺;

計算出來的結果單位為千公尺。

JAVA計算兩個經緯度之間的距離

1 只不過是封裝好的乙個計算方法,計算的方式也就是上學時就學過的定理,老規矩直接貼 主要是方便實用,計算結果單位 公尺 public class maputils 計算兩個經緯度之間的距離 param lat1 param lng1 param lat2 param lng2 return publ...

計算兩經緯度之間的距離

今天有個任務是在請求商家詳情的時候需要求使用者離商家的距離 也就是計算兩經緯度之間的距離,套用了下面的公式解決了問題 public class distance private final static double pi 3.14159265358979323 圓周率 private final ...

給你兩個經緯度,計算他們之間的距離

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