geopandas.GeoDataFrame.clip#
- GeoDataFrame.clip(mask, keep_geom_type=False, sort=False)[来源]#
将点、线或多边形几何对象裁剪到掩膜范围。
两个图层必须处于相同的坐标参考系统(CRS)。
GeoDataFrame将会被剪裁到mask
对象的完整范围。如果掩膜中有多个多边形,GeoDataFrame中的数据将被裁剪到所有多边形的总边界。
- Parameters:
- maskGeoDataFrame, GeoSeries, (Multi)Polygon, list-like
用于裁剪GeoDataFrame的多边形矢量层。 掩膜的几何形状合并为一个几何特征,并与GeoDataFrame相交。 如果掩膜是一个包含四个元素的列表
(minx, miny, maxx, maxy)
,clip
将使用更快的矩形裁剪 (clip_by_rect()
),可能导致略微不同的结果。- keep_geom_typeboolean, default False
如果为真,仅返回原始类型的几何体,以防交集导致多种几何类型或几何集合。如果为假,则返回所有结果几何体(可能是混合类型)。
- sortboolean, default False
如果为 True,裁剪后的 GeoDataFrame 中行的顺序将保持不变,代价是性能略有下降。如果为 False,裁剪后的 GeoDataFrame 中行的顺序将是随机的。
- Returns:
- GeoDataFrame
来自GeoDataFrame的矢量数据(点、线、多边形)已被裁剪到掩模的多边形边界。
另请参阅
clip
等效的顶级函数
示例
使用多边形(近西区社区)剪切点(杂货店):
>>> import geodatasets >>> chicago = geopandas.read_file( ... geodatasets.get_path("geoda.chicago_health") ... ) >>> near_west_side = chicago[chicago["community"] == "NEAR WEST SIDE"] >>> groceries = geopandas.read_file( ... geodatasets.get_path("geoda.groceries") ... ).to_crs(chicago.crs) >>> groceries.shape (148, 8)
>>> nws_groceries = groceries.clip(near_west_side) >>> nws_groceries.shape (7, 8)