NAME
r.mapcalc.tiled - Runs r.mapcalc in parallel over tiles.
KEYWORDS
raster,
algebra,
tiling
SYNOPSIS
r.mapcalc.tiled
r.mapcalc.tiled --help
r.mapcalc.tiled expression=string [output=name] [width=integer] [height=integer] overlap=integer [nprocs=integer] [processes=integer] [mapset_prefix=string] [patch_backend=string] [--overwrite] [--help] [--verbose] [--quiet] [--ui]
Flags:
- --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]
- Expression to send to r.mapcalc
- output=name
- Name of raster output map resulting from expression
- width=integer
- Width of tiles (columns)
- height=integer
- Height of tiles (rows)
- overlap=integer [required]
- Overlap of tiles
- Default: 0
- nprocs=integer
- Number of r.mapcalc processes to run in parallel
- Options: 1-
- processes=integer
- This option is obsolete and replaced by nprocs
- Number of r.mapcalc processes to run in parallel, use nprocs option instead
- Options: 1-
- mapset_prefix=string
- Mapset prefix
- patch_backend=string
- Backend for patching computed tiles
- If backend is not specified, original serial implementation with RasterRow is used
- Options: RasterRow, r.patch
- RasterRow: serial patching with PyGRASS RasterRow
- r.patch: parallelized r.patch (with zero overlap only)
r.mapcalc.tiled cuts a raster input map into tiles and runs
r.mapcalc over these tiles before patching the
result together into a single output raster map.
The user provides the map calculation expression. The output map name
is automatically extracted from that expression by extracting the string before
the '='. If the expression is more complex, the user can also provide the
the output map name with the parameter output
Tiles can be defined with the width, height and
overlap parameters. If no width and height
is specified, they are automatically computed from the number of processes
and current computational region (with GRASS GIS v8.2 and above).
For example, 8 processes result in 8 tiles where the tile width is equal
to the number of columns. If nprocs is higher than one, these tiles
will be processed in parallel.
The mapset_prefix parameter ensures that the temporary
mapsets created during the tiled processing have unique names. This is useful
if the user runs r.mapcalc.tiled several times in parallel (e.g. in
an HPC environment).
Option patch_backend can switch how the resulting tiles are merged.
With patch_backend=RasterRow (default) the original
GridModule
implementation is used. With patch_backend=r.patch module
r.patch
is used with the number of cores specified with nprocs.
This backend can only be used with 0 overlap.
Run
r.mapcalc over tiles with size 1000x1000 using 4 parallel processes
(North Carolina sample dataset):
g.region raster=ortho_2001_t792_1m
r.mapcalc.tiled expression="bright_pixels = if(ortho_2001_t792_1m > 200, 1, 0)" \
width=1000 height=1000 nprocs=4
r.mapcalc
Moritz Lennert
SOURCE CODE
Available at:
r.mapcalc.tiled source code
(history)
Latest change: Monday Jan 30 19:52:26 2023 in commit: cac8d9d848299297977d1315b7e90cc3f7698730
Main index |
Raster index |
Topics index |
Keywords index |
Graphical index |
Full index
© 2003-2024
GRASS Development Team,
GRASS GIS 8.4.1dev Reference Manual