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
package (such as ArcGIS) is about 800x600 pixels – due to the elements of the Graphical
User Interface which occupy the rest of the screen. This active map area can further be
divided to basic units of 2x2 pixels (usually, one pixel is too small to be visible). Thus, the
active area requires about 120,000 calculations. The speed of the calculations is the most
significant factor in making Map Calculus-enabled GIS useful and effective for its users.
This can be accomplished by the use of efficient and rapid algorithms. As the user zooms
out or in, the scale of the map changes, and new calculations for the currently displayed
area are carried out. Hence, to the system’s user, a Map Calculus-enabled GIS behaves at
the same way as the existing implementations of GIS.
Another interesting aspect of function-based layers is the ability to extend the GIS
analytical toolbox into a numerical and mathematical analysis of the functions
themselves. For example, in a complex distance function (where we use anisotropic
functions, which measure a weighted distance from several locations) there is an
advantage in calculating and locating local and global minima. This can be carried out by
analysing the behaviour of the function across the space, in a similar way to operation of
packages such as Matlab . When dealing with more complex functions, where it is
impossible to determine local minima and maxima, the visualisation of the layer can be
used as an indicator of a user’s interest in a specific area and, while calculating the values
for visualisation, the system can find and store “interesting locations” across the map.
Furthermore, using free Central Processing Unit (CPU) cycles, the system can continue
and investigate these interesting locations further and they can be visualised and stored.
A function-based layer should also store its relationship to the objects that are used as
input. Thus, in the example of the distance function used above, the function-based layer
should not just store the co-ordinates of the point that was used to calculate it, but
should be linked to the spatial objects in the database. Such an implementation will
enable the function-based layer (and all subsequent layers that use it) to be updated
instantly whenever the location of a point is being updated. This can be exemplified by a
GIS that tracks the distance amongst a set of vehicles, all of which carry Global
Positioning Satellite (GPS) receivers and transmit their locations to the GIS. The
combined layer (which might calculate the location of the “centre of gravity” amongst all
the vehicles) is updated automatically whenever the location of a vehicle is updated.
Finally, Map Calculus-enabled GIS needs to have certain management capabilities due to
the dependency between layers. In the example of the tracking function if the user