python求球面距離

2021-10-19 08:58:33 字數 773 閱讀 6578

今天我們用python**寫乙個求球面距離的公式,可以通過經緯度,計算球面間兩點的距離。

**如下:

def

geodistance

(lng1,lat1,lng2,lat2)

: lng1, lat1, lng2, lat2 =

map(radians,

[float

(lng1)

,float

(lat1)

,float

(lng2)

,float

(lat2)])

# 經緯度轉換成弧度

dlon=lng2-lng1

dlat=lat2-lat1

a=sin(dlat/2)

**2+ cos(lat1)

* cos(lat2)

* sin(dlon/2)

**2distance=

2*asin(sqrt(a))*

6371

*1000

# 地球平均半徑,6371km

distance=

round

(distance/

1000,3

)return distance

lng1,lat1,lng2,lat2分別是兩對經緯度。通過上述**可以計算這兩對經緯度地點之間的距離。

求球面兩點最短距離

problem 給定球的半徑,兩點的經緯度,求這兩點間的最短距離。solution 球面兩點間距離公式 r acos cos wa cos wb cos jb ja sin wa sin wb r代表半徑,wa是a點的緯度,wb是b點的緯度,ja是a點的經度,jb是b點的經度,去北緯為正,東經為正。...

演算法 入門篇(球面距離)

數學模型 計算公式 l r arc cos cos wa cos wb cos jb ja sin wa sin wb 補充 球面距離在開發中一般用在,地理位置的位移量計算中。本文將根據風控系統中,使用者登入的位移量評估簡單介紹此演算法的使用。一般的,我們再日誌中,可以獲取客戶端的登入ip,根據ip...

求緯度線上任意兩點的球面距離 10分

在第一行中輸入乙個位於區間 90,90 內代表緯度的實數 在第二行中輸入兩個位於區間 180,180 內代表經度的實數,以空格分隔。輸出弦長和球面距離的值,保留3位小數,以空格分隔,最後換行。32.6 56.1 163.8 10090.980 11645.760 include include in...