今天我們用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...