plMapcalc
fast and efficient standalone raster map calculator
modified 18 March 2024 by Paweł Netzel
plMapcalc is a standalone raster map calculator. The binary version of plMapcalc is a part of plTools package and it is also available through the QGIS plug-in. It works under Windows (7, 8.1, 10, 11), and Linux (FC39). The application depends on GDAL (3.7.3). So, it is necessary to install GDAL before plMapcalc installation. Windows plMapcalc setup will install all needed dependencies. plMapcals uses argtable v.3 and Tiny C Compiler (TCC) v.0.9.3 libraries for argument parsing and macro on-the-fly compilation, respectively.
plMapcalc’s user defines macros and scripts to perform calculations on raster layers. These macros should be written using C language syntax. It is possible to define simple operations such as adding two raster layers or NDVI calculation. User can also define complex scripts to perform more advanced raster analysis (for example: calculation of Koeppen-Geiger climate classification).
plMapcalc is a fast and efficient software. It compiles macro to raw binary code and calls it for every raster cell. We prepared two datasets and a set of bash scripts to compare plMapcalc, gdal_calc, SAGA, GRASS, and R raster calculators. A ZIP archive that contains the data and scripts is available here (filesize ca. 4.4GB).
plMapcalc features:
- up to 256 input layers;
- up to 64 output layers;
- C language syntax;
- local auxiliary variables;
- global memory buffer;
- command line macros and files with scripts;
- BEGIN, CELL, and END scripts;
- multiple input data scanning;
- parallel tasks for I/O nad calculation operations (Linux only);
- mathematical functions.
plMapcalc limitations:
- input layers are treated as double floating point layers;
- pixel-to-pixel analysis, neighborhood operators can be achived by layer shifting;
- forcing the same projection, resolution and extent of all input layers;
- output files are GeoTIFFs only;
- GDAL dependency.
plMapcalc is a free and open source software. It is released under GNU GPL v.3 license.