我有许多以坐标列表形式出现的多边形。这些多边形中的每一个都代表全局地图上的一个区域,每个区域都有一个权重。
我需要在地图上找到这个重量最高的区域。这意味着在多边形重叠的情况下,权重将是交叉区域的两个多边形的总和。我想尽可能高效地进行计算。任何帮助将不胜感激。
答案 0 :(得分:1)
解决此问题的最简单方法是通过最近邻居聚类多边形。此步骤是可选的,仅用于更有效地搜索交叉多边形。相反,也可以省略聚类,这需要对相交的多边形进行详尽的搜索。
在下一步中,您可以将三个多边形替换为两个相交的多边形A
和B
,如下所示:一个由A
区域组成的多边形,其中没有与...的交叉区域权重A
,B
的等效多边形,第三个多边形覆盖A
和B
的交叉区域,加权A
和B
作为权重。将A
和B
替换为三个生成的多边形并更新群集。重复此步骤,直到找不到相交的矩形,然后就完成了。