如何获得多边形内包含的最大可能的矩形

问题描述

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

目前我正在使用 Arcpy for ArcGIS(python 库),但没有现成的解决方案来获取它,而是有一个名为最小边界几何的特征(返回相反的结果,一个矩形包含多边形) :

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

所需结果示例:

1

解决方法

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

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

(我的实现 (C#) 是为拥有代码的客户准备的,因此除非在此期间开源,否则您必须推出自己的版本。)