geopandas.GeoSeries.simplify#

GeoSeries.simplify(*args, **kwargs)#

返回一个 GeoSeries 包含每个几何图形的简化表示。

该算法(Douglas-Peucker)递归地将原始直线分割成更小的部分,并通过一条直线连接这些部分的端点。然后,它会移除与直线的距离小于 tolerance 。它不移动任何点,并且始终保留原始直线或多边形的端点。详情请参阅http://shapely.readthedocs.io/en/latest/manual.html#object.simplify

参数
tolerance浮动

简化几何图形的所有部分将不超过 tolerance 与原件的距离。它与GeoSeries的坐标参考系具有相同的单位。例如,使用 tolerance=100 在以米为单位的投影CRS中,实际距离为100米。

preserve_topology: bool (default True)

False使用更快的算法,但可能会生成自交或无效的几何体。

注意事项

不保留拓扑的简化可能会导致无效的几何对象,并且简化可能对坐标顺序敏感:仅在坐标顺序上不同的两个几何可能会以不同方式简化。

示例

>>> from shapely.geometry import Point, LineString
>>> s = geopandas.GeoSeries(
...     [Point(0, 0).buffer(1), LineString([(0, 0), (1, 10), (0, 20)])]
... )
>>> s
0    POLYGON ((1.00000 0.00000, 0.99518 -0.09802, 0...
1    LINESTRING (0.00000 0.00000, 1.00000 10.00000,...
dtype: geometry
>>> s.simplify(1)
0    POLYGON ((1.00000 0.00000, 0.00000 -1.00000, -...
1       LINESTRING (0.00000 0.00000, 0.00000 20.00000)
dtype: geometry