0
我用http://maps.googleapis.com/maps/api/geocode/json得到緯度和長度 並保存到數據庫中。 我正在嘗試編寫計算兩個位置之間的代碼。 是否有任何計算兩個距離之間距離的好API。 我在亞洲和歐洲有一些地點。 谷歌距離只返回行駛距離我想有一個實際的距離。 預先感謝您。我該如何計算兩個位置之間的距離
我用http://maps.googleapis.com/maps/api/geocode/json得到緯度和長度 並保存到數據庫中。 我正在嘗試編寫計算兩個位置之間的代碼。 是否有任何計算兩個距離之間距離的好API。 我在亞洲和歐洲有一些地點。 谷歌距離只返回行駛距離我想有一個實際的距離。 預先感謝您。我該如何計算兩個位置之間的距離
您可以通過使用haversine公式
這裏計算的距離,origin
和destination
是緯度,經度元組
import math
def haversine(origin, destination):
lat1, lon1 = origin
lat2, lon2 = destination
radius = 6371
dlat = math.radians(lat2-lat1)
dlon = math.radians(lon2-lon1)
a = math.sin(dlat/2) * math.sin(dlat/2) + math.cos(math.radians(lat1)) \
* math.cos(math.radians(lat2)) * math.sin(dlon/2) * math.sin(dlon/2)
c = 2 * math.atan2(math.sqrt(a), math.sqrt(1-a))
d = radius * c
return d
c1 = [43.47066971,-80.54305153]
c2 = [43.46745,-80.54319]
print haversine(c1, c2) # 0.358189763734
爲什麼你需要的API?這是一個公式,你可以用谷歌查找。這只是球形三角。 – Barmar
你不需要API,只需要Haversine公式。 –
根據你的數據庫 - 它甚至可能有功能/指標,爲你做這個... –