geopandas.GeoSeries.buffer#

GeoSeries.buffer(distance, resolution=16, cap_style='round', join_style='round', mitre_limit=5.0, single_sided=False, **kwargs)[来源]#

返回一个 GeoSeries,该 距离 表示每个几何对象周围的所有点。

计算几何图形的缓冲区,支持正向和反向缓冲距离。

几何体的缓冲区被定义为几何体与半径等于缓冲距离绝对值的圆的闵可夫斯基和(或,对于负距离的差)。

缓冲操作总是返回多边形结果。线和点的负或零距离缓冲总是为空。

Parameters:
distancefloat, np.array, pd.Series

在Minkowski和(或差)中的缓冲区半径。如果使用np.array或pd.Series,则必须与GeoSeries具有相同的长度。

resolutionint (optional, default 16)

每个顶点周围缓冲区的分辨率。指定在圆弧近似中一个四分之一圆的线性段数。

cap_style{‘round’, ‘square’, ‘flat’}, default ‘round’

指定缓冲线结尾的形状。 'round' 产生圆形线结尾(见 resolution)。 'square''flat' 都产生矩形线结尾, 'flat' 将在原始顶点结束,而 'square' 涉及添加缓冲宽度。

join_style{‘round’, ‘mitre’, ‘bevel’}, default ‘round’

指定缓冲线中点的形状。 'round' 结果为圆形。 'bevel' 结果为接触原始顶点的斜边。 'mitre' 结果为单个顶点,该顶点根据 mitre_limit 参数进行斜切。

mitre_limitfloat, default 5.0

如果点距离缓冲顶点超过此限制,则裁剪'mitre'样式的连接。

single_sidedbool, default False

仅在几何体的一侧创建缓冲区。

示例

>>> from shapely.geometry import Point, LineString, Polygon
>>> s = geopandas.GeoSeries(
...     [
...         Point(0, 0),
...         LineString([(1, -1), (1, 0), (2, 0), (2, 1)]),
...         Polygon([(3, -1), (4, 0), (3, 1)]),
...     ]
... )
>>> s
0                         POINT (0 0)
1    LINESTRING (1 -1, 1 0, 2 0, 2 1)
2    POLYGON ((3 -1, 4 0, 3 1, 3 -1))
dtype: geometry
>>> s.buffer(0.2)
0    POLYGON ((0.2 0, 0.19904 -0.0196, 0.19616 -0.0...
1    POLYGON ((0.8 0, 0.80096 0.0196, 0.80384 0.039...
2    POLYGON ((2.8 -1, 2.8 1, 2.80096 1.0196, 2.803...
dtype: geometry

进一步 规格 ``join_stylecap_style 在下面的插图中显示:

( 代码, png, hires.png, pdf)

../../../_images/buffer.png