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