經緯度計算距離 經緯度計算,別讓數學拖你後腿

2021-10-12 08:51:49 字數 1601 閱讀 4059

已知乙個的經度/緯度(long1, lat1),距離d(以km為單位)和方位角α(以度為單位),求新的經度/緯度(long2, lat2)。

這個問題在大地測量學中非常受歡迎。

舉個例子:點a(123.2329 , 32.5946 ),求北偏東45度方向,200千公尺處的點b(long2, lat2)經緯度。

在計算之前,首先要了解這幾點

1)地球不是乙個標準的球體,它是乙個兩極稍扁赤道略鼓的不規則球體。簡單來說,它更接近是乙個橢圓。

2)由於(1),地球是沒有恆定的半徑,為了方便計算,我們這裡取平均距離,平均半徑 為6371.393千公尺,記為arc

3)上面的平均半徑arc是指球體半徑,你可以簡單理解為赤道圓半徑,緯度0度的那個切面的半徑。在乙個球體裡面,離球心越遠,切面的半徑就越少。緯度就是乙個以赤道平面為起點的線面角。知道球體半徑arc,和線面角lat1(當前緯度),就可以求出切面的半徑了。則當前的緯度的切面半徑arc = arc*cos(lat1)

4)經緯度平移的角度計算。

在乙個圓裡面,角度β: 弦比周長再乘360

事實上,經度方向上,與緯度方向上的半徑r,與弦長是不一樣的。

結合圖1,圖2可以知道:

緯度:l=d*sinα,r=2π*arc*cos(lat1)半徑是當前緯度切面的半徑

經度:l=d*cosαr=2π*arc半徑是縱向切面的半徑,這裡取平均半徑

緯度β:d*sinα/[arc*cos(lat1)*2π/360]

經度β:d*cosα/ (arc *2π/360)

平移的角度加上原來的經緯度就得到新的經緯度了,最好就得到最終公式了

long2 =d*sinα/[arc*cos(lat1)*2π/360]+ long1

lat2 = d*cosα/ (arc *2π/360)+lat1

說了這麼多數學知識,你懂了多少?

不懂也沒有關係,回到excel,其實就是設定函式公式的問題。

整理已知的條件如下。

起點經度(以度為單位)long1 123.2329

起點的緯度(以度為單位)lat1 32.5946

方位角(以度為單位)α 45

距率(以km為單位)d 200

平均半徑(以km為單位)arc 6371.393 (隱藏的條件)

把條件代入公式就可以得到結果。

需要注意的是:

1)sinα中的α要轉換為弧度,這裡用了radians(角度) 來轉換

2)π 直接用 pi() 來表示

經緯度計算

define earth radius,6371 地球半徑,平均半徑為6371km 計算某個經緯度的周圍某段距離的正方形的四個點 param lng float 經度 param lat float 緯度 param distance float 該點所在圓的半徑,該圓與此正方形內切,預設值為0.5...

給定經緯度計算距離 根據兩點經緯度計算距離

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

經緯度計算 筆記

經緯度之間距離計算 返回單位 公尺 function distance lon1,lat1,lon2,lat2 echo distance 116.368904,39.923423,116.387271,39.922501 die 高德計算距離 deg2rad 函式將角度轉換為弧度。rad2deg ...