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)