geopandas.GeoSeries.build_area#
- GeoSeries.build_area(node=True)[来源]#
创建由组成线条形成的区域几何体。
从包含表示平面图边缘的线条的GeoSeries中构建区域。可以提供任何几何类型作为输入;只有构成的线条和环将用于创建输出多边形。GeoSeries中的所有几何形状都会一起考虑,因此结果多边形与输入几何形状不对应1:1。
此函数将内环转换为孔。要将内环也转换为多边形,请使用 polygonize。
除非您知道输入的 GeoSeries 代表一个具有干净拓扑的平面图(例如,两个线段相交的地方都有一个节点),否则建议使用
node=True,该选项会在构建面几何形状之前进行节点处理。使用node=False将提供性能优势,但如果输入不具备正确的拓扑,则可能导致不正确的多边形。如果输入的线条交叉,这个函数可能会产生无效的多边形。使用
GeoSeries.make_valid()以确保几何图形有效。- Parameters:
- nodebool, default True
在构建区域之前执行节点操作,默认值为True。
- Returns:
- GeoSeries
具有多边形的GeoSeries
示例
>>> from shapely.geometry import LineString, Polygon >>> s = geopandas.GeoSeries([ ... LineString([(18, 4), (4, 2), (2, 9)]), ... LineString([(18, 4), (16, 16)]), ... LineString([(16, 16), (8, 19), (8, 12), (2, 9)]), ... LineString([(8, 6), (12, 13), (15, 8)]), ... LineString([(8, 6), (15, 8)]), ... LineString([(0, 0), (0, 3), (3, 3), (3, 0), (0, 0)]), ... Polygon([(1, 1), (2, 2), (1, 2), (1, 1)]), ... ]) >>> s.build_area() 0 POLYGON ((0 3, 3 3, 3 0, 0 0, 0 3), (1 1, 2 2,... 1 POLYGON ((4 2, 2 9, 8 12, 8 19, 16 16, 18 4, 4... Name: polygons, dtype: geometry