Computers & Geosciences Vol. 18, No. 8, pp. 975-987, 1992 0098-3004/92 $5.00+ 0.00 Printed in Great Britain.All rights reserved Copyright © 1992Pergamon Press Ltd COMPUTER CARTOGRAPHY FOR GIS: AN OBJECT-ORIENTED VIEW ON THE DISPLAY TRANSFORMATION ANDREW U. FRANK and MAx J. EGENHOFER Department of Surveying Engineering and National Center for Geographic Information and Analysis, University of Maine, Orono, ME 04469, U.S.A. A~tract---Geographic Information Systems (GlSs) are widely used tools for the collection, management, and display--or visualization--of many types of data that describe space. Visualization of spatial data has been the domain of expertise of cartographers and elaborate recommendations for best rendering of spatial data exist. Unfortunately, this body of knowledge is not cast yet into a formalization and thus is not accessible immediately for programming GIS software. A particular problem is the description of the rendering parameters for complex spatial objects. This paper presents a method for describing the set of individual geometric objects parts to which different rendering parameters can be assigned. The geometric data model uses the concepts of boundary and interior, and their specializations returning objects ofparticular dimensions. It is applicable equally to both raster and vector data, and, therefore, a contribution to the integration of vector and taster GIS. The rendering parameters are based upon Bertin's "visual variables." Abbreviated class definitions in C + + are included as a method to describe formally the concepts treated. Key Words: Object-oriented programming, C + +, Computer cartography, Visual variables, Topology, Boundary, Interior. INTRODUCTION A Geographic Information System (GIS) is a tool for the collection, management, and display of spatial information (Burrough, 1986). Many organiz- ations adopt GISs to treat data that describe space, spatial objects, or human activities related to location in space. Spatial data range from infor- mation about the boundaries and ownership of land parcels (NRC, 1980) over regional land use to climate data on a global scale (Mounsey and Tomlinson, 1988). A critical aspect of a GIS is the visual commun- ication of results (Egenhofer, 1990). Some GISs offer interactive query languages--most are extensions of SQL (Ingram and Phillips, 1987; Roussopoulos, Faloutsos, and Sellis, 1988; Herring, Larsen, and Shivakumar, 1988; Egenhofer, 1991a)---which increase the users' abilities to select data based on spatial criteria; however, they support only tabular represent- ations of query results and do not sufficiently address the rendering of the data selected (Egenhofer, 1991b). Spatial data presented in nonspatial, for example tabular, format are difficult to read and most of the information cannot be "seen" without graphic rendering (Tufte, 1983, 1990). The topic of this paper is the translation of attribute data into graphical form. Cartography has developed a large collection of elaborate rules for displaying spatial information. Unfortunately, most of these rules are informal recommendations that require "common sense" to be interpreted (Imhof, 1972; Robinson and others, 1984). The users' expectations of flexibility in the graphical presentation of the results cannot be met by the state of the art in computer cartography. Although some special problems of computer cartog- raphy, primarily placement of names (Freeman and Ahn, 1987), have been studied, currently, one cannot automatically construct maps and diagrams on demand so that they optimally communicate a given set of data. This paper follows the tradition of understanding cartography as a transformation (Tobler, 1979; Robinson and others, 1984). Cartographers have studied extensively the transformations between point sets (map projections) and the transformations from a cartographic line to another (line generalization). Here, we concentrate on the specific transformation of spatially related attribute data into a graphical representation, namely the values and parameters necessary to determine the graphical rendering for geometric elements. The paper develops the chain of transformations from the geometric and attribute data stored in a database to the display. In this process, some of the geometric attributes are selected to determine the position and form of the object rendered. Other attributes are selected to determine the color, pattern, and line width of the presentation of the object. A variation of Bertin's (1983) "visual variables" is used to describe the visual parameters of each component of the geometric object. This process is applicable to both vector and raster data, thus 975