data configurations. This fact turns the implementation of correct and robust
algorithms, even if their logical structure is simple and clear, into a challenge
that few programmers can meet successfully. Thus, basic geometric algorithms
must be made available to application programmers in the form of program
libraries developed by specialists. We present an example.
Chapter 2 discusses tile use of Voronoi diagrams in GIS. It presents a general
framework for handling fully dynamic and kinematic Voronoi diagrams for points
and extended spatial objects~ The Voronoi approach greatly simplifies some of
the basic traditional GIS queries, such as map overlay and proximity queries,
and even allows new types of higher level queries.
Chapter 3 contains a treatment of digital elevation models in GIS, with em-
phasis on TINs and algorithms. Although gridded elevation models are more
widely used in current GIS than TINs, the advantages of TINs cannot be ig-
nored. The grid is usually chosen for its simplicity, but this chapter shows that
simple algorithms can solve the basic computations on the TIN model as well.
Chapter 4 gives a treatment of the visualization of terrains. Techniques for
hidden surface removal like depth-sorting and visibility map computation are
covered. The chapter also describes levels of detail in terrains to allow for a
hierarchical multiresolution model.
Chapter 5 discusses the cartographically challenging problem of generaliza-
tion. An overview is given of the types of generalization, the various approaches
that have been attempted, and recent developments. Since generalization is a
task that first needs a proper modeling, emphasis is placed on the modeling
aspects.
Chapter 6 contains an extensive overview of spatial data structures that can
be used on background storage. The design of such a structure obviously depends
on the queries it should support efficiently. All structures are based on either
an organization of the data objects or on an embedding of the underlying space.
Design principles are usually based on common sense and simplicity.
Chapter 7 is dedicated to the design and analysis of space-filling curves in
GIS. It presents an approach to theoretically evaluate the performance of range
queries under a practical cost model that takes into account the number and
locality of the data accesses.
Chapter 8 gives a treatment of algorithms on background storage. The as-
sumption is that in GIS the amount of data that is input for an algorithm is
often too large to fit in main memory. External memory algorithms attempt
to minimize the number of block exchanges between main and external mem-
ory, since this affects the running time of the algorithm much more than the
processing time itself. Several of these algorithms were based on common data
structures for main memory, but have been adapted to work well on secondary
storage.
Chapter 9 covers techniques for realizing precision and robustness in geomet-
ric computing. Standard geometric algorithms assume that real numbers can be
stored and exact computation can be done. In practice, these assumptions are
false, leading to false output and unexpected behavior of theoretically correct
Vll