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

cropInputs(x, studyArea, rasterToMatch, ...)

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

# S3 method for spatialObjects
cropInputs(x, studyArea, rasterToMatch = NULL,
  extentToMatch = NULL, extentCRS = NULL, ...)

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.

...

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

Examples

# Add a study area to Crop and Mask to # Create a "study area" library(sp) library(raster)
#> #> Attaching package: ‘raster’
#> The following objects are masked from ‘package:reproducible’: #> #> init, select
ow <- setwd(tempdir()) # 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) <- "+init=epsg:4326 +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) <- "+init=epsg:4326 +proj=longlat +datum=WGS84 +no_defs +ellps=WGS84 +towgs84=0,0,0" #' #' ########## shpEcozonePostProcessed <- postProcess(shpEcozone, studyArea = StudyArea)
#> No cacheRepo supplied. Using value in getOption('reproducible.cachePath')
#> loading cached result from previous cropInputs call, adding to memoised copy
#> Checking for errors in SpatialPolygon
#> Found no errors.
#> No cacheRepo supplied. Using value in getOption('reproducible.cachePath')
#> loading cached result from previous projectInputs call, adding to memoised copy
#> No cacheRepo supplied. Using value in getOption('reproducible.cachePath')
#> loading cached result from previous maskInputs call, adding to memoised copy
#> Saving output to ./Smallfile12bcbf12bc4. Specify filename1 or filename2 for more control
#' # Try manually, individual pieces shpEcozoneReprojected <- projectInputs(shpEcozone, StudyArea) shpEcozoneCropped <- cropInputs(shpEcozone, StudyArea)
#> cropping ...
shpEcozoneClean <- fixErrors(shpEcozone)
#> Checking for errors in SpatialPolygon
#> Found no errors.
shpEcozoneMasked <- maskInputs(shpEcozone, StudyArea)
#> intersecting ...
#> Checking for errors in studyArea
#> Found no errors.
setwd(ow)