geopandas.clip#

geopandas.clip(gdf, mask, keep_geom_type=False, sort=False)[来源]#

将点、线或多边形几何对象裁剪到掩膜范围。

两个图层必须在相同的坐标参考系统(CRS)中。
gdf 将被裁剪到剪切对象的完整范围。

如果掩膜中有多个多边形,gdf中的数据将被裁剪到掩膜中所有多边形的总边界。

如果 mask 是一个包含四个元素的类列表 (minx, miny, maxx, maxy),将使用更快的矩形裁剪算法。请注意,这可能导致在边缘情况下略有不同的结果,例如,如果一条线将被缩减为一个点,则可能不会返回该点。几何图形以快速但可能不干净的方式进行裁剪。输出不保证有效。对于拓扑错误不会抛出异常。

Parameters:
gdfGeoDataFrame or GeoSeries

要被裁剪到蒙版的矢量图层(点、线、多边形)。

maskGeoDataFrame, GeoSeries, (Multi)Polygon, list-like

用于裁剪 gdf 的多边形矢量图层。掩模的几何形状被溶解为一个几何特征,并与 gdf 相交。如果掩模是一个包含四个元素的列表 (minx, miny, maxx, maxy)clip 将使用更快的矩形裁剪 (clip_by_rect()),这可能导致略微不同的结果。

keep_geom_typeboolean, default False

如果为真,当交集结果产生多个几何类型或几何集合时,仅返回原始类型的几何图形。如果为假,返回所有结果几何图形(可能是混合类型)。

sortboolean, default False

如果为真,结果将使用几何体的索引作为主键按升序排序。

Returns:
GeoDataFrame or GeoSeries

来自gdf的矢量数据(点、线、多边形)被裁剪到掩模的多边形边界。

另请参阅

GeoDataFrame.clip

等效的 GeoDataFrame 方法

GeoSeries.clip

等效的 GeoSeries 方法

示例

使用多边形(近西区社区)剪切点(杂货店):

>>> 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 = geopandas.clip(groceries, near_west_side)
>>> nws_groceries.shape
(7, 8)