# math: Arithmetic, logical and general mathematical methods In terra: Spatial Data Analysis

## Description

Standard operators and mathematical methods for computations with SpatRaster objects. Computations are local (applied on a cell by cell basis). If multiple SpatRaster objects are used, these must have the same extent and resolution. These have been implemented:

Arith: ` +, -, *, /, ^, %%, %/% `

Compare: ` ==, !=, >, <, <=, >=, is.na, is.nan, is.finite, is.infinite`

The terra package does not distinguish between `NA` (not available) and `NaN` (not a number). In most cases this state is represented by `NaN`.

Logical: `!, &, |, isTRUE, isFALSE`

Summary: `max, min, range, prod, sum, any, all`

Math: `abs, sign, sqrt, ceiling, floor, trunc, cummax, cummin, cumprod, cumsum, log, log10, log2, log1p, acos, acosh, asin, asinh, atan, atanh, exp, expm1, cos, cosh, sin, sinh, tan, tanh, round, signif`

The following methods have been implemented for SpatExtent: `round, floor, ceil, ==`, for (SpatExtent, SpatExtent): `==, +, -`, and for (SpatExtent, numeric) : `+, -, *, /, %%`

## Usage

 ```1 2``` ```## S4 method for signature 'SpatRaster' log(x, base=exp(1)) ```

## Arguments

 `x` SpatRaster `base` a positive or complex number: the base with respect to which logarithms are computed

## Value

SpatRaster or SpatExtent

## seealso

`ifel` to convieniently combine operations and `app` to use mathematical functions not implemented by the package.

## Examples

 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37``` ```r1 <- rast(ncols=10, nrows=10) v <- runif(ncell(r1)) v[10:20] <- NA values(r1) <- v r2 <- rast(r1) values(r2) <- 1:ncell(r2) / ncell(r2) r3 <- r1 + r2 r2 <- r1 / 10 r3 <- r1 * (r2 - 1 / r2) b <- c(r1, r2, r3) b2 <- b * 10 s <- sqrt(b2) round(s, 1) max(s) max(s, na.rm=TRUE) x <- is.na(s) y <- which.max(s) ### SpatExtent methods x <- ext(0.1, 2.2, 0, 3) y <- ext(-2, 1, -2,2) # union x + y # intersection x * y e <- x e e * 2 e / 2 e + 1 e - 1 ```

terra documentation built on Aug. 20, 2021, 9:07 a.m.