【问题标题】:How to get the largest possible rectangle contained inside polygon如何获得包含在多边形内的最大可能矩形
【发布时间】:2021-08-26 01:28:31
【问题描述】:

我正在寻找一种解决方案,以在多边形内获得最大可能的矩形。

目前我正在使用 Arcpy for ArcGIS(python 库),但没有现成的解决方案来获取它,而是有一个名为 Minimum Bounding Geometry 的功能(这会返回相反的结果,矩形包含多边形) :

https://pro.arcgis.com/en/pro-app/latest/tool-reference/data-management/minimum-bounding-geometry.htm

所需结果示例:

【问题讨论】:

  • 有趣的问题。可以肯定的是:1.多边形是否可以自相交? 2.“最大”矩形是指矩形面积吗? 3. 解决方案可能不是唯一的,所以您正在寻找一种解决方案或所有解决方案?
  • 你已经用谷歌搜索“多边形最大矩形”了吗?它将引导您讨论一种算法,该算法甚至包含您发布的图片。
  • 这不在 Python 中,但可能会有所帮助:gitlab.com/b-rowlingson/maxrectangle
  • @KlausGütter 1- 没有不自相交 2- 最大的意思是右边的区域 3- 我需要最优解
  • "最佳解决方案" - 但可能有多个解决方案具有相同的区域,例如思考多边形实际上是八边形的情况 - 这里有两个解决方案。您是否已经检查过d3plus.org/blog/behind-the-scenes/2014/07/08/largest-rect

标签: python c# polygon arcgis rectangles


【解决方案1】:

我发现的最好的方法在一篇题为“在闭合轮廓中找到任意方向的最大面积矩形”的学术论文中进行了描述。提供 PDF 格式,但版权使我无法链接该文档,您可以通过发布者 https://www.sciencedirect.com/science/article/abs/pii/S0096300312003207 获得该文档。

该算法为 O(N^3),作者声称没有其他算法具有更低的时间复杂度(这并不意味着它对所有用例都是最有效的)。

(我的实现 (C#) 是为拥有代码的客户提供的,因此除非同时开源,否则您将不得不推出自己的版本。)

【讨论】:

    猜你喜欢
    • 2023-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-18
    • 2023-04-11
    • 1970-01-01
    • 2015-05-13
    • 1970-01-01
    相关资源
    最近更新 更多