2015-04-06 53 views
4

我正在獲取座標 - 緯度/經度,我想檢查這些座標是否在美國大陸。有沒有一種簡單的方法在C#中做到這一點?我可以將座標轉換成MGRS或UTM。 謝謝!C#:如何確定座標是否在美國大陸?

+0

您需要有關於美國多邊形的數據。一旦你有美國的座標多邊形,你可以很容易地檢查它是否包含某個點。 – SimpleVar 2015-04-06 04:34:28

回答

5

哇哦,他們有它只是給你:

http://econym.org.uk/gmap/states.xml

所有美國各州的COORDS! 構建一個多邊形並應用任何包含多邊形的點算法。

經典的算法是光線投射,它甚至非常簡單。如果您有任何問題,請告訴我。


現在,你有兩種選擇:

  • 使用數據來建立每個狀態的多邊形和檢查點與他們的每一個。如果沒有匹配,它不在美國。

但是,這種方法存在一個問題 - 我不知道數據是如何收集的,但它可能在狀態之間很少有差距,或者甚至有輕微的重疊。所以,如果你僅當它通常是在美國或不關心,我建議第二種方法:

  • 使用數據來建立每個狀態的多邊形,和算法對這些多邊形結合起來,一個(如工會) 。保存該多邊形並像第一種方法一樣使用它。
相關問題