A simple wrapper around the various different tools for these GIS types.
projectInputs(
x,
targetCRS,
verbose = getOption("reproducible.verbose", 1),
...
)
# S3 method for default
projectInputs(x, targetCRS, ...)
# S3 method for Raster
projectInputs(
x,
targetCRS = NULL,
verbose = getOption("reproducible.verbose", 1),
rasterToMatch = NULL,
cores = NULL,
useGDAL = getOption("reproducible.useGDAL", FALSE),
...
)
# S3 method for SpatVector
projectInputs(
x,
targetCRS,
verbose = getOption("reproducible.verbose", 1),
...
)
# S3 method for SpatRaster
projectInputs(
x,
targetCRS = NULL,
verbose = getOption("reproducible.verbose", 1),
rasterToMatch = NULL,
cores = NULL,
useGDAL = getOption("reproducible.useGDAL", FALSE),
...
)
# S3 method for sf
projectInputs(
x,
targetCRS,
verbose = getOption("reproducible.verbose", 1),
...
)
# S3 method for Spatial
projectInputs(
x,
targetCRS,
verbose = getOption("reproducible.verbose", 1),
...
)
A Raster*
, Spatial*
or sf
object
The CRS of x at the end of this function (i.e., the goal)
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::projectRaster()
.
Template Raster*
object passed to the to
argument of
raster::projectRaster()
, thus will changing the
resolution and projection of x
.
See details in postProcess()
.
An integer*
or 'AUTO'
. This will be used if gdalwarp
is
triggered. 'AUTO'*
will calculate 90% of the total
number of cores in the system, while an integer or rounded
float will be passed as the exact number of cores to be used.
Logical or "force"
. This is defunct; internals now can use
terra
if options("reproducible.useTerra" = TRUE)
, which is not (yet)
the default.
A file of the same type as starting, but with projection (and possibly other characteristics, including resolution, origin, extent if changed).
A GIS file (e.g., RasterLayer, SpatRaster etc.) that has been appropriately reprojected.
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)
projectInputs(shpEcozone, StudyArea)
#> reprojecting ...
#> class : SpatialPolygons
#> features : 1
#> extent : -1134887, 1087234, 5760893, 7710639 (xmin, xmax, ymin, ymax)
#> crs : +proj=utm +zone=15 +datum=NAD83 +units=m +no_defs