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


EARTH_REDIUS = 6378.137

def rad(d):
    return d * pi / 180.0

def getDistance(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)

公式是

一、公式


關於經緯度求距離 - cza55007 - NO.1.LY 

對上面的公式解釋如下:

1.Lat1 Lung1 表示A點經緯度,Lat2 Lung2 表示B點經緯度;
2.a=Lat1 – Lat2 為兩點緯度之差  b=Lung1 -Lung2 為兩點經度之差;
3.6378.137為地球半徑,單位為千米;

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM