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
$new_layer->{layertype} = 99;
$new_layer->{layerid} = $LayerID;
$new_layer->{operation} = $Oper;
$new_layer->{layer1} = $Layer1;
$new_layer->{layer2} = $Layer2; (a) (b)
Figure 2: Function-based layers implementation in Manifold – (a) Basic management of functional
layers (b) Map algebra functionality (c) Display functionality
(c)
Note that the management includes a definition of “layer type”, as the system must
recognise what specific function is defined on this layer. The data structure for the
storage of information of each functional layer must be tailored to the specific aspects of
this layer – mainly the minimal set of parameters that will enable the recalculation of this
layer.
Another interesting element is the construction of the lambda function. For example,
using the distance function the code segment is:
return "sqrt((\$x-($LayerID ->{xcoord}))**2+(\$y-($LayerID ->
{ycoord}))**2)";