Abstract

Geographical Information Systems (GIS) are now widely used for the manipulation of spatial data. Clear limitations in the design of GIS for the user are identified, notably the limited knowledge represented within the systems, the time and difficulty involved in becoming a competent user and, in many cases, the low-level nature of the commands. One of the principal requirements of a more knowledgable GIS involves the representation of knowledge related to a number of features: the data in the system; the operations that can be performed; the processing of requests; and the presentation of results. Many of the ideas presented can be generally applied to other query language driven systems. The approach taken to the design and implementation of a prototype high-level interface to GIS is based on the functional style of programming. Functional languages appear to offer some important properties, for example: the strong and polymorphic typing and the ease with which new types can be defined; the ability to order the knowledge base within functions; and the facility to create functional hierarchies composed of compound or higher-order functions which allow high-level operations to be manipulated as units. It is described how a functional solution to the problems can be represented by a command based approach and how this can be improved upon through the use of a graphical user interface with direct manipulation of objects/icons.