geopandas.GeoSeries.clip_by_rect¶
- GeoSeries.clip_by_rect(xmin, ymin, xmax, ymax)¶
Returns a
GeoSeries
of the portions of geometry within the given rectangle.Note that the results are not exactly equal to
intersection()
. E.g. in edge cases,clip_by_rect()
will not return a point just touching the rectangle. Check the examples section below for some of these exceptions.The geometry is clipped in a fast but possibly dirty way. The output is not guaranteed to be valid. No exceptions will be raised for topological errors.
Note: empty geometries or geometries that do not overlap with the specified bounds will result in
GEOMETRYCOLLECTION EMPTY
.- Parameters
- xmin: float
Minimum x value of the rectangle
- ymin: float
Minimum y value of the rectangle
- xmax: float
Maximum x value of the rectangle
- ymax: float
Maximum y value of the rectangle
- Returns
- GeoSeries
See also
Examples
>>> 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), ... ], ... crs=3857, ... ) >>> bounds = (0, 0, 1, 1) >>> s 0 POLYGON ((0.000 0.000, 2.000 2.000, 0.000 2.00... 1 POLYGON ((0.000 0.000, 2.000 2.000, 0.000 2.00... 2 LINESTRING (0.000 0.000, 2.000 2.000) 3 LINESTRING (2.000 0.000, 0.000 2.000) 4 POINT (0.000 1.000) dtype: geometry >>> s.clip_by_rect(*bounds) 0 POLYGON ((0.000 0.000, 0.000 1.000, 1.000 1.00... 1 POLYGON ((0.000 0.000, 0.000 1.000, 1.000 1.00... 2 LINESTRING (0.000 0.000, 1.000 1.000) 3 GEOMETRYCOLLECTION EMPTY 4 GEOMETRYCOLLECTION EMPTY dtype: geometry