是否有一个形状上的信封类?

时间:2013-11-20 11:12:46

标签: python geometry geos jts shapely

我发现Java的JTS库中的envelope class非常方便。信封包含几何的最小和最大坐标,有时也称为边界框

我希望得到一些形状点的共同信封。在JTS中,您可以调用 expandToInclude 来逐点扩大包络。

由于JTS作为GEOS / shapely的蓝图,我期待一些类似的东西,但是找不到它(虽然我是图书馆的新手)。我知道自己做这不是火箭科学,但我怀疑没有更优雅的方法来做到这一点。你有什么想法吗?

2 个答案:

答案 0 :(得分:3)

不,Shapely中没有信封类,它依赖于(minx,miny,maxx,maxy)元组。如果你想用相同的JTS风格进行编程,那么编写一个包含这样一个元组的信封类将是微不足道的。

另一种选择:

from shapely.geometry import MultiPoint
print MultiPoint(points).bounds

答案 1 :(得分:3)

要创建简单的框几何,有一个box函数返回一个矩形多边形:

from shapely.geometry import box
# box(minx, miny, maxx, maxy, ccw=True)
b = box(2, 30, 5, 33)
b.wkt  # POLYGON ((5 30, 5 33, 2 33, 2 30, 5 30))
b.area  # 9.0