geopandas.GeoSeries.make_valid#
- GeoSeries.make_valid()[来源]#
修复无效几何图形。
返回一个
GeoSeries,其中包含有效的几何图形。 如果输入的几何图形已经有效,则将保留它。在许多情况下,为了创建有效的几何图形,输入的几何图形必须分成多个部分或多个几何图形。如果几何图形必须拆分成多个相同类型的部分以使其有效,则将返回一个多部分几何图形(例如 MultiPolygon)。如果几何图形必须拆分成多个不同类型的部分以使其有效,则将返回一个 GeometryCollection。示例
>>> from shapely.geometry import MultiPolygon, Polygon, LineString, Point >>> s = geopandas.GeoSeries( ... [ ... Polygon([(0, 0), (0, 2), (1, 1), (2, 2), (2, 0), (1, 1), (0, 0)]), ... Polygon([(0, 2), (0, 1), (2, 0), (0, 0), (0, 2)]), ... LineString([(0, 0), (1, 1), (1, 0)]), ... ], ... ) >>> s 0 POLYGON ((0 0, 0 2, 1 1, 2 2, 2 0, 1 1, 0 0)) 1 POLYGON ((0 2, 0 1, 2 0, 0 0, 0 2)) 2 LINESTRING (0 0, 1 1, 1 0) dtype: geometry
>>> s.make_valid() 0 MULTIPOLYGON (((1 1, 0 0, 0 2, 1 1)), ((2 0, 1... 1 GEOMETRYCOLLECTION (POLYGON ((2 0, 0 0, 0 1, 2... 2 LINESTRING (0 0, 1 1, 1 0) dtype: geometry