Map algebra

Map algebra is a set-based algebra for manipulating geographic data, proposed by Dr. Dana Tomlin in the early 1980s. It is a set of primitive operations in a geographic information system (GIS) which allows two or more raster layers ("maps") of similar dimensions to produce a new raster layer (map) using algebraic operations such as addition, subtraction etc.
Depending on the spatial neighborhood, GIS transformations are categorized into four classes: "local", "focal", "global", and "zonal". Local operations works on individual raster cells, or pixels. Focal operations work on cells and their neighbors, whereas global operations work on the entire layer. Finally, zonal operations work on areas of cells that share the same value. The input and output for each operator being map, the operators can be combined into a procedure or script, to perform complex tasks.
When map algebra is performed in cells from local operations, different types of operations can be used:
Several major GIS systems use map algebra concepts, including ERDAS Imagine and ArcGIS. ArcGIS 10 implements Map Algebra in Python; functions are imported Python methods and Python's overloading capability is used for operators. For example, rasters can be multiplied using the "*" arithmetic operator.
Here are some examples, in MapBasic: