geopandas.GeoSeries.force_3d#
- GeoSeries.force_3d(z=0)[来源]#
强制几何的维度为3D。
2D 几何图形将获得提供的 Z 坐标;3D 几何图形保持不变(除非它们的 Z 坐标是
np.nan)。请注意,对于空几何图形,3D仅在GEOS 3.9及以后版本中得到支持,并且仍然仅适用于简单几何图形(非集合)。
- Parameters:
- zfloat | array_like (default 0)
要分配的Z坐标
- Returns:
- GeoSeries
示例
>>> from shapely import Polygon, LineString, Point >>> s = geopandas.GeoSeries( ... [ ... Point(1, 2), ... Point(0.5, 2.5, 2), ... LineString([(1, 1), (0, 1), (1, 0)]), ... Polygon([(0, 0), (0, 10), (10, 10)]), ... ], ... ) >>> s 0 POINT (1 2) 1 POINT Z (0.5 2.5 2) 2 LINESTRING (1 1, 0 1, 1 0) 3 POLYGON ((0 0, 0 10, 10 10, 0 0)) dtype: geometry
>>> s.force_3d() 0 POINT Z (1 2 0) 1 POINT Z (0.5 2.5 2) 2 LINESTRING Z (1 1 0, 0 1 0, 1 0 0) 3 POLYGON Z ((0 0 0, 0 10 0, 10 10 0, 0 0 0)) dtype: geometry
Z坐标可以指定为标量:
>>> s.force_3d(4) 0 POINT Z (1 2 4) 1 POINT Z (0.5 2.5 2) 2 LINESTRING Z (1 1 4, 0 1 4, 1 0 4) 3 POLYGON Z ((0 0 4, 0 10 4, 10 10 4, 0 0 4)) dtype: geometry
或者作为类数组的形式(每个几何体一个值):
>>> s.force_3d(range(4)) 0 POINT Z (1 2 0) 1 POINT Z (0.5 2.5 2) 2 LINESTRING Z (1 1 2, 0 1 2, 1 0 2) 3 POLYGON Z ((0 0 3, 0 10 3, 10 10 3, 0 0 3)) dtype: geometry