A simple wrapper around the various different tools for these GIS types.

projectInputs(x, targetCRS, ...)

# S3 method for default
projectInputs(x, targetCRS, ...)

# S3 method for Raster
projectInputs(x, targetCRS = NULL,
  rasterToMatch = NULL, ...)

# S3 method for sf
projectInputs(x, targetCRS, ...)

# S3 method for Spatial
projectInputs(x, targetCRS, ...)

Arguments

x

A Raster*, Spatial* or sf object

targetCRS

The CRS of x at the end of this function (i.e., the goal)

...

Passed to projectRaster.

rasterToMatch

Template Raster* object passed to the to argument of projectRaster, thus will changing the resolution and projection of x. See details in postProcess.

Value

A file of the same type as starting, but with projection (and possibly other characteristics, including resolution, origin, extent if changed.

Examples

# Add a study area to Crop and Mask to # Create a "study area" library(sp) library(raster) 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 memoised result from previous cropInputs call.
#> Checking for errors in SpatialPolygon
#> Found no errors.
#> No cacheRepo supplied. Using value in getOption('reproducible.cachePath')
#> loading memoised result from previous projectInputs call.
#> Checking for errors in SpatialPolygon
#> Found no errors.
#> No cacheRepo supplied. Using value in getOption('reproducible.cachePath')
#> loading memoised result from previous maskInputs call.
#> Saving output to ./Smallfiled6433c80a661. 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)