Description Usage Arguments Details Value Author(s) See Also Examples
Perform Arithmetic Operations on Grids
1 2 3 4 | rsaga.grid.calculus(in.grids, out.grid, formula, env = rsaga.env(), ...)
rsaga.linear.combination(in.grids, out.grid, coef, cf.digits = 16,
remove.zeros = FALSE, remove.ones = TRUE, env = rsaga.env(), ...)
|
in.grids |
input character vector: SAGA grid files (default file extension: |
out.grid |
output: grid file resulting from the cell-by-cell application of 'formula' to the grids. Existing files will be overwritten! |
formula |
character string of formula specifying the arithmetic operation to be performed on the |
env |
RSAGA geoprocessing environment, generated by a call to |
... |
optional arguments to be passed to |
coef |
numeric: coefficient vector to be used for the linear combination of the |
cf.digits |
integer: number of digits used when converting the |
remove.zeros |
logical: if |
remove.ones |
logical: if |
The in.grids
are represented in the formula
by the letters a
(for in.grids[1]
), b
etc. Thus, if in.grids[1]
is Landsat TM channel 3 and in.grids[2]
is channel 4, the NDVI formula (TM3-TM4)/(TM3+TM4) can be represented by the character string "(a-b)/(a+b)"
(any spaces are removed) or the formula ~(a-b)/(a+b)
in the formula
argument.
In addition to +, -, *, and /, the following operators and functions are available for the formula
definition:
^ power
sin(a)
sine
cos(a)
cosine
tan(a)
tangent
asin(a)
arc sine
acos(a)
arc cosine
atan(a)
arc tangent
atan2(a,b)
arc tangent of b/a
abs(a)
absolute value
int(a)
convert to integer
sqr(a)
square
sqrt(a)
square root
ln(a)
natural logarithm
log(a)
base 10 logarithm
mod(a,b)
modulo
gt(a, b)
returns 1 if a greater b
lt(a, b)
returns 1 if a lower b
eq(a, b)
returns 1 if a equal b
ifelse(switch, x, y)
returns x if switch equals 1 else y
Using remove.zeros=FALSE
might have the side effect that no data areas in the grid with coefficient 0 are passed on to the results grid. (To be confirmed.)
The type of object returned depends on the intern
argument passed to the rsaga.geoprocessor
. For intern=FALSE
it is a numerical error code (0: success), or otherwise (the default) a character vector with the module's console output.
Alexander Brenning (R interface), Olaf Conrad (SAGA module)
local.function
, focal.function
, and multi.focal.function
for a more flexible framework for combining grids or applying local and focal functions; rsaga.geoprocessor
, rsaga.env
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | ## Not run:
# using SAGA grids:
# calculate the NDVI from Landsat TM bands 3 and 4:
rsaga.grid.calculus(c("tm3.sgrd","tm4.sgrd"), "ndvi.sgrd", ~(a-b)/(a+b))
# apply a linear regression equation to grids:
coefs = c(20,-0.6)
# maybe from a linear regression of mean annual air temperature (MAAT)
# against elevation - something like:
# coefs = coef( lm( maat ~ elevation ) )
rsaga.linear.combination("elevation.sgrd", "maat.sgrd", coefs)
# equivalent:
rsaga.grid.calculus("elevation.sgrd", "maat.sgrd", "20 - 0.6*a")
## End(Not run)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.