# 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
```