找到重叠的加权多边形'最高'区域

时间:2016-01-18 14:17:32

标签: python algorithm maps shapes polygons

我有许多以坐标列表形式出现的多边形。这些多边形中的每一个都代表全局地图上的一个区域,每个区域都有一个权重。

我需要在地图上找到这个重量最高的区域。这意味着在多边形重叠的情况下,权重将是交叉区域的两个多边形的总和。我想尽可能高效地进行计算。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

解决此问题的最简单方法是通过最近邻居聚类多边形。此步骤是可选的,仅用于更有效地搜索交叉多边形。相反,也可以省略聚类,这需要对相交的多边形进行详尽的搜索。

在下一步中,您可以将三个多边形替换为两个相交的多边形AB,如下所示:一个由A区域组成的多边形,其中没有与...的交叉区域权重AB的等效多边形,第三个多边形覆盖AB的交叉区域,加权AB作为权重。将AB替换为三个生成的多边形并更新群集。重复此步骤,直到找不到相交的矩形,然后就完成了。