---
name: "r.mapcalc.simple"
section: "1grass"
platform: "linux"
package: "grass-doc"
version: "8.4.1-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/r.mapcalc.simple"
---

# r.mapcalc.simple(1grass)

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

## 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: Monday Feb 24 17:51:45 2025

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

© 2003-2025 GRASS Development Team, GRASS GIS 8.4.1 Reference Manual
