The state of the art concerning the support of the third dimension in the area of Geographic Information Systems (GIS) is not yet satisfying. Most of the existing tools only support digital elevation model (DEM) and therefore must be called 2.5D. Some tools also support 3D objects that are placed as artefacts in the landscape. Still more reality is reached by mapping textures onto the DEM or 3D objects. However, it is not reasonable to burden the end-user with various different data processing tools (Image Processing, DEM, and 3D Modelling), considering the fact that a full support of the third dimension is not achieved. Therefore, in practice for city planning an external software house is charged with the preparation of such a demanding 3D data visualization model. Preference, however, would be given to a solution which would enable the user to handle the existing data on the spot.
The present approach describes the realisation and the features of the so-called spatial objects within 3D-GIS. The above shortcomings have been overcome and the non-expert now is in position to work with just one tool. This tool offers, under a context-sensitive graphical user interface, the following functionality:
This is achieved by an object-oriented approach both for the implementaon and the data-handling. Therefore, the user works with well known objects. Every spatial object can be selected to pose a query. To satisfy the queries efficiently, there is not only geometrical information but also topological information contained in the objects. There are four different base classes available. Depending on their dimension they are called 0-, 2- and 3-cells. Methods for modelling, manipulation, selection, presentation and queries about the topology and geometry are provided. Topological relations between objects are automatically added to the cells during modelling. There are several modelling strategies available.
Every cell has got some so-called view objects. Within these view objects several graphical attributes, like colour, transparency, line thickness, texture, parameters for the facetting or also some more facets can be managed and filled into the rendering pipeline. Therefore every cell can manage several presentation forms. This is used to generate several thematic 3D maps or presentations with distinct qualities. Also a level of detail can be realised which is required to reduce the rendering effort. Raster data will be mapped in a lower resolution in dependence of the distance between the 2-cell and the eye point of the camera model. For vector data it is also necessary to reduce the number of facets. This can be achieved by the variation of the facets parameter of curved surfaces. A better solution is to simplify the based geometry, i.e. a complex house can be presented as a simple cuboid. To support the task of simplifying, underlying geometry algorithms are available. They reduce unnecessary edges and/or facets in the copy of the original geometry of an object. In dependence of the distance the appropriate facets are either used or hidden. Since every cell manages the various presentations on its own, the generation of several levels of detail is easier and thus the user has an easier access to the individual presentations.
The four cell types and the view objects are implemented as C++ classes. The methods of these classes are realised with the OpenGL library (Silicon Graphics) and ACIS (Spatial Technology), a volume modeller kernel. OpenGL is used for the visualization and selection methods. ACIS is taken for the modelling and facetting task. Therefore, it is possible to change any component without much effort. This supports the openness of the tool.
To reduce the data volume, the spatial objects are not written as facets. The internal format of ACIS is used. To reduce the amount of main memory required several strategies are possible. If a 3-cell is built with top-down methods the n-cells (n=0, 1, 2) are generated temporarily if needed. Furthermore, not all information for the presentations must be held simultaneously in the main memory. Each presentation (view object) of a cell is associated to a so-called global view. Only one (global) view is visible at a time. Therefore, the facets of the view objects are generated dynamically, only if needed.
As the view objects generate the facets not only from the "original"-geometry, several geometrical descriptions must be managed. But only the original geometry is kept ready for use. The others are only temporarily loaded, if the view is changed or if a new presentation is generated or manipulated. In the case of level of detail there is an exception to these rules. The facets for all levels of detail of an object must be available simultaneously.
The approach described here allows one to handle data for primitive presentation, thematic 3D-maps or appropriate pre-processed data for virtual reality in just one tool. The tool will be used in a testing phase for urban planning in Frankfurt am Main. In "Mainhattan" the presentation and interactive work with the third dimension is increasingly important.