我正在获取坐标 - 纬度/经度,我想检查这些坐标是否在美国大陆。有没有一种简单的方法可以在 C# 中做到这一点?我可以将坐标转换为 MGRS 或 UTM。谢谢!
问问题
1705 次
1 回答
7
哦,哇,他们专为您准备:
http://econym.org.uk/gmap/states.xml
美国各州的坐标!建立一个多边形并应用任何多边形包含点算法。
经典算法是光线投射,甚至非常简单。如果您有任何问题,请告诉我。
现在,您有两个选择:
- 使用数据为每个州构建一个多边形,并检查每个州的一个点。如果没有匹配,则不在美国。
但是,这种方法存在一个问题——我不知道数据是如何收集的,但状态之间的差距可能很小,甚至有轻微的重叠。因此,如果您只关心它是否通常在美国,我建议第二种方法:
- 使用数据为每个状态构建一个多边形,并使用一种算法将这些多边形组合成一个(如联合)。保存该多边形并将其与第一种方法一样使用。
于 2015-04-06T04:36:02.073 回答