math: Arithmetic, logical and general mathematical methods

Description Usage Arguments Value seealso Examples

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.