指向.NET中的多边形(经度/纬度)

时间:2010-02-19 13:23:47

标签: polygon latitude-longitude point

  

可能重复:
  Point in Polygon aka hit test

我的问题需要一些帮助;): 我有一个多边形,有3个或更多的经度/纬度点。 现在我有另一个经度/纬度点,我需要检查这个点是否在多边形区域。

我在.NET中需要这个功能。任何人都可以帮助我吗?

非常感谢你的帮助。

1 个答案:

答案 0 :(得分:4)

以下是一个答案:http://alienryderflex.com/polygon/

您也可以使用Microsoft的Geometry类。创建两个几何(一个点,一个多边形),然后执行它们的交集。如果有一个交叉点

http://msdn.microsoft.com/en-us/library/system.windows.media.combinedgeometry.geometrycombinemode.aspx

如果这些方法花费的时间太长,您可以首先将多边形包裹在边界框中并测试该点是否在框的最小/最大纬度/长度内

注意:如果您的多边形穿过国际日期线,您可能需要在这些测试之前预先添加其他代码(例如,将360度添加到多边形顶点的经度,如果经度为负则指向,以便算法工作)。