2017-10-05 78 views
0

假設我的緯度爲38.802610,經度爲-116.419389,我希望能夠爲此添加距離,例如20英里。向緯度或經度添加距離

到目前爲止,我已經有一個粗略的想法上我會怎麼做這

  • 首先,制定出多少英里是在北緯1°上來了,例如說這是30

  • 然後,將一個由它:

    • 三十零分之一= 0.033333
  • 將它添加到我原來的緯度讓我的最大°緯度:
    • 38.802610 + 0.033333 = 38.8355943
  • 減去它我原來的緯度讓我的最低°緯度:
    • 38.802610 - 0.033333 = 38.769277

但是,這是有缺陷的,因爲似乎有不要直接轉換爲經度,因爲從我讀過的計算中可以看出,

最終,我需要能夠找出:

  • 最大緯度(我當前的緯度+給定距離例如20英里)
  • 最低緯度(我當前的緯度 - 定距離例如20英里)
  • 最大經度(我的當前經度+給定的距離例如20英里)
  • 最小經度(我的當前經度 - 給定的距離例如20英里)

任何幫助將不勝感激,謝謝。

+0

你讀過這篇文章http://www.movable-type.co.uk/scripts/latlong.html –

+0

Haversine公式應該可以幫到你 – Gianlucca

+0

我看過那篇文章,但我對所有人都很陌生這樣我不確定如何將它應用到我的情況? –

回答

0

由於地球不平坦,線性距離(例如20英里或32186.88米)不能直接轉換爲緯度或經度的距離。但是,有兩種直接轉換可以嘗試投射一個給定直線距離和方位角的點到另一個點。

方法1假定球形地球,使用Movable Type's "destination point given distance and bearing from start point"。下面的公式在網站上有描述。南北方向的緯度差異相同,東西方向的經度差異相同,因此您可以進行至少兩次計算以確定所有四個最小/最大和經度/緯度組合。

方法二是假定球體地球(也稱爲橢球的革命的),並計算直接測地GeographicLib,其中有綁定幾種編程語言。南北方向的緯度差異略有不同,但東西方向的緯度差異相同,因此您可以進行至少三次計算。或者只是假設北方或南方的差異大致相同,只是做兩次計算。這種方法具有亞毫米級的精度。

相關問題