Learn R Programming

reproducible (version 1.2.16)

cropInputs: Crop a Spatial* or Raster* object

Description

This function can be used to crop or reproject module inputs from raw data.

Usage

cropInputs(
  x,
  studyArea,
  rasterToMatch,
  verbose = getOption("reproducible.verbose", 1),
  ...
)

# S3 method for default cropInputs(x, studyArea, rasterToMatch, ...)

# S3 method for spatialClasses cropInputs( x, studyArea = NULL, rasterToMatch = NULL, verbose = getOption("reproducible.verbose", 1), extentToMatch = NULL, extentCRS = NULL, useGDAL = getOption("reproducible.useGDAL", FALSE), useCache = getOption("reproducible.useCache", FALSE), ... )

# S3 method for sf cropInputs( x, studyArea = NULL, rasterToMatch = NULL, verbose = getOption("reproducible.verbose", 1), extentToMatch = NULL, extentCRS = NULL, useCache = getOption("reproducible.useCache", FALSE), ... )

Value

A GIS file (e.g., RasterLayer, SpatRaster etc.) that has been appropriately cropped.

Arguments

x

A Spatial*, sf, or Raster* object.

studyArea

SpatialPolygons* object used for masking and possibly cropping if no rasterToMatch is provided. If not in same CRS, then it will be spTransformed to CRS of x before masking. Currently, this function will not reproject the x. Optional in postProcess.

rasterToMatch

Template Raster* object used for cropping (so extent should be the extent of desired outcome) and reprojecting (including changing the resolution and projection). See details in postProcess().

verbose

Numeric, -1 silent (where possible), 0 being very quiet, 1 showing more messaging, 2 being more messaging, etc. Default is 1. Above 3 will output much more information about the internals of Caching, which may help diagnose Caching challenges. Can set globally with an option, e.g., options('reproducible.verbose' = 0) to reduce to minimal

...

Passed to raster::crop

extentToMatch

Optional. Can pass an extent here and a crs to extentCRS instead of rasterToMatch. These will override rasterToMatch, with a warning if both passed.

extentCRS

Optional. Can pass a crs here with an extent to extentTomatch instead of rasterToMatch

useGDAL

Logical or "force". This is defunct; internals now can use terra if options("reproducible.useTerra" = TRUE), which is not (yet) the default.

useCache

Logical, default getOption("reproducible.useCache", FALSE), whether Cache is used internally.

Author

Eliot McIntire, Jean Marchal, Ian Eddy, and Tati Micheletti

Examples

Run this code
library(sp)
library(raster)

# make a SpatialPolygon
coords1 <- structure(c(-123.98, -117.1, -80.2, -100, -123.98, 60.9, 67.73, 65.58, 51.79, 60.9),
                       .Dim = c(5L, 2L))
Sr1 <- Polygon(coords1)
Srs1 <- Polygons(list(Sr1), "s1")
shpEcozone <- SpatialPolygons(list(Srs1), 1L)
crs(shpEcozone) <- "+proj=longlat +datum=WGS84 +no_defs +ellps=WGS84 +towgs84=0,0,0"

# make a "study area" that is subset of larger dataset
coords <- structure(c(-118.98, -116.1, -99.2, -106, -118.98, 59.9, 65.73, 63.58, 54.79, 59.9),
                      .Dim = c(5L, 2L))
Sr1 <- Polygon(coords)
Srs1 <- Polygons(list(Sr1), "s1")
StudyArea <- SpatialPolygons(list(Srs1), 1L)
crs(StudyArea) <- crs(shpEcozone)
projString <- "+proj=utm +zone=15 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"
StudyArea <- sp::spTransform(StudyArea, CRSobj = projString)
cropInputs(shpEcozone, StudyArea)

Run the code above in your browser using DataLab