Two SpatRaster objects are compatible (in terms of combining layers) if the
crs, extent and resolution are similar. In those cases you can combine the
objects simply as c(x, y).
This function compares those attributes informing of the results. See Solving issues section for minimal guidance.
Value
A invisible logical TRUE/FALSE indicating if the SpatRaster objects are
compatible, plus an informative message flagging the issues found (if any).
terra equivalent
Solving issues
On non-equal crs, try
terra::project().On non-equal extent try
terra::resample().On non-equal resolution you can try
terra::resample(),terra::aggregate()orterra::disagg().
See also
Other helpers:
is_grouped_spatvector(),
is_regular_grid(),
pull_crs()
Examples
library(terra)
x <- rast(matrix(1:90, ncol = 3), crs = "EPSG:3857")
# Nothing
compare_spatrasters(x, x)
# Different crs
y_nocrs <- x
crs(y_nocrs) <- NA
compare_spatrasters(x, y_nocrs)
#> ! Results of `tidyterra::compare_spatrasters()`:
#> The following attributes are not equal:
#> • crs
# Different extent
compare_spatrasters(x, x[1:10, , drop = FALSE])
#> ! Results of `tidyterra::compare_spatrasters()`:
#> The following attributes are not equal:
#> • extent
# Different resolution
y_newres <- x
res(y_newres) <- res(x) / 2
compare_spatrasters(x, y_newres)
#> ! Results of `tidyterra::compare_spatrasters()`:
#> The following attributes are not equal:
#> • resolution
# Everything
compare_spatrasters(x, project(x, "epsg:3035"))
#> ! Results of `tidyterra::compare_spatrasters()`:
#> The following attributes are not equal:
#> • crs
#> • extent
#> • resolution
