2009-12-13 256 views
5

什麼是最大長度(以公里或英里爲單位 - 但請具體說明)經度和緯度可以在地球表面產生一度的程度?小數緯度/經度的最大長度?

我不確定我是否足夠清楚,讓我重新說明一下。衆所周知,地球不是一個完美的圓圈,赤道(或厄瓜多爾)緯度/經度1.0的變化可能意味着一個距離,而極點的相同變化可能意味着另一個完全不同的距離。

我想縮小數據庫返回結果的數量(在這種情況下,MySQL),以便我可以使用Great Circle公式計算幾個點之間的距離。而不是選擇所有的點,然後計算他們的個人我要選擇的座標是緯度/經度邊界之內,例如:

SELECT * FROM poi 
WHERE latitude >= 75 AND latitude <= 80 
    AND longitude >= 75 AND longitude <= 80; 

PS:這晚,我覺得我的英語沒有想出瞭如我希望,如果有什麼你不明白,請說出來,我會根據需要修復/改進,謝謝。

+1

放鬆 - 你的英語很好。轉換爲UTM可能是一種選擇 - 它旨在處理曲率問題。 – 2009-12-13 22:11:39

+0

謝謝,UTM對我來說是新的。我會深入一點。 – 2009-12-13 22:24:51

+0

你問了一個錯誤的問題,沒有回答者考慮過你的描述(第三段)如何計劃使用它。只有在赤道才能使用這個或類似的答案 - 請參閱我的答案。 – 2010-07-14 23:17:22

回答

9

緯度的長度幾乎沒有變化,赤道約110.6公里到極點附近約111.7公里。如果地球是一個完美的球體,那將是不變的。爲了獲得已知(經緯度)10公里範圍內的點列表,假定恆定的111公里應該是確定的。

但是它的與經度完全不同的故事。它從赤道約111.3公里,60度緯度55.8公里,89度緯度1.9公里到極點零。

你問錯了問題;您需要知道MINIMUM長度以確保您的查詢不會拒絕有效的候選人,並且不幸的是,經度的最小長度爲零!

假設您採取其他民間建議,使用緯度和經度約111公里的常數。對於10公里的查詢,您將使用10/111 = 0.09009度的經度或緯度餘量。這在赤道是好的。然而,在北緯60度(例如斯德哥爾摩的哪個地方),經過東經0.09度的距離只能使您行駛5公里左右。在這種情況下,您錯誤地拒絕了大約有效答案的一半

幸運的是,計算獲得更好的經度界限(取決於已知點的緯度)非常簡單 - 請參閱this SO answer以及Jan Matuschek提及的文章。

7

最初,海里的定義是赤道上一分的經度長度。所以,赤道周圍有360 * 60 = 21,600海里。同樣,一公里的原始定義是1萬公里=從極到赤道的長度。因此,假定一個球形大地,將有:

  • 40000÷21600 =1.852公里每分鐘
  • 1.852×60 = 111.11每度公里

允許球狀大地而不是球形的會略微調整因子,但不是那麼多。你可以相當確信,這個因素不到1.9公里每分鐘或每度114公里。

+0

真棒,讚揚你! =) – 2009-12-13 22:20:54

+0

-1閱讀OP的第3段,看看答案的用途,並查看高緯度地區發生了什麼。 – 2010-07-14 23:18:43

+0

@John:問題標題要求學位的「最大長度」。我的回答給出了這些信息。 – 2010-07-15 05:38:54

2

參考橢球用於地球是WGS84系統,這意味着 ,對於赤道地球半徑具有

在達到經度的最大長度的的 6 378137米或3963.19英里長度赤道和近似(上限) 111.3195 km或 69.1708英里

赤道和1°之間達到一度緯度的最大長度。它幾乎完全等於經度的最大長度;第一個近似表明差小於4.2米產生

111.3153公里或 69.1682英里

+0

-1解決OP的標題問題,並忽略答案的用途。 – 2010-07-14 23:20:47

+0

只是問: 由於問題是*仍然*標記在一個錯誤的標題下,這不是更好的解決方案來糾正錯誤的問題,而不是 投票下來正確的答案? 因此,如果人們只讀標題,他們仍然會得到錯誤的印象。那些真正想知道經度/緯度的最大長度的人呢? 那麼如何使用您的聲譽來編輯問題? – 2010-08-08 21:11:23