You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求支持带孔正交多边形分解的可用Python库(兼容Shapely)

带孔正交多边形分解的Python库推荐

1. polyrect

  • 专为正交多边形分解设计,原生支持带孔的正交多边形处理。
  • 可直接接收Shapely的Polygon对象(包含内孔的情况),分解后返回多个独立的Shapely矩形多边形。
  • 适配Python 3,文档完善,安装命令:pip install polyrect
  • 示例代码:
from shapely import Polygon
from polyrect import decompose

# 构建带孔正交多边形
ext = [(0, 0), (0, 2), (2, 2), (2, 0), (0, 0)]
interior = [(0.25, 0.25), (0.25, 1.25), (1.25, 1.25), (1.25, 0.25)]
polygon = Polygon(ext, [interior])

# 执行分解
rect_list = decompose(polygon)

# 输出结果验证
for rect in rect_list:
    print(f"矩形边界: {list(rect.exterior.coords)}")

2. 备选:Shapely + 栅格化间接实现

如果需要更灵活的处理,可通过栅格化方式间接完成:

  • 将带孔多边形转换为二值栅格图像,提取所有连通的矩形区域后再转回Shapely对象。
  • 依赖rasterio和numpy实现,适合对精度要求不高的场景,兼容性强但效率略低。

内容的提问来源于stack exchange,提问作者TheDeafOne

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 19:03:22