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.
# S4 method for SpatRaster,SpatRaster
all.equal(target, current, maxcell=100000, ...)
Either TRUE
or a character vector describing the differences between target and current.
SpatRaster
SpatRaster
positive integer. The size of the regular sample used to compare cell values
additional arguments passed to all.equal.numeric
to compare cell values
identical
, compareGeom
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)
all.equal(r1, r1*1)
all.equal(rast(r1), rast(r2))
# compare geometries
compareGeom(r1, r2)
# 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)
# comparison of cell values to create new SpatRaster
e <- r1 == r2
Run the code above in your browser using DataLab