Geospatial 查找N个多边形中的所有交点

Geospatial 查找N个多边形中的所有交点,geospatial,computational-geometry,Geospatial,Computational Geometry,给定由边界点表示的N多边形,查找所有相交多边形组 例如,如下所示输入[多边形A,多边形B,多边形C,多边形D],输出[(多边形A,多边形B),(多边形B,多边形C)](请注意,多边形A是一个包含uniq\U ID和列表[点]的结构) 是否可能我的处理速度比O(n^2)快(假设每个多边形包含的点不超过10个) 您可以将轮廓视为一组独立的线段,并使用(例如)扫掠线技术查找所有交点。复杂度达到O((n+k)log n),其中k是有效交叉口数 在你的情况下,如果多边形是紧凑的和散乱的,你也可以考虑他

给定由边界点表示的N多边形,查找所有相交多边形组

例如,如下所示输入
[多边形A,多边形B,多边形C,多边形D]
,输出
[(多边形A,多边形B),(多边形B,多边形C)]
(请注意,多边形A是一个包含
uniq\U ID
列表[点]
的结构)

是否可能我的处理速度比O(n^2)快(假设每个多边形包含的点不超过10个)


您可以将轮廓视为一组独立的线段,并使用(例如)扫掠线技术查找所有交点。复杂度达到
O((n+k)log n)
,其中
k
是有效交叉口数

在你的情况下,如果多边形是紧凑的和散乱的,你也可以考虑他们的轴对齐边界框并找到重叠。已知

O(n log n+k)
算法