Compare two SpatRasters for equality
all.equal.Rd
Compare two SpatRasters for (near) equality.
First the attributes of the objects are compared. If these are the same, a (perhaps small) sample of the raster cells is compared as well.
The sample size used can be increased with the maxcell
argument. You can set it to Inf
, but for large rasters your computer may not have sufficient memory. See the examples for a safe way to compare all values.
Arguments
- target
SpatRaster
- current
SpatRaster
- maxcell
positive integer. The size of the regular sample used to compare cell values
- ...
additional arguments passed to
all.equal.numeric
to compare cell values
Examples
x <- sqrt(1:100)
mat <- matrix(x, 10, 10)
r1 <- rast(nrows=10, ncols=10, xmin=0, vals = x)
r2 <- rast(nrows=10, ncols=10, xmin=0, vals = mat)
all.equal(r1, r2)
#> [1] "Mean relative difference: 0.3858482"
all.equal(r1, r1*1)
#> [1] TRUE
all.equal(rast(r1), rast(r2))
#> [1] TRUE
# compare geometries
compareGeom(r1, r2)
#> [1] TRUE
# Compare all cell values for near equality
# as floating point number imprecision can be a problem
m <- minmax(r1 - r2)
all(abs(m) < 1e-7)
#> [1] FALSE
# comparison of cell values to create new SpatRaster
e <- r1 == r2