geopandas.GeoSeries.union_all#

GeoSeries.union_all(method='unary', grid_size=None)[来源]#

返回一个包含所有几何体并集的几何体, GeoSeries

默认情况下,使用的是一元联合算法。如果几何形状是 不重叠的(形成一个覆盖),GeoPandas 可以使用一个显著更快的 算法通过使用 method="coverage" 选项来执行联合。

Parameters:
methodstr (default "unary")

用于并集的方式。选项包括:

  • "unary": 使用一元联合算法。这个选项是最稳健的,但对于大量几何图形来说可能会很慢(默认)。

  • "coverage":使用覆盖联合算法。此选项针对 不重叠的多边形进行了优化,可能比 一元联合算法快得多。然而,如果多边形重叠,它可能会产生无效的几何图形。

grid_sizefloat, default None

当指定网格大小时,使用固定精度空间来执行联合操作。这在联合那些不完全对齐的几何体或者避免因为鲁棒性问题而没有被联合的几何体时可能很有用。输入首先被对齐到给定大小的网格上。当几何体的线段在容差范围内靠近另一个几何体的一个顶点时,该顶点将被插入到线段中。最后,结果顶点将在相同的网格上计算。仅支持method "unary"。如果为None,将使用输入的最高精度。默认为None。

在版本 1.1.0 中新增。

示例

>>> from shapely.geometry import box
>>> s = geopandas.GeoSeries([box(0, 0, 1, 1), box(0, 0, 2, 2)])
>>> s
0    POLYGON ((1 0, 1 1, 0 1, 0 0, 1 0))
1    POLYGON ((2 0, 2 2, 0 2, 0 0, 2 0))
dtype: geometry
>>> s.union_all()
<POLYGON ((0 1, 0 2, 2 2, 2 0, 1 0, 0 0, 0 1))>