Raster Map Algebra · Python Edition

fast & efficient raster
map calculator

Write Python expressions — get numba-compiled, multi-threaded or CUDA GPU pixel processing with tile-based I/O, full GeoTIFF support, Jupyter API, and QGIS plugin.

shell shell
python plmapcalc.py -i band4.tif -i band3.tif
                -o ndvi.tif:float32:-9999
                -e 'x=IN[0]+IN[1]; OUT[0]=(IN[0]-IN[1])/x'
                -t 8
numba JIT
replaces TCC C compiler
nogil threads
true parallel tile bands
CUDA GPU
optional numba.cuda kernel
256 rows
per I/O tile
Jupyter+QGIS
API & plugin included

About plMapcalc

plMapcalc is a standalone raster map calculator running on Linux, macOS and Windows. The Python edition replaces the original C/TCC runtime with numba JIT and OpenMP with nogil thread-band parallelism. It also adds optional CUDA GPU acceleration via numba.cuda, a Jupyter API, and a QGIS Processing plugin.

📖

About plMapcalc

Architecture, JIT modes, parallelism model and performance notes.

Read more →
⚙️

Installation

Requires Python 3.10+, numpy, rasterio, and optionally numba. GPU mode additionally needs numba-cuda and an NVIDIA driver.

Read more →
📓

Jupyter API

Call plMapcalc directly from a Jupyter notebook using the plmapcalc() function.

Read more →
🗺️

QGIS Plugin

Use plMapcalc as a QGIS Processing algorithm with a full GUI dialog.

Read more →
📋

How to use

Full CLI syntax, all options, variables, memory files, multi-pass processing.

Read more →
🗂️

Examples

11 worked examples from simple arithmetic to Köppen-Geiger climate classification.

Read more →