gemgis.raster.clip_by_polygon
gemgis.raster.clip_by_polygon#
- gemgis.raster.clip_by_polygon(raster: Union[rasterio.io.DatasetReader, numpy.ndarray], polygon: shapely.geometry.polygon.Polygon, raster_extent: List[Union[int, float]] = None, save_clipped_raster: bool = False, path: str = 'raster_clipped.tif', overwrite_file: bool = False, create_directory: bool = False) numpy.ndarray #
Clipping/masking a rasterio raster or np.ndarray by a given shapely Polygon
- Parameters
raster (Union[rasterio.io.DatasetReader, np.ndarray]) – Array or Rasterio object to be clipped
polygon (shapely.geometry.polygon.Polygon) – Shapely polygon defining the extent of the data, e.g.
polygon = Polygon([(0, 0), (1, 1), (1, 0)])
raster_extent (List[Union[int, float]]) – List of float values defining the extent of the raster, default None, e.g.
raster_extent=[0, 972, 0, 1069]
save_clipped_raster (bool) – Variable to save the raster after clipping, default False. Options include:
True
orFalse
, default set toFalse
path (str) – Path where the raster is saved, e.g.
path='raster_clipped.tif
overwrite_file (bool) – Variable to overwrite an already existing file. Options include:
True
orFalse
, default set toFalse
create_directory (bool) – Variable to create a new directory of directory does not exist Options include:
True
orFalse
, default set toFalse
- Returns
raster_clipped – Clipped array after clipping
- Return type
np.ndarray
New in version 1.0.x.
Example
>>> # Loading Libraries and File >>> import gemgis as gg >>> import rasterio >>> from shapely.geometry import Polygon >>> raster = rasterio.open(fp='raster.tif') >>> raster.read(1).shape (275, 250)
>>> # Creating Shapely Polygon and defining raster extent >>> polygon = Polygon([(250, 250), (500, 250), (500, 500), (250, 500)]) >>> raster_extent = [0, 972, 0, 1069]
>>> # Clipping the raster by a Shapely Polygon >>> raster_clipped = gg.raster.clip_by_polygon(raster=raster, polygon=polygon, raster_extent=raster_extent) >>> raster_clipped.shape (65, 65)
See also
clip_by_bbox
Clipping raster by a Bounding Box