geopandas.GeoSeries.clip_by_rect#
- GeoSeries.clip_by_rect(xmin, ymin, xmax, ymax)[来源]#
返回一个
GeoSeries,表示在给定矩形内的几何部分。请注意,结果与
intersection()并不完全相等。例如,在边缘情况下,clip_by_rect()不会返回一个仅触碰矩形的点。请查看下面的示例部分以了解这些例外情况。几何图形以快速但可能不干净的方式被裁剪。输出不保证有效。对于拓扑错误不会引发异常。
注意:空几何体或与指定边界不重叠的几何体将导致
GEOMETRYCOLLECTION EMPTY。- Parameters:
- xmin: float
矩形的最小 x 值
- ymin: float
矩形的最小 y 值
- xmax: float
矩形的最大 x 值
- ymax: float
矩形的最大y值
- Returns:
- GeoSeries
示例
>>> from shapely.geometry import Polygon, LineString, Point >>> s = geopandas.GeoSeries( ... [ ... Polygon([(0, 0), (2, 2), (0, 2)]), ... Polygon([(0, 0), (2, 2), (0, 2)]), ... LineString([(0, 0), (2, 2)]), ... LineString([(2, 0), (0, 2)]), ... Point(0, 1), ... ], ... ) >>> bounds = (0, 0, 1, 1) >>> s 0 POLYGON ((0 0, 2 2, 0 2, 0 0)) 1 POLYGON ((0 0, 2 2, 0 2, 0 0)) 2 LINESTRING (0 0, 2 2) 3 LINESTRING (2 0, 0 2) 4 POINT (0 1) dtype: geometry
>>> s.clip_by_rect(*bounds) 0 POLYGON ((0 0, 0 1, 1 1, 0 0)) 1 POLYGON ((0 0, 0 1, 1 1, 0 0)) 2 LINESTRING (0 0, 1 1) 3 GEOMETRYCOLLECTION EMPTY 4 GEOMETRYCOLLECTION EMPTY dtype: geometry