从一大组多边形中确定一个点位于哪个多边形内

时间:2013-09-25 09:13:08

标签: geometry polygon point vertex polygons

假设我有一个2D平面,覆盖着多边形(标识为顶点数组),类似于:

enter image description here

让我说我在这个平面上也有一个坐标点,返回该点存在的多边形的最简单方法是什么?

虽然这个例子列出了4个多边形,但运行check on each polygon to see if the point is within it会很简单,但我正在构建一个目前有大约150个多边形的系统,并且可以扩展到数千个,所以这样做可能会变成很慢。

那么,有没有这样做的解决方案,不会迭代所有可用的多边形,并检查该点是否存在?

1 个答案:

答案 0 :(得分:1)

您可以使用kd-tree或r-tree。它可以减少搜索空间。您还可以寻找四叉树。您可以选择四边形大小以适合多边形并最小化重叠边界框。