【问题标题】:Given n overlapping polygons, how could one get the set that provides the most coverage with the minimum number of polygons给定 n 个重叠的多边形,如何获得以最少的多边形数量提供最多覆盖的集合
【发布时间】:2021-05-20 21:16:00
【问题描述】:

我想获得提供最大覆盖范围的最小多边形集。例如,对于下图中的多边形,红色的不应该进行切割,因为它们已经被一个或多个多边形覆盖(除去其他多边形中的多边形是不够的)。孔是正常的和预期的(如第二张图片所示)。

上面多边形的数据在这里:

http://geojson.io/#id=gist:rumicuna/b36cab7d0019511b92120db130a73d44&map=8/38.311/-81.403

我很乐意采用任何语言的算法,甚至是关于如何解决这个问题的数学描述。该图像是一个示例,但就我而言,我有数千个多边形(卫星图像边界)。

【问题讨论】:

标签: algorithm geospatial postgis polygon computational-geometry


【解决方案1】:

@btilly 提到了相关的近似硬度结果,但在实践中你应该能够得到一个不错的结果:

  1. 用离散元素形成weighted coverage problem。通过找到适当的平面细分,有一个聪明的方法可以做到这一点。还有一种不太聪明的方法可以做到这一点,通过重复寻找相交的一对多边形 P 和 Q 并用子多边形 P ∖ Q、P ∩ Q、Q ∖ P 替换它们,跟踪 sub 之间的对应关系-多边形和原始多边形。计算几何库将为您节省大量时间——也许是 CGAL?

  2. 使用整数规划解决这个覆盖问题。我偏爱OR-Tools,因为它是由我的同事开发的,但您有很多选择。

【讨论】:

    猜你喜欢
    • 2015-10-20
    • 2012-05-25
    • 1970-01-01
    • 2020-03-01
    • 1970-01-01
    • 2013-11-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多