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

另请参阅

GeoSeries.intersection

示例

>>> 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