Visualization
Visualization
Abstract
Visualization has become an integral part in many applications of GIS. Due to the rapid development of
computer graphics, visualization and animation techniques, general-purpose GIS can no longer satisfy the multitude
of visualization demands. Therefore, GIS have to utilize independent visualization toolkits. This article examines
how visualization systems can be used with and integrated into GIS. We analyze several key characteristics
visualization toolkits should satisfy in order to be used eciently by GIS. We show how GIS can provide
visualization and animation features for geo objects by embedding the visualization system using object-oriented
techniques. The concepts are described along with a new visualization and animation toolkit which provides
extensible object-oriented technology for the development of visualization components for 2D, 3D and time-varying
data. The design of this visualization toolkit concentrates on a seamless integration of application-speci®c geo-data
into visualization components, an open interface for dierent rendering techniques and an advanced management of
data dynamics. # 2000 Elsevier Science Ltd. All rights reserved.
0098-3004/00/$ - see front matter # 2000 Elsevier Science Ltd. All rights reserved.
PII: S 0 0 9 8 - 3 0 0 4 ( 9 9 ) 0 0 0 3 8 - 2
68 J. DoÈllner, K. Hinrichs / Computers & Geosciences 26 (2000) 67±76
programs. In contrast to closed visualization systems and typical manipulation tasks. We identi®ed several
such as AVS (Upson et al., 1989; for an overview see key characteristics visualization toolkits should satisfy
Slocum, 1994) these toolkits provide the prerequisites in order to be used eciently by GIS. These character-
for being extended and enriched by new visualization istics include an ecient incorporation of geo data in
components due to their object-oriented architecture. visualization objects; an integrated management of
In contrast to more monolithic GIS such as ARC/ data dynamics; high-level 3D interactive manipulation
INFO (Morehouse, 1989), GIS should be based on a features; exchangeable rendering systems and facilities
software architecture which allows developers to use or for designing and recording animation sequences.
to integrate independent visualization toolkits and to These characteristics are discussed in the following. We
extend the visualization capabilities with respect to the have designed and implemented these concepts in an
application domain by customized, application-speci®c object-oriented manner in a new, prototype visualiza-
visualization components. The GIS architecture should tion toolkit, called MAM/VRS, which serves as a cus-
ensure that the application developer can choose the tomizable visualization subsystem of any GIS.
most appropriate visualization library and switch to
another visualization toolkit if necessary.
There exist dierent strategies for coupling a visual- 3. Realization of GIS visualization requirements in
ization toolkit with a GIS. If the visualization toolkit MAM/VRS
has to be used as an independent system, e.g. Geom-
view (Phillips et al., 1993), the GIS has to communi-
The visualization toolkit MAM/VRS is an open
cate with the visualization system by import and
framework for developing components for geo-based
export ®les (loose coupling). The main disadvantage of
visualization and animation. MAM, the modeling and
this approach is that visualization features are
animation machine, supports high-level modeling of 3D
restricted by the ®le exchange format and that dynamic
geometry and its dynamics. VRS, the virtual rendering
or large data sets can hardly be transferred. Alterna-
system, is an object-oriented 3D rendering system
tively, the visualization toolkit could be integrated as
which provides a variety of graphics primitives and
part of the GIS (tight coupling), communicating either
rendering techniques.
through shared data structures at the object level, or
by object communication services (e.g. CORBA, Acti-
veX). The main disadvantage of this approach is that 3.1. Application data structures for graphics primitives
the GIS has to link visualization objects and geo
objects by customized software components. However, Geo objects provided and maintained by GIS have
this approach allows for a direct and ecient com- to be transformed or linked to visualization objects in
munication between visualization toolkit and GIS. order to provide data to the visualization toolkit. Both
In this paper, we describe how to integrate a GIS the implementation eort and the eciency depend on
with a visualization toolkit by embedding visualization the type of coupling. In MAM/VRS, visualization
objects into the GIS and by specializing visualization objects use application data as much as possible with-
classes by object-oriented techniques such as subclas- out copying the data into internal data structures.
sing. In order to adapt the visualization system to the Most MAM/VRS visualization objects require so
requirements of the GIS, visualization objects have to called iterator objects provided by the application and
provide a ¯exible, ecient and adaptable interface. use these iterators to embed the necessary data. A 3D
The tight coupling of application-speci®c data manage- point set object, for example, does not maintain an
ment and the visualization objects is realized by view array of coordinates. It is associated with an iterator
classes which use the concept of iterators to directly object and uses that iterator to inquire the coordinates
exploit data structures for specifying visualization pri- each time the point set is rendered. It is up to the itera-
mitives. Since the application data structures are inte- tor's implementation to de®ne how that data is calcu-
grated with the visualization toolkit, data redundancies lated or how and where the data is stored.
between the components are prevented and the seman-
tics of application-speci®c data is available in all parts 3.2. Integrated and sophisticated management of time
of the system.
Data dynamics encoded in time-variant geo data can
be visualized by temporal animation. However, time
can be used also to visualize features other than time.
2. GIS requirements for visualization toolkits Non-temporal animations, for example, can be used to
visualize spatial data uncertainty. For a detailed dis-
Visualization toolkits used by GIS must meet the cussion of the dynamic variables see MacEachren
requirements of the visualization of typical geo data (1994) who points out that time as ``powerful variable
J. DoÈllner, K. Hinrichs / Computers & Geosciences 26 (2000) 67±76 69
Fig. 1. Realtime terrain visualization using OpenGL 2D textures and 2D detail textures. Lens ¯ares are superimposed by transpar-
ent textures.
[. . .] is likely to make the most substantial impact on dynamic maps. MAM/VRS supports 3D interaction by
maps as visualization tool in GIS''. Thus, the visualiza- an internal ray-tracer. The ray-tracer calculates dis-
tion toolkit has to provide mechanisms for controlling tances and positions of 3D rays and 3D objects. For
and manipulating time in geo objects and for modeling example, one could simulate a ¯ight across a landscape
the global time ¯ow. and constrain the ¯ight path to a certain altitude
MAM/VRS models the geometry of a visualization above the ground; the virtual camera would send out
and its dynamics symmetrically by two types of test rays in order to check and adjust its altitude. Note
graphs: geometry graphs and behavior graphs. A geo- that ray-tracing does not refer to the image synthesis
metry graph represents hierarchically nested 3D scenes process: here, ray-tracing is an analytical tool applied
in analogy to VRML scene graphs. A behavior graph to geo objects. Since all visual objects can be associ-
complements a scene description by representing its ated with tag objects, the GIS can annotate any type
dynamic aspects such as animations or user interaction of information it needs for identifying geo objects in
capabilities. More abstract, behavior graphs model the virtual scenes.
time and event ¯ows of a visualization. MAM/VRS
provides high-level time building blocks which deform
or distribute time according to time layouts. They are 3.4. Multiple 3D rendering techniques
useful to build complex animations, such as a seman-
tic-guided ¯ight across a landscape (e.g. the virtual GIS applications have dierent rendering require-
camera could control its acceleration with respect to ments: real-time rendering for interactive GIS appli-
the wind information at its current position). cations must use a dierent rendering technology than
high-quality image productions used for computer gen-
erated videos. VRS ensures that the same visualization
3.3. Integrated 3D interaction capabilities application can change the underlying 3D rendering
library without having to recode the application
3D interaction is important for the direct manipu- because of VRS's uniform and object-oriented inter-
lation of geo objects. For example, in order to place a face. Currently, VRS supports OpenGL for real-time
new building into a virtual landscape, the user needs a rendering and RenderMan (Upstill, 1990), POV Ray
precise control mechanism in 3D space. 3D interaction (POV Team, 1998) and the light simulation system
represents also the technical foundation for intelligent Radiance (Ward, 1994) for high-quality rendering with
70 J. DoÈllner, K. Hinrichs / Computers & Geosciences 26 (2000) 67±76
global illumination eects. New rendering systems can objects to appropriate calls of the underlying 3D ren-
be integrated by implementing so called virtual render- dering systems. The application can de®ne new map-
ing engines. Fig. 1 shows a terrain rendered with ping techniques by so called shape painters and
OpenGL. To facilitate the navigation in the terrain, attribute painters. Painters are objects which encapsu-
sun ¯ares have been added. late the code for the actual mapping. This way, develo-
pers can add application-speci®c rendering
3.5. Automated production of computer video sequences functionality to their visualization system.
VRS is a thin object-oriented layer. Its virtual ren-
The generation of computer video sequences is a dering engines do not have a signi®cant impact on the
time consuming task. In particular, if data sets are rendering performance compared to applications which
large, the requirements of time and space are enor- access a rendering system directly. Moreover, the
mous. MAM/VRS facilitates the design and realization OpenGL rendering engine has been ®ne-tuned to
of computer animations due to its built-in time man- achieve almost the same performance as native
agement and multiple 3D rendering techniques. An OpenGL programs.
animation can be planned and modi®ed with a fast The modeling and animation machine provides
real-time rendering system. To produce the ®nal video higher-level modeling techniques for visualization.
sequence, a high-quality rendering system can be MAM speci®es geometry nodes and behavior nodes and
plugged in without writing additional code. it is responsible for the management of geometry
graphs and behavior graphs. Geometry graphs consist
of geometry nodes and behavior graphs consist of
behavior nodes. To visualize graphics objects, they
4. Architecture of the MAM/VRS visualization toolkit
have to be associated with geometry nodes. To ani-
mate them, they are associated with behavior nodes.
The architecture basically consists of two layers, the VRS and MAM are tightly coupled because MAM's
MAM graphics layer and the VRS rendering layer. geometry nodes and behavior nodes manipulate and
Fig. 2 shows the overall architecture of MAM/VRS. operate on associated, shared graphics objects pro-
The rendering layer is responsible for the image syn- vided by VRS.
thesis based on low-level 3D rendering libraries, The MAM/VRS toolkit is implemented as a C++
whereas the graphics layer is responsible for composing library. User interface bindings exist for the Microsoft
3D scenes and specifying their dynamics. Foundation Classes MFC, OSF/Motif and Tcl/Tk. On
The virtual rendering system (DoÈllner and Hinrichs, Windows platforms, visualization components can be
1997b) provides graphics objects which represent developed as ActiveX components.
graphical entities, e.g. colors, textures, geometric trans- MAM/VRS objects can be used within the scripting
formations and shapes. Shapes represent concrete 2D language Tcl/Tk (Ousterhout, 1994) in order to sup-
or 3D objects. The appearance of shapes is modi®ed port rapid prototyping of GIS applications, to take ad-
by graphical attributes. Graphics objects are processed vantage of the powerful and portable Tk user interface
and evaluated by rendering engines which map graphics toolkit and to support interactive development and
testing. The dierent application programming inter-
faces ensure that the toolkit is independent of the win-
dow system and the low-level 3D rendering library and
that MAM/VRS is portable. The visualization toolkit
can be used if at least OpenGL is available on the tar-
get platform (e.g. Windows95/NT, most Unix sys-
tems).
1. Convert objects of the source component into an existing visualization classes. In our approach, we inte-
exchange format. grate geo data structures and visualization by visualiza-
2. Store these intermediate objects. tion view classes embedded in the visualization toolkit
3. Convert the intermediate objects into objects suit- and by providing a uniform embedding in a scripting
able for the target component. language.
This loose coupling of components leads to pro-
blems resulting from the potential data redundancy
and from loss of information during the conversion 6. Visualization view classes
processes. Hence, the semantics of the objects used by
the application program is usually not accessible by Visualization view classes manage the mapping of
the visualization component which naturally restricts application objects to graphics objects. By application
visualization techniques. The loose coupling is the object we mean any type of object which contains
most popular interface provided by classical GIS. geo data, for example a DEM object. With respect to
In our approach, a tight coupling of GIS application object-oriented design patterns (Gamma et al., 1995),
and visualization toolkit is chosen. While most geo- a visualization view class is both an adapter class
data structures have been designed to meet the require- which converts the interface of one class into another
ments of GIS applications, the data model provided by interface clients expect and a mediator class which
MAM/VRS re¯ects the needs of 3D graphics and ani- encapsulates how two types of objects interact. In
mation. Of course, there is in general a certain analogy general, a visualization view class will base the map-
in the class hierarchies. For example, vector-based ping on the geometric and thematic data. In particu-
data classes provided by an application, e.g. polylines, lar, the tight coupling of the application objects and
polygonal regions and solids, can be represented by graphics objects is realized by specialized view objects,
sets of line segments, triangles and simplices provided the iterator objects. The iterators provide an ecient
by the visualization toolkit. Furthermore, 2D and 3D way to establish a direct link between application ker-
meshes of triangles and simplices available in the visu- nel and visualization toolkit. An overview of the
alization toolkit can be used directly for the visualiza- architecture of such an integrated system is given in
tion of the corresponding raster-based classes in most Fig. 3.
applications. However, we cannot expect to merge A visualization view class is associated with appli-
these class hierarchies due to their dierent semantics cation classes and derives for these application classes
and requirements. The visualization toolkit should iterator classes. These iterator subclasses are speci®c to
allow the GIS developer to add whatever is needed to the application classes and may take advantage of
visualize a speci®c type of geo object by subclassing their internal data representation. The main purpose of
Fig. 3. Architectural overview of integration of GIS application and visualization toolkit MAM/VRS.
72 J. DoÈllner, K. Hinrichs / Computers & Geosciences 26 (2000) 67±76
iterators is the sequential access of geometric or class of MAM/VRS. Iterator objects of class Grid2-
graphics data in a form suitable for MAM/VRS. The DNormalIterator return Vector objects which represent
conversion is carried out on the ¯y without an inter- surface normal vectors of a DEM entry. The compu-
mediate storage. Furthermore, visualization view tation of the normal vectors can be based on dierent
classes instantiate MAM/VRS graphics objects and rules, e.g. geometric normals. Iterators perform their
connect them to iterators. computations on the ¯y, i.e. no data storage or dupli-
Visualization view classes can map application cation is required.
objects to graphics objects in various ways. Since most
classes of graphics objects in MAM/VRS rely on So far, the geometry of application objects has been
embedded data provided by iterators, visualization linked to graphics objects. The thematic part of the ap-
techniques can be realized eciently. plication objects can be mapped either by additional
graphics objects or by color information applied to
Example. Consider the visualization of a digital el- existing graphics objects. It is up to the visualization
evation map (DEM) which could be represented in strategy how to map thematic data.
a database by the class DEM, a subclass of class
Grid2D, i.e. a two-dimensional matrix of elevation Example. Consider again the visualization of a
information. Fig. 4 shows the class hierarchy DEM. We have described how spatial coordinates
described in this example. A DEM is visualized by and the normal vectors are embedded in graphics
an object of class Mesh provided by MAM/VRS. objects by Grid2DVectorIterator objects and Grid2-
Mesh objects represent triangulated nxm meshes. DNormalIterator objects. To visualize the landuse in-
The interface between Grid2D and Mesh is estab- formation for a DEM, we assign colors to the
lished by the iterator classes Grid2DVertexIterator mesh based on a thematic color scale. Colors are
and Grid2DNormalIterator, both are derived from assigned to a mesh by a color iterator. In the
class IteratorhVectori, the base class of all MAM/ example, we derive a color iterator class Landuse-
VRS iterators. Each iterator object is associated ColorIterator which has to return Color objects.
with an Grid2D object and a Mesh object. A Color object contains the RGB coecients
and the transparency coecient. The color iterator
If the DEM is requested to render itself, the Mesh will actually use the associated land use geo object
object actually uses the iterator objects to inquire the to inquire land use information for a spatial pos-
coordinates and the color data. Both types of iterators ition.
perform a row-by-row scan of the DEM's elevation
matrix. Iterator objects of class Grid2DVertexIterator Alternatively, we could color the mesh with respect
return Vector objects, the 3D point and 3D vector to the height of DEM entries, whereby the colors are
calculated based on a color scale. This approach can niques can use the built-in ray tracer to inquire spatial
be implemented by the iterator subclass DEMHeight- relationships of 3D objects.
ColorIterator. Since geo objects and their visual representations are
Both land use and height information layers are connected by iterators, modi®cations apply directly to
visualized by the same paradigm: color iterators in®l- the visual representation as well as to the application.
trate directly application semantics in MAM/VRS Moreover, 3D interaction techniques developed in
objects. We could also design an appropriate texture computer graphics can be exploited. For example, the
coordinate iterator to map an additional information height of a building located in a DEM can be interac-
layer onto the mesh. tively modi®ed by a 3D scroll bar (i.e. a cylinder
erected upon the landscape with a small slider box).
Obviously, the concept of embedded data in Fig. 6 illustrates the data ¯ow during an interactive
graphics objects does not require explicit conversion of modi®cation of application objects.
data between application and visualization subsystem
and thereby an erroneous data redundancy between
both components is prevented. The visualization
directly accesses the objects of the application and
transfers the information contained in the application 8. Embedding in an object-oriented scripting language
into a format which can be processed by the low-level
rendering engines underlying the visualization toolkit. In general, scripting languages oer many advan-
This transfer is done each time an application object is tages for high-level programming compared to system
rendered on the screen. To provide smooth animations programming languages because they are easier to
and to speed up user-interaction (e.g. interactive learn and understand, provide a tight binding to user
exploration of 3D scenes) graphics objects can be interfaces and allow for rapid and interactive prototyp-
cached. However, the visualization view classes keep ing (Ousterhout, 1998). Their main disadvantage is
track of modi®cations to the application objects such that they cannot implement large object-oriented sys-
that cached data is always updated if application tems. The interpretative tool command language Tcl
objects have been modi®ed. (Ousterhout, 1994), its GUI toolkit Tk and the object-
The tight coupling of application and visualization oriented Tcl extension [incr Tcl] (McLennan, 1997)
subsystem oers extensible and customizable visualiza- together represent a widely used and one of the most
tion techniques to GIS applications. For an application powerful object-oriented scripting languages.
of our approach, see Bernard et al. (1998) who The visualization toolkit MAM/VRS is implemented
describes an interoperable object-oriented GIS-frame- by C++ libraries. To integrate the system at the appli-
work for managing, modeling and visualizing high- cation programming interface level, we have embedded
dimensional spatio-temporal data by an integrated sys- it into the object-oriented scripting language [incr Tcl].
tem based on MAM/VRS and the iterator concept. Our approach for embedding C++ classes in [incr
Fig. 5 shows sample visualizations taken from this ap- Tcl] is based on the following concept. For each C++
plication. class there is one `mirror class' in [incr Tcl] whose class
members have a one-to-one relationship to their C++
counterparts. For each object created in the C++
world, there is a `mirror object' in the [incr Tcl] world.
A mirror object delegates all requests to its corre-
7. Interactive modi®cation of geo objects sponding C++ object. That delegation guarantees op-
timal ¯exibility and performance. The complete
As a consequence of the tight coupling of GIS and functionality of the visualization toolkit is available
visualization subsystem, it is easy to implement interac- through the [incr Tcl] interface. However, there is no
tive modi®cation techniques for geo objects. The visu- lack of performance since the visualization functional-
alization toolkit MAM/VRS provides tag objects to ity is not executed in the interpretative scripting
assign application-speci®c identi®ers and group identi- language but in the native C++ code.
®ers to visual objects. Tags represent the hooks for If the application developer extends the visualization
any type of geo object editor. Tags are created by visu- toolkit by new classes derived from the existing class
alization view classes and are associated with the hierarchies, these classes must be available to the [incr
graphical representations of geo objects. The tags are Tcl] interface as well. The same applies to application-
used to formulate scene requests and to build object- dependent classes developed independently of MAM/
speci®c interactions. Interaction techniques can use VRS which should also be available to the [incr Tcl]
tags to identify the relevant objects and to report them interface. To support the automatic integration of ap-
to the geo object editor. In addition, interaction tech- plication-speci®c classes, a generator has been devel-
74 J. DoÈllner, K. Hinrichs / Computers & Geosciences 26 (2000) 67±76
Fig. 5. Sample DEM visualization. (A) Hypsometric color tinting applied to terrain. Flight path is visualized by polyline. (B) Visu-
alization of forest land use; trees are visualized by transparent textures.
oped which creates the [incr Tcl] classes from infor- collection of easy to customize user interface com-
mation obtained by parsing the corresponding C++ ponents. Due to the nature of a scripting language,
header ®les. user interface design can be done interactively. New
The interpretative object-oriented scripting language parts of an application can also be developed in the
[incr Tcl] also proved to be a valuable tool for devel- scripting language, can be tested within the interpret-
oping user interfaces. Tk oers a platform-independent ative environment and can later be ported to C++.
J. DoÈllner, K. Hinrichs / Computers & Geosciences 26 (2000) 67±76 75
on Programming Paradigms for Graphics '97, Budapest, Ray), Version 3.0. Technical report. http://www.por-
Hungary. ray.org.
DoÈllner, J., Hinrichs, K., 1997a. Object-oriented 3D model- Schroeder, W., Martin, K., Lorensen, B., 1998. The
ing, animation. Journal of Visualization and Computer Visualization Toolkit, 2nd ed. Prentice Hall, Englewood
Animation 8 (1), 33±64. Clis, NJ.
Gamma, E., Helm, R., Johnson, R., Vlissides, J., 1995. Slocum, T., 1994. Visualization software tools. In:
Design Patterns. Elements of Reusable Object-Oriented MacEachren, A.M., Taylor, D.R. (Eds.), Visualization in
Software. Addison-Wesley, Reading, MA. Modern Cartography. Pergamon Press, Oxford, pp. 91±96.
MacEachren, A., 1994. Time as A Cartographic Variable. In: Upson, C., Faulhaber, Th., Kamins, D., Laidlaw, D.,
Hearnshaw, H., Unwin, D.J. (Eds.), Visualization in Schlegel, D., Vroom, J., Gurwitz, R., van Dam, A., 1989.
Geographical Information Systems. John Wiley and Sons,
The application visualization system: a computational en-
Chichester, pp. 115±130.
vironment for scienti®c visualization. IEEE Computer
McLennan, M., 1997. Object-Oriented Programming with
Graphics and Applications 9 (4), 30±42.
[incr Tcl]. In: Harrison, M. (Ed.). O'Reilly and Associates,
Upstill, St., 1990. The RenderMan Companion. A
Sebastopol, CA, pp. 7±66.
Programmers's Guide to Realistic Computer Graphics.
Morehouse, S., 1989. The architecture of ARC/INFO. In:
Proceeding Auto-Carto 9 Conference, pp. 266±277. Addison-Wesley, Reading, MA.
Ousterhout, J., 1994. Tcl and the Tk Toolkit. Addison- Ward, G., 1994. The radiance lighting simulation and render-
Wesley, Reading, MA. ing system. Computer Graphics (Proceedings of
Ousterhout, J., 1998. Scripting: higher level programming for SIGGRAPH '94) 28 (2), 459±472.
the 21st century. IEEE Computer 31 (3), 23±30. Wernecke, J., 1994. The Inventor Mentor: Programming
Phillips, M., Levy, S., Munzner, T., 1993. Geomview: an Object-Oriented 3D Graphics with Open Inventor.
interactive geometry viewer. Notices American Addison-Wesley, Reading, MA.
Mathematical Society 40 (8), 985±988. Woo, M., Neider, J., Davis, T., 1997. OpenGL Programming
POV Team, 1998. Persistency of Vision Ray Tracer (POV- Guide, 2nd ed. Addison Wesley, Reading, MA.