【问题标题】:C#: How to determine if a coordinates is in the continental United States?C#:如何确定坐标是否在美国大陆?
【发布时间】:2015-06-10 12:01:07
【问题描述】:

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

【问题讨论】:

  • 您需要有关于美国多边形的数据。一旦你有一个美国坐标的多边形,你可以很容易地检查它是否包含某个点。

标签: c# coordinates gis latitude-longitude utm


【解决方案1】:

哇哦,他们专为你准备的:

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

美国各州的坐标! 构建一个多边形并应用任何多边形包含点算法。

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


现在,您有两个选择:

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

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

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

【讨论】:

    猜你喜欢
    • 2017-07-18
    • 1970-01-01
    • 2021-08-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多