半正矢公式 根據經度緯度計算兩點間距離

2021-10-23 19:03:06 字數 910 閱讀 9978

今天七夕節,祝大家七夕節快樂!

對於那些異地戀,要上班的人來說,並不能見面,不如一起來計算一下你和他(她)之間的距離吧。

半正矢公式是一種根據兩點的經度和緯度來確定大圓上兩點之間距離的計算方法。

python語言:

import math

def geo_distance(origin, destination):

'''>>> origin = (48.1372, 11.5756) # munich

>>> destination = (52.5186, 13.4083) # berlin

>>> round(distance(origin, destination), 1)

504.2

'''lat1, lon1 = origin

lat2, lon2 = destination

radius = 6371 # km

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

根據兩點經緯度計算距離

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

根據兩點經緯度計算距離

android sdk 中提供了location類裡面有計算兩點之間的距離這些經緯線是怎樣定出來的呢?地球是在不停地繞地軸旋轉 地軸是一根通過地球南北兩極和地球中心的 假想線 在地球中腰畫乙個與地軸垂直的大圓圈,使圈上的每一點都和南北兩極的距離相等,這個圓圈 就叫作 赤道 在赤道的南北兩邊,畫出許多...

根據兩點經緯度計算距離

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