This paper provides a new representation for fields (continuous surfaces) in Geographical Information Systems (GIS), based on the notion of spatial functions and their combinations. Following Tomlin’s (1990) Map Algebra, the term “Map Calculus” is used
computational capacity of inexpensive computers and the development of advanced
distributed computing environments, known as “Grid computing”.
The growth of the processing power of modern computers is a well-known
phenomenon. Although Gordon Moore predicted the growth in the design complexity
of integrated circuits, his “law” became, in effect, the benchmark for the computing
industry and pushed forward the design of faster and faster computers (Brown &
Duguid, 2000). The emergence of inexpensive and powerful computing environments
enabled the development of “Supercomputer” scale machines from standard inexpensive
computers, in configurations such as Beowulf clusters (Bell & Gray, 2002). While this
classic supercomputing architecture is geared towards sustained peak performances, it is
less suitable for Map Calculus-enabled GIS, as it requires peaks of computing, followed
by period of minimal activity. This makes the emerging Grid computing (Foster,
Kesselman & Tuecke, 2001) a more attractive environment for its development. In Grid
computing architectures, a network of computers is configured in such a way that unused
or underutilised computing resources are available to those users who need them.
Another reason for the adequacy of Grid computing, is that it is based on the
distribution of computational problems across the network. As many geographical
problems are naturally divisible using a spatial decomposition, they are suitable for
distributed computational models. Although knowledge of, and experience with Grid
computing is in its early stages, experiences from projects like SETI@Home demonstrate
that extensive computations can be performed by distributing the load across the
network.
In the next section, a simple implementation of Map Calculus-enabled GIS is described,
to demonstrate the concepts and principles that were described above.
Demonstrating Map Calculus-enabled GIS
To demonstrate the feasibility of Map Calculus-enabled GIS, a basic prototype was
developed using Manifold System 5.0 (CDA International Ltd., 2001). This GIS package
was selected because it enables the use of Perl as a scripting language and, therefore, can
be enhanced quite easily using widely available Perl libraries. It is important to note that
Perl (Wall & Schwartz, 1991) is not a functional language, but rather an imperative one.
However, Perl has hybrid origins, and it was designed by borrowing from a wide range of
languages including Lisp (Wall, 1999). Therefore, it is capable of evaluating expressions