geopandas.GeoSeries.simplify#
- GeoSeries.simplify(tolerance, preserve_topology=True)[来源]#
返回一个
GeoSeries,包含每个几何图形的简化表示。算法(Douglas-Peucker)递归地将原始线条分成更小的部分,并通过直线连接这些部分的端点。然后,它删除所有距离直线小于tolerance的点。它不移动任何点,并且始终保留原始线条或多边形的端点。有关详细信息,请参见 http://shapely.readthedocs.io/en/latest/manual.html#object.simplify
- Parameters:
- tolerancefloat
简化几何的所有部分与原始几何之间的距离不会超过 tolerance。它与GeoSeries的坐标参考系统具有相同的单位。 例如,在使用米作为单位的投影坐标参考系统中,使用tolerance=100意味着实际距离为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 0, 0.99518 -0.09802, 0.98079 -0.19... 1 LINESTRING (0 0, 1 10, 0 20) dtype: geometry
>>> s.simplify(1) 0 POLYGON ((0 1, 0 -1, -1 0, 0 1)) 1 LINESTRING (0 0, 0 20) dtype: geometry