r.mapcalc.simple(1)

NAME
r.mapcalc.simple - Calculates a new raster map from a simple r.mapcalc expression.

KEYWORDS
raster, algebra, simple

SYNOPSIS
r.mapcalc.simple
r.mapcalc.simple --help
r.mapcalc.simple [-sqc] expression=string [a=name] [b=name] [c=name] [d=name] [e=name] [f=name] output=name [seed=integer] [--overwrite] [--help] [--verbose] [--quiet] [--ui]

  Flags:

-s
    Generate random seed (result is non-deterministic)

-q
    Quote the map names

-c
    Case sensitive variable names

--overwrite
    Allow output files to overwrite existing files

--help
    Print usage summary

--verbose
    Verbose module output

--quiet
    Quiet module output

--ui
    Force launching GUI dialog

  Parameters:

expression=string [required]
    Formula (e.g. A-B or A*C+B)

a=name
    Name of input A raster map

b=name
    Name of input B raster map

c=name
    Name of input C raster map

d=name
    Name of input D raster map

e=name
    Name of input E raster map

f=name
    Name of input F raster map

output=name [required]
    Name for output raster map

seed=integer
    Seed for rand() function

DESCRIPTION
r.mapcalc.simple provides a wrapper to r.mapcalc. Up to 6 maps can be combined using simple expressions.

The general syntax for the expression follows r.mapcalc expression format, for example, A + B or exp(A + B) are valid. The variables A, B, ..., F represent raster maps which are provided as options a, b, ..., f.

The result name, i.e. the output raster map, is provided using the option output and, unlike r.mapcalc it is not part of the expression.

This module is meant for convenience (for users and programmers) while the r.mapcalc module is a better choice for more complex expressions and advanced usage.

NOTES
Differences to r.mapcalc module:

    •   The input raster map names and the output map raster name are separate from the expression (formula) which uses generic variable names (A, B, C, ...).

    •   The output raster name is not included in the expression.

    •   The expression is expected to be a single short one liner without the function eval().
Differences to r.mapcalc.simple module in GRASS GIS 5 and 6:

    •   The primary purpose is not being a GUI front end to r.mapcalc, but a wrapper which allows easy building of interfaces to r.mapcalc (including GUIs).

    •   Whitespace (most notably spaces) are allowed (in the same way as for r.mapcalc).

    •   The variable names are case-insensitive to allow the original uppercase as well as lowercase as in option names (unless the -c flag is used).

    •   Option names for each map are just one letter (not amap, etc.).

    •   Output option name is output as for other modules (not outfile).

    •   Raster map names can be optionally quoted (the -q flag).

    •   There is no expert mode (which was just running r.mapcalc).

    •   The expression option is first, so it is possible to omit its name in the command line (just like with r.mapcalc).

    •   Overwriting of outputs is done in the same way as with other modules, so there is no flag to not overwrite outputs.

EXAMPLES

  Basic examples

r.mapcalc.simple expression="0" output=zeros
r.mapcalc.simple expression="1" output=ones
r.mapcalc.simple expression="2" output=twos

r.mapcalc.simple expression="A + B + C" a=zeros b=ones c=twos output=result1

r.mapcalc.simple expression="(A * B) / 2 + 3 * C" a=zeros b=ones c=twos output=result2

Figure: r.mapcalc.simple graphical user interface

  Example expressions
Addition:

A + B

No spaces around operators are not recommended for readability, but allowed in the expression:

A+B

More complex expression with a function:

exp(A+C)+(B-2)*7

SEE ALSO
r.mapcalc, r3.mapcalc, t.rast.mapcalc, g.region

AUTHORS
Vaclav Petras, NCSU GeoForAll Lab
Michael Barton, Arizona State University (updated to GRASS 5.7)
R. Brunzema (original 5.0 Bash version)

SOURCE CODE

Available at: r.mapcalc.simple source code (history)

Accessed: Wednesday Jun 11 21:30:05 2025

Main index | Raster index | Topics index | Keywords index | Graphical index | Full index

© 2003-2023 GRASS Development Team, GRASS GIS 7.8.8 Reference Manual