I have written before about GIS models, toolboxes and geoprocessing. But long before those concepts and products existed, many of us interacted with GIS software through a command-line interface. These command line interfaces were quite different from one product to the next. But for those of us who started out with raster processing after 1990 (I learned my first GIS concepts using the command line version of Idrisi) there was a unifying language that we could use to describe the various functions and processes: Map Algebra.
Developed through the 1980′s by Professor C. Dana Tomlin as part of his PhD thesis work, Map Algebra provides a vocabulary and conceptual framework for classifying ways to combine map data to produce new maps. While primarily applied to raster data sets (GRID and image data), the same concepts can be applied to many types of cartographic information, and it has since been extended by Dr. Tomlin and others to 3D, time and other domains. People use Map Algebra for a broad array of applications including: suitability modeling, surface analysis, density analysis, statistics, hydrology, landscape ecology, real estate, and geographic prioritization. Azavea has used Map Algebra on several projects and it is at the heart of our DecisionTree product.
What does it look like? Usually, Map Algebra can be expressed as text – for example, one might add several maps of rainfall like this: Rain_total = Rain_April + Rain_May + Rain_June, but it also lends itself to graphical flow charts like those in the ModelBuilder application.
Map Algebra is organized into four major groups of operations – local, focal (or neighborhood), zonal, and incremental. Each of these operations combines maps or transforms map data to create a new map. Part of the elegance of Map Algebra operations is based on the idea that all operations result in a new map. This makes it easy to group and string functions together into larger models. While there are different flavors of Map Algebra, the overall concept is used in every GIS system that supports raster calculations. Early in its development, Dr. Tomlin made the decision to openly share all of the source code, documentation and algorithms with anyone that asked (pretty nice guy!). Consequently, the ideas and source code were incorporated into many commercial software packages. In the ESRI product suite, Map Algebra capabilities are provided through the SpatialAnalyst extension.

Illustration of a Neighborhood Maximum operation applied to produce a new data set.
If you would like to learn more about Map Algebra, the original book is Geographic Information Systems and Cartographic Modeling by C. Dana Tomlin. He is also the co-director of a research lab called the Cartographic Modeling Lab. And if you want to use Map Algebra and cartographic modeling in your organization, give us a call.






5 Trackbacks
[...] sampling the wide array of Map Algebra operations that are in standard GIS toolkits, focusing on a couple examples of each of the [...]
[...] we work with raster data in particular, we are often leveraging what has become known as “Map Algebra,” a mechanism for combining and transforming map layers in a logical and organized manner. [...]
[...] http://www.azavea.com/blogs/newsletter/v3i1/what-the-heck-ismap-algebra/ [...]
[...] Modeling Laboratory at the University of Pennsylvania, a GIS Hall of Fame-r, the creator of map algebra, and, incidentally, the grad school professor who got me hooked on GIS (thanks, Dana!) – [...]
Code Profiling with PostGIS raster…
What happens when you take a bunch of auto-generated tests and test results which you burn into rasters with SQL? You get a code fingerprint of sorts. Well that was the dream I wanted to explore. Now that PostGIS 2.0 has introduced a new spatial typ…