【发布时间】:2013-10-18 11:08:20
【问题描述】:
我有大约 10'000 个由纬度/经度点组成的多边形。 每个多边形都有关于它是什么以及它包含什么的元数据。 所有多边形都可以相互交叉。
我现在要做的是获取所有包含特定纬度/经度点的多边形。
有什么有效的方法来做到这一点? 有没有比遍历所有多边形并分别检查它们更快的方法? 是否有某种智能索引数据结构,我可以在其中存储多边形以便我可以在 C# 中进行这样的查询?
【问题讨论】:
-
如果多边形从
x点开始排序,那么您可以跳过相交检查,直到找到第一个带有x < X的多边形,其中X是您的特定点。结束 x,开始/结束 y 也是如此。如果有用的话。
标签: c# data-structures point-in-polygon