C#:如何确定坐标是否在美国大陆?

时间:2015-04-06 04:27:18

标签: c# coordinates gis latitude-longitude utm

我正在获取坐标 - lat / lon,我想检查这些坐标是否在美国大陆。有没有一种简单的方法在C#中做到这一点?我可以将坐标转换为MGRS或UTM。 谢谢!

1 个答案:

答案 0 :(得分:6)

哇,哇,他们只为你准备好了:

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

美国的所有协调国家! 构建一个多边形并应用任何多边形包含点算法。

经典算法是光线投射,它甚至非常简单。如果您遇到任何问题,请告诉我。


现在,您有两种选择:

  • 使用数据为每个状态构建一个多边形,并检查每个状态的一个点。如果没有匹配,则不在美国。

但是,这种方法存在问题 - 我不知道如何收集数据,但可能是状态之间的间隙很小,甚至是轻微的重叠。因此,如果您只关心它是否一般在美国,我建议采用第二种方法:

  • 使用数据为每个状态构建多边形,并使用算法将这些多边形组合为一个(如union)。保存该多边形,并将其与第一种方法一样使用。