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