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)