首页 > 解决方案 > 如何从列表中的一组子列表创建 shapely.geometry.box?

问题描述

我有一个坐标列表如下:

zip_box = [(10.0, 20.0, 20.0, 30.0), (28.0, 40.0, 38.0, 50.0), (46.0, 60.0, 56.0, 70.0), (64.0, 80.0, 74.0, 90.0), (82.0, 100.0, 92.0, 110.0)]

它们被组织为:(minx,miny,maxx,maxy)。

如何将每个集合转换为一个box(minx, miny, maxx, maxy)?当我尝试 for 循环时,例如:

for i in zip_box:
    b = box (i)

它抛出一个错误:

TypeError: box() takes at least 4 arguments (1 given)

我知道为什么,因为元组进入两个圆括号并假定只有一个参数。我想将每组转换成一个形状匀称的盒子,然后让它们准备好进行绘图。

标签: pythonarraylisttuplesshapely

解决方案


您可以像这样访问四元组的元素:

for minx, miny, maxx, maxy in zip_box:
    b = box(minx, miny, maxx, maxy)

推荐阅读