3

可能重复:
多边形中的点又名命中测试

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

我在.NET 中需要这个功能。谁能帮我?

非常感谢您的帮助。

4

1 回答 1

3

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

您还可以使用 Microsoft 的 Geometry 类。创建两个几何图形(一个点,一个多边形),然后对它们进行交集。如果有路口

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

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

注意:如果您的多边形跨越国际日期变更线,您可能需要在这些测试之前预先添加额外的代码(即在多边形顶点的经度上添加 360 度,并在经度为负时指出,以便算法工作)。

于 2010-02-19T16:22:17.573 回答