9

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

我想得到一些匀称点的共同包络。在 JTS 中,您可以调用expandToInclude来逐点放大包络。

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

4

2 回答 2

18

要创建简单的盒子几何图形,有一个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
于 2016-01-21T20:14:01.827 回答
6

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

另外的选择:

from shapely.geometry import MultiPoint
print MultiPoint(points).bounds
于 2013-11-20T15:57:48.033 回答