VARIANT: a system for terrain modeling at variable resolution

29
GeoInformatica 4:3, 287–315, 2000 # 2000 Kluwer Academic Publishers. Manufactured in The Netherlands. VARIANT: A System for Terrain Modeling at Variable Resolution LEILA DE FLORIANI, PAOLA MAGILLO, AND ENRICO PUPPO Dipartimento di Informatica e Scienze dell’Informazione, Universita´di Genova, Via Dodecaneso, 35–16146 Genova, Italy E-mail: fdeflo,magillo,puppog@disi.unige.it Received August 10, 1999; Revised July 19, 2000; Accepted July 19, 2000 Abstract We describe VARIANT (VAriable Resolution Interactive ANalysis of Terrain), an extensible system for processing and visualizing terrains represented through Triangulated Irregular Networks (TINs), featuring the accuracy of the representation, possibly variable over the terrain domain, as a further parameter in computation. VARIANT is based on a multiresolution terrain model, which we developed in our earlier research. Its architecture is made of a kernel, which provides primitive operations for building and querying the multiresolution model; and of application programs, which access a terrain model based on the primitives in the kernel. VARIANT directly supports basic queries (e.g., windowing, buffering, computation of elevation at a given point, or along a given line) as well as high-level operations (e.g., fly-over visualization, contour map extraction, viewshed analysis). However, the true power of VARIANT lies in the possibility of extending it with new applications that can exploit its multiresolution features in a transparent way. Keywords: terrain modeling, multiresolution structures, level of detail, query operations 1. Introduction Terrain models used in GIS are discrete approximations of real terrains. A terrain model consists of a subdivision of a planar domain into cells (usually, squares or triangles), together with predefined rules for approximating the terrain surface and its attributes within each cell. The resolution of a terrain model refers to the size of its cells, and can be either uniform, as in regular square grids, or variable, as in Triangulated Irregular Networks (TINs). The accuracy of a terrain model refers to the error made in representing a real terrain, and can be related to the approximation of either geometric measures such as elevation and slope, or non-geometric attributes such as soil type and land use. Accuracy naturally increases with resolution. On the other hand, also the cost of storing, manipulating, analyzing, and visualizing a model increases with resolution. Contemporary remote sensing technology can already provide data samples at a ground resolution of one meter and an accuracy in elevation of about half a meter, on the whole surface of earth [15]. Data of this kind are acquired and stored systematically by geographical agencies of many countries. Higher resolution and elevation accuracy (for

Transcript of VARIANT: a system for terrain modeling at variable resolution

GeoInformatica 4:3, 287±315, 2000

# 2000 Kluwer Academic Publishers. Manufactured in The Netherlands.

VARIANT: A System for Terrain Modeling atVariable Resolution

LEILA DE FLORIANI, PAOLA MAGILLO, AND ENRICO PUPPO

Dipartimento di Informatica e Scienze dell'Informazione, Universita di Genova, Via Dodecaneso, 35±16146Genova, ItalyE-mail: fde¯o,magillo,[email protected]

Received August 10, 1999; Revised July 19, 2000; Accepted July 19, 2000

Abstract

We describe VARIANT (VAriable Resolution Interactive ANalysis of Terrain), an extensible system for

processing and visualizing terrains represented through Triangulated Irregular Networks (TINs), featuring the

accuracy of the representation, possibly variable over the terrain domain, as a further parameter in computation.

VARIANT is based on a multiresolution terrain model, which we developed in our earlier research. Its

architecture is made of a kernel, which provides primitive operations for building and querying the

multiresolution model; and of application programs, which access a terrain model based on the primitives in

the kernel.

VARIANT directly supports basic queries (e.g., windowing, buffering, computation of elevation at a given

point, or along a given line) as well as high-level operations (e.g., ¯y-over visualization, contour map extraction,

viewshed analysis). However, the true power of VARIANT lies in the possibility of extending it with new

applications that can exploit its multiresolution features in a transparent way.

Keywords: terrain modeling, multiresolution structures, level of detail, query operations

1. Introduction

Terrain models used in GIS are discrete approximations of real terrains. A terrain model

consists of a subdivision of a planar domain into cells (usually, squares or triangles),

together with prede®ned rules for approximating the terrain surface and its attributes

within each cell. The resolution of a terrain model refers to the size of its cells, and

can be either uniform, as in regular square grids, or variable, as in Triangulated Irregular

Networks (TINs). The accuracy of a terrain model refers to the error made

in representing a real terrain, and can be related to the approximation of either

geometric measures such as elevation and slope, or non-geometric attributes such as soil

type and land use. Accuracy naturally increases with resolution. On the other hand, also

the cost of storing, manipulating, analyzing, and visualizing a model increases with

resolution.

Contemporary remote sensing technology can already provide data samples at a ground

resolution of one meter and an accuracy in elevation of about half a meter, on the whole

surface of earth [15]. Data of this kind are acquired and stored systematically by

geographical agencies of many countries. Higher resolution and elevation accuracy (for

about one or two orders of magnitude) can be achieved locally with on-®eld

photogrammetry devices. More and more data of this latter kind are also available, at

least in urban contexts. With such a wealth of data it would be possible, at least in

principle, to build and update a global terrain database at a very high resolution, with an

accuracy suf®cient to support all possible applications at any possible location on earth. In

spite of the huge size of data involved, nowadays such a database could be actually built

and stored. However, its management is far from being a trivial issue.

An obvious observation is that not all applications need to work at the same scale, i.e.,

with the same resolution and accuracy. Some applications need very high accuracy on a

small domain (e.g., architectural design), while others work with low resolution on a very

large domain (e.g., weather forecast at a continental scale). Actually there are applications

for a whole range of different domain sizes and resolution/accuracy. Last but not least,

there are applications that may highly bene®t from a model having resolution and accuracy

variable through the domain. Examples are landscape visualization, road planning and

design, viewshed analysis, shortest path computation, watershed analysis, and erosion

prediction. Some of such examples are discussed in Section 8.

Thus, given a reference model at the highest resolution and accuracy available, and

possibly on a global scale, the following basic problems arise:

1. Bounding the model to the domain of interest for a given application;

2. Reducing resolution for those applications that have either looser requirements in

terms of resolution and accuracy, or more strict constraints in terms of running time or

computing resources.

The ®rst one is a problem of spatial indexing, while the second is more a kind of terraingeneralization problem. A key aspect in the latter problem is to optimize the trade-off

between accuracy of representation and ef®ciency of operations. Naive solutions such as

direct sub-sampling of regular grids give poor results, since resolution is reduced

uniformly over the whole domain, disregarding terrain roughness and features, as well as

areas of speci®c interest for an application. TIN-based techniques for terrain general-

ization give well-established means to maintain a relatively good accuracy by reducing the

resolution and size of a model adaptively. On the other hand, on-the-¯y generalization of

data at very high resolution may be often impractical, due to its heavy computational costs.

Also separate storage of multiple models at different resolutions may easily create

consistency problems, and it may not be suf®cient for those applications that require

different resolution and accuracy in different parts of the domain.

Multiresolution terrain models have been developed in the literature to cope with these

problems. Such models are built off-line from data at high resolution, and corresponding

data structures are stored together with their access methods. Representations of a terrain

at variable resolution and accuracy can be retrieved on-line from such data structures,

according to the current needs of each application task. Accuracy requirements may be

variable both in space and in time. For example, in landscape visualization, the accuracy

needed in the various parts of a terrain depends on their distance from the viewpoint,

whose position may change over time.

288 FLORIANI, MAGILLO AND PUPPO

Multiresolution models may also act as spatial indexes, since their internal organization

naturally supports top-down spatial access. This additional feature makes such models not

only suitable to provide the proper terrain model according to the requirements of a given

application, but also ef®cient in supporting spatial queries.

In this paper, we address the management of resolution and accuracy in terrain

modeling, in the context a prototype system called VARIANT (VAriable Resolution

Interactive ANalysis of Terrain). The system is based on the Multi-Triangulation (MT), a

multiresolution TIN-based model that we developed in our previous work [12], [34], and it

is implemented upon an object-oriented library for managing the MT [34].

The main idea behind VARIANT is to provide an extensible system which can be

integrated with modules performing terrain analysis and processing, with the additional

feature of using resolution and accuracy of the representation, possibly variable over the

terrain domain, as further parameters in computation.

VARIANT directly supports basic spatial queries as well as a few high-level operations.

However, the main purpose of the system is to provide the basic mechanisms to manage

multiresolution, and to allow users to write extensions, i.e., speci®c application modules,

which can exploit its multiresolution features in a transparent, yet ef®cient, way. An

application can make simple use of VARIANT just as an interface to the database, in order

to obtain models of the desired domain and at the desired resolution. But the major

advantage of VARIANT consists in the possibility of writing applications that directly

exploit its multiresolution features during computation.

The system consists of a few intercommunicating modules. A kernel encapsulating the

data structure for the multiresolution model, together with operations for constructing and

querying it, provides the basic engine to manage multiresolution. The multiresolution data

structure is built off-line from high resolution data, by speci®c construction modules; the

system provides some such modules, and others can be built according to speci®c

application needs, by exploiting the construction primitives in the kernel. Once the data

structure has been built, data can be accessed by application modules ( programs) through

query operations provided by the kernel.

The system already supports terrain visualization, and some tasks in terrain analysis

(e.g., extraction of contour lines, computation of visibility, etc.), which are designed to

exploit variable resolution, and can be taken just as examples of possible application

modules.

The remainder of this paper is organized as follows. Section 2 contains an outline of

related work. Section 3 gives a brief description of the multiresolution model at the basis

of VARIANT. Section 4 provides an overview of the architecture of VARIANT. Section 5

describes the system kernel in more details. Section 6 describes general criteria as well as

tools available in the system to support multiresolution queries. Section 7 describes

construction modules that are used off-line to build a multiresolution model. Section 8

describes a few applications that exploit multiresolution features on-line in terrain analysis

and visualization, and also gives an outline of general mechanisms to extend the system

with more applications. Finally, Section 9 contains some concluding remarks and

directions of future developments.

VARIANT: A SYSTEM FOR TERRAIN MODELING 289

2. Related work

Terrain generalization is a classical problem and a number of algorithms exist in the

literature, which are generally aimed at producing a TIN that approximates the elevation of

a set of input samples (see Garland and Heckbert [22], Lee [31], for surveys). Most such

methods are based on the iterative application of local modi®cations on an initial TIN, in

order to either re®ne or coarsen it. Here, we just exploit basic principles of existing

algorithms based on local modi®cations in order to obtain general techniques for building

our multiresolution model.

There exist a number of multiresolution terrain models, which are based on subdivisions

of the domain either through nested regular grids [16±17], [24], [32±33], [41±42], or

through TINs [1], [4], [7], [9], [25], [28], [27], [37], [43], [46].

Regular multiresolution models have the main advantage of requiring simple data

structures, since geometry and connectivity can be represented implicitly. On the other

hand, multiresolution models based on irregular triangulations are more ¯exible since they

naturally adapt to different surface morphologies, they can be built from scattered data

samples, they can include explicitly point features (e.g., maxima, minima, saddle points)

as well as line features (e.g., ridges, valleys, coastlines) represented at multiple

resolutions, and they can be de®ned for non-convex domains.

Some prototype systems which use multiresolution concepts have been developed,

based on both regular and irregular triangulated models. Topovista [44] is a system

developed at the University of Arizona, in which the underlying multiresolution model is a

hierarchy of regular right triangles [17]. FlyAway [19] has been developed at the

University of TuÈbingen, using a multiresolution model based on Delaunay triangulations

of irregularly distributed points [28].

Apparently, the only application proposed for such systems is interactive terrain

visualization, where multiresolution is used for adapting the rendered model to view-

dependent thresholds.

3. The Multi-triangulation

The Multi-Triangulation (MT) is a multiresolution model for triangle meshes, proposed

initially in Puppo [38], and developed in De Floriani et al. [12], and Magillo [34]. In

VARIANT, we use an MT to represent TINs at multiple resolutions. Here we just give a

brief outline of the model. The interested reader may refer to works cited above for details.

A TIN consists of a plane triangulation where each vertex has an associated elevation

value. Vertex elevations de®ne an embedding of the plane triangulation into the three-

dimensional space (see ®gure 1). Without loss of generality, we use a planar patch to

project each triangle in space. However, smooth surfaces can be also obtained, without

modifying the overall framework, by using a curved patch to project each triangle, e.g.,

computed on the basis of both elevation and surface normal at each vertex [39].

The intuitive idea behind a Multi-Triangulation (MT) is the following one. Consider a

process that starts with a coarse TIN and progressively re®nes it by performing a sequence

290 FLORIANI, MAGILLO AND PUPPO

of local updates. A popular example of re®nement sequence consists of the iterative

insertion of vertices, where each new vertex v modi®es the TIN by substituting a set of

triangles ®lling a polygon with a fan of triangles incident at v, and triangulating the same

polygon [20]. More in general, a local update replaces a subset of triangles of a TIN with

another, more numerous, set of triangles representing the same portions of terrain at a

higher resolution. Thus, an update is described by the two subsets of triangles removed and

inserted by it, respectively (see ®gure 2(a)).

We de®ne the following dependency relation between updates: an update C2 depends on

another update C1 if and only if C2 removes some triangles introduced by C1. Intuitively,

this means that C2 can be applied only if C1 has been applied before it. The transitive

Figure 1. The plane triangulation underlying a TIN and its embedding in three-dimensional space.

Figure 2. (a) An initial triangulation and a sequence of four updates: updates 1 and 2, as well as updates 3 and

4, are mutually independent, while 3 depends on both 1 and 2, and 4 depends on 2; (b) the corresponding MT: an

additional dummy update represents the creation of the initial TIN.

VARIANT: A SYSTEM FOR TERRAIN MODELING 291

closure of dependency relation de®nes a partial order, which is represented graphically as

a directed acyclic graph (DAG), as depicted in ®gure 2(b).

This structure is used to obtain different sequences of updates formed by subsets of the

initial sequence. A set of updates of an MT that is closed with respect to the partial order,

i.e., that contains all parents of each of its nodes, provides a TIN representing the terrain at

a certain resolution (see ®gure 3). It is possible to perform more updates in some areas and

fewer updates elsewhere, depending on the resolution requirements imposed by a given

application, thus producing a TIN having a resolution variable through the domain. Such

an operation, called selective re®nement, is the basis for managing terrain resolution

on-line.

4. The architecture of variant

VARIANT consists of a collection of modules, organized into two layers (see ®gure 4).

The inner layer, forming the system kernel, is called the MT-manager. It contains the

data structure implementing the Multi-Triangulation as well as a set of operations that

provide a standard interface between the MT and the other modules of the system. Besides

utility operations, such as I/O functions, the MT-manager provides two main classes of

operations:

Figure 3. (a) A closed subset of the nodes of the MT of ®gure 2 is given by the nodes above the curve (i.e.,

nodes 0, 1, 2, 4). (b) The TIN resulting from applying such updates.

292 FLORIANI, MAGILLO AND PUPPO

* Basic construction operations, which are used to build an MT through local updates.* Query operations, which are used to extract TINs at variable resolution. Such

operations are general-purpose and can be specialized by de®ning some parameters in

order to obtain speci®c multiresolution queries.

The outer layer is the extensible part of the system, which contains modules

implementing applications that exploit multiresolution features. Such applications rely on

the MT-manager to either build or query a terrain model encoded through an MT. Modules

in this layer can be classi®ed further as:

* MT-Generators that take as input raw terrain data and build an MT, through

construction operations provided by the MT-manager.* Modules implementing query parameters that are used to customize the general-

purpose query operations of the MT-manager, in order to implement speci®c

multiresolution queries. The system currently provides a number of basic prede®ned

parameters, but more parameters can be added by simply instantiating a general

scheme.* MT-Clients, which use the query operations provided by the MT-manager to perform

operations at variable resolution on a terrain encoded through an MT. Such operations

include basic spatial queries (e.g., point location, range search), as well as global

operations (e.g., generation of contour maps, viewshed computation), as illustrated in

Section 8.

The system architecture is depicted in ®gure 4 in terms of the relations among the

different modules. Modules implementing the MT-manager, the query parameters, the

MT-generators and the MT-clients are described in the following sections in more details.

The current version of VARIANT has been implemented in C�� under the Unix

operating system, and is based an object-oriented library for rapid prototyping of MT-

Figure 4. Modules composing the VARIANT system and their relations.

VARIANT: A SYSTEM FOR TERRAIN MODELING 293

based applications [34], which is also the main tool available to write extensions to the

system.

5. The MT-manager

The MT-manager encapsulates the inner representation of the MT and provides a software

interface to it. Such an interface provides general access and manipulation mechanisms

acting on a terrain model represented as an MT, while hiding all details of managing

multiresolution in the speci®c data structure. Operations provided by the MT-manager are

at a high level of abstraction and generality, while the implementation of more speci®c

operations is deferred to modules of the outer layer.

5.1. Data structure

In the current version of VARIANT, we store an MT in a data structure which explicitly

describes the DAG and the local updates. Each triangle in the model is encoded by storing

its geometry, including elevation, as well as its attributes. The connection between a node

of the DAG and the triangles removed and created in its corresponding update is encoded

by associating triangles to arcs incoming to and outgoing from the node, respectively (see

De Floriani et al. [12], and Magillo et al. [35], for further details). The storage cost of this

data structure is linearly proportional to the number of triangles of the MT: experimental

results show that it is about four times larger than the cost of a single resolution model

encoding just the TIN at the highest resolution available. Lighter data structures could be

adopted for special classes of MTs [13], [27], which strongly reduce the overhead

necessary to manage multiresolution. However, explicit encoding has been adopted in the

prototype of VARIANT for a number of reasons: it can encode an MT independently of the

technique used to build it, thus allowing us to experiment the system with different

construction techniques (see Section 7); it allows us maintaining details for all entities at

all levels of resolution in the model; and, last but not least, it is directly supported by our

object-oriented library for managing MT models [35], which is a suitable tool for fast

prototyping and transparent extension of the system.

5.2. Construction operations

An MT is built from a sequence of local updates, such as that generated by an incremental

technique of terrain generalization. Since many different techniques exist, and no one is

best for all applications, we have designed our system to be open to different construction

algorithms. In order to achieve this goal, we have included in the MT-manager only

generic mechanisms that build an MT data structure starting from a sequence of local

updates.

294 FLORIANI, MAGILLO AND PUPPO

The construction of a Multi-Triangulation is made off-line by modules of the outer

layer, called MT-generators, and involves two steps:

1. Generation of an initial TIN and of a sequence of updates which incrementally

re®ne it.

2. Computation of the partial order within the sequence of updates and construction of

the MT.

The MT-manager only provides operations that allow an MT-generator to record the

updates as they are performed, plus a single operation that automatically performs the

second step, thus transforming the sequence of recorded updates into an MT.

This mechanism is general enough to allow us to modify different iterative techniques

for terrain generalization into techniques for generating our multiresolution model,

without requiring any knowledge of the MT model and of its internal organization. These

issues are discussed further in Section 7.

5.3. Query operations

Basic queries on a terrain model include evaluating terrain characteristics at a given point

or inside a given region; extracting terrain pro®le along a given path (e.g., a river, a road);

windowing and buffering; extracting portions of terrain with a given elevation, or slope, or

having a given thematic attribute; etc. Multiresolution queries use resolution and/or

accuracy as a further parameter in computation. This means that, besides specifying the

subject of our query, we can also specify the desired resolution and/or accuracy of the

result, which can be possibly variable over the domain. In the following, we will refer

generically to the desired resolution and accuracy as Level of Detail (LOD).In general, a multiresolution query is speci®ed by two parameters:

1. A focus condition, which de®nes the portion of terrain relevant to the query, hereafter

called the Region of Interest (ROI). A focus condition is a Boolean function de®ned on

the triangles of an MT and assigning the value TRUE to a triangle if and only if it

belongs to the ROI. This may depend on a number of parameters, which can be used to

implement a speci®c condition, such as: spatial location, elevation, slope, ®eld value

(such as temperature, rainfall, etc.), attributes (such as soil type, land use, etc.): a

triangle satisfying a focus condition is called an active triangle.

2. A LOD threshold, which de®nes the level of detail of the TIN to be extracted. A LOD

threshold is a Boolean function de®ned on the triangles of an MT which assigns the

value TRUE to a triangle if and only if its level of detail is considered suf®cient. This

may depend on the position of the triangle in space, on its geometric properties (size,

shape), on its accuracy-related attributes (e.g., error made by approximating elevation,

or slope, or another ®eld of interest), etc. A triangle satisfying the resolution ®lter is

called a feasible triangle.

VARIANT: A SYSTEM FOR TERRAIN MODELING 295

The MT-manager provides just a general-purpose operation for multiresolution queries,

called TIN extraction, which performs selective re®nement on an MT, on the basis of given

focus condition and LOD threshold. TIN extraction returns a TIN describing (a portion of )

terrain according to user-de®ned criteria. The MT-manager supports two types of TIN

extraction:

* A global query, which extracts a TIN representing the whole terrain at a certain

resolution. The LOD threshold is the main parameter of the query, and the result is a

TIN made of triangles that are feasible with respect to the given threshold. A focus

condition may be eventually used as a ®lter in order to bound the application of LOD

threshold only to active triangles: triangles outside the region of interest are

considered feasible at an arbitrarily coarse resolution.* A local query, which extracts a TIN restricted to the Region of Interest (ROI), still at

variable resolution. Both focus condition and LOD threshold are taken as parameters

of the query, and the result is a TIN made of triangles that are both active and feasible,

i.e., that cover only the desired ROI at the desired LOD. In this case, the MT is used

not only as a mechanism to manage resolution, but also as a spatial indexing scheme.

Examples of TIN extraction are depicted in ®gure 5. Figure 5(a) shows a local query: the

ROI is a square box, and triangles inside it are required to be at the highest possible

resolution; ®gure 5(b) shows a global query in which resolution is the highest one for

triangles intersecting a given polyline, while it is arbitrarily low elsewhere.

Global queries are intended for applications that compute global information (e.g.,

computation of visibility maps on a terrain). Local queries are the basis for applications

that run geometric queries on a mesh (e.g., evaluation of a ®eld value or an attribute at a

point, or along a trajectory). Query mechanisms provided by the kernel are generic with

respect to the parameters that describe the level of detail and the region of interest.

Modules of the outer layer thus implement speci®c query operations on top of TIN

extraction by simply varying its parameters (see Sections 6 and 8).

Algorithms that implement TIN extraction reduce to traversing the DAG describing an

MT, in order to ®nd a closed subset of updates which provides a TIN having the required

properties. The MT-manager includes the following three algorithms, which are described

in detail in De Floriani et al. [12], and Magillo [34]:

* A static algorithm for global queries: this algorithm answers each new query

independently of the previous ones, and is suitable for single queries.* A dynamic algorithm for global queries: this algorithm answers a new query by

updating the solution of a previous query; it is suitable for repeated queries, when the

result of the new query slightly differs from the result of the previous one.* A local algorithm, suitable for local queries.

It is also possible to perform a global query and then select from the resulting set of

triangles just the ones that are active with respect to a given focus condition. In this way,

we can exploit the computational advantages of the dynamic algorithm in case of queries

296 FLORIANI, MAGILLO AND PUPPO

that have a local nature, but they must be repeated several times with just a few differences

between the results of two successive queries. Examples are visualization (see Section

8.1), interactive positioning of a window on a terrain, etc.

The TIN resulting from a query is returned either just as a list of triangles (each de®ned

by its three vertices), or in a more complete format including also triangle-to-triangle

adjacency relations. In the latter case, adjacency information is reconstructed on-the-¯y

during extraction. The ®rst format is suf®cient for simple applications such as

visualization. The latter format is useful for applications performing TIN analysis.

6. Query parameters

Speci®c multiresolution queries are obtained by suitable instantiation of the focus

condition and the LOD threshold in TIN extraction. Application programs in the outer

Figure 5. Two examples of TIN extraction. (a) Triangulation resulting from local query where the just the

terrain portion inside a rectangular window is extracted at the highest possible resolution. (b) Result of a global

query in which resolution is high only in the proximity of a polyline.

VARIANT: A SYSTEM FOR TERRAIN MODELING 297

layer (MT-clients) may either implement their speci®c queries directly, or make use of

parameters provided in a speci®c module of the outer layer, which implements a set of

prede®ned LOD thresholds and focus conditions.

In the current implementation, only a small number of LOD thresholds and focus

conditions are provided, which have been used to implement the applications described in

Section 8.

Focus conditions that depend on spatial location of triangles are provided. For each such

condition, only triangles intersecting a given spatial entity, either on the two-dimensional

terrain domain, or in the three-dimensional space, are active. The following spatial entities

have been considered as regions of interest:

* Points in 2-D (the terrain domain). This implements a point location query, and can

be used to evaluate local terrain characteristics (e.g., elevation and slope at a given

point).* Polylines in 2-D. These are used to get the terrain con®guration (pro®le) along a

relevant feature such as a road, a river, a boundary, etc.* Circles in 2-D, which are the basis for range queries. Getting the terrain con®guration

within a distance d from a given location reduces to a local query with a circular

region of interest.* Axis-parallel boxes, which implement window queries; boxes both in two-dimensions

(on the xy-plane) and in three dimensions (in the 3-D space) can be used.* Wedges, which have been used to implement the view frustum in terrain visualization

(see Section 8.1).* Horizontal planes at a given height, which are used for contour line extraction (see

Section 8.2).

Such focus conditions can be also combined with logical operators AND and OR, which

consider the intersection and the union, respectively, of the corresponding regions of

interest.

The following LOD thresholds that depend on position and elevation accuracy are

available:

* Constant LOD thresholds, expressed by means of a single real value which bounds

from above the elevation error admitted for a triangle.* LOD thresholds increasing with the distance from a reference point. The distance can

be evaluated either on the xy-plane, or in 3-D space. In both cases, the function

increases with the distance and it is de®ned by specifying: the reference point R; the

threshold value for elevation error in R; a reference distance d; the threshold value at

distance d from R; and the dependency law, which may be linear, or quadratic, or

exponential.

Additional LOD thresholds and focus conditions can be de®ned easily by using the

subclass mechanism of C� � in the context of the object-oriented library that is provided

to support system extensions [35].

298 FLORIANI, MAGILLO AND PUPPO

7. The MT-generators

An MT-generator is a program that incrementally modi®es a TIN through a sequence of

local updates, and converts such updates into an MT by calling the building operations

provided by the MT-manager.

Input is made of usual data available for a terrain: typically, a set of points sampled on

the terrain surface, plus possibly a set of line segments representing line features of the

terrain.

A speci®c MT-generator is characterized by:

* the approach followed in modifying an initial TIN, which can be either re®nement(i.e., from coarse to high resolution) or simpli®cation (i.e., from ®ne to coarse

resolution);* the kind of local update used;* the criterion adopted to select updates to be performed, which is often a consequence

of a speci®c measure of accuracy.

The speci®c characteristics of the update sequence affect the characteristics of the MT

produced (e.g., size of the data structure, speed in extraction, adaptivity to terrain features,

etc.). For preliminary results of a comparative study of techniques for building an MT, see

De Floriani et al. [11]. In the following, we brie¯y address the three items above in order to

clarify policies that can be adopted in writing an MT-generator, and how they can affect

the result.

7.1. Re®nement and simpli®cation techniques

Basic techniques for building an MT come directly from algorithms for terrain

generalization. There are two basic approaches:

* Re®nement methods start from a coarse TIN and improve resolution progressively by

iteratively applying updates that increase resolution locally. Examples of such

methods for terrain generalization have been proposed, e.g., [6], [20±21], [40]. The

initial coarse TIN can be built either by a triangulation of a small set of terrain features

extracted with some standard method from input data, as in [20], or simply by

triangulation of the polygon bounding the domain, as in [6]. In this case, the initial

TIN corresponds to the root of the corresponding MT, while the sequence of updates

provides information for building the MT nodes from coarse to ®ne resolution.* Simpli®cation methods start from a TIN at the highest possible resolution, directly

built on the whole data set, and coarsen resolution progressively by the iterative

application of updates that reduce resolution locally. Examples of such methods have

been proposed, e.g., [4], [26], [30]. In this case, the TIN resulting from the process

coincides with the root of the corresponding MT, while the sequence of updates

provides information for building the MT nodes from ®ne to coarse resolution. In this

VARIANT: A SYSTEM FOR TERRAIN MODELING 299

sense, a simpli®cation sequence can be also seen as a re®nement sequence played in

reverse.

There is no clear superiority of one such approach with respect to the other. In both

cases, it can be convenient to apply a sequence of batches of independent updates, rather

than a greedy sequence of single local updates [4]. This permits to improve the

performance of the MT as a spatial index (see De Floriani [11], for details). In VARIANT,

we provide a few MT-generators based on variants of both approaches.

7.2. Local updates

In general, a local update is described by two sets of triangles, each triangulating the same

region with a different number of triangles (the more numerous set giving the triangulation

at higher resolution). A speci®c MT-generator is usually characterized by the repeated

application of a speci®c pattern at each update. The most popular patterns are:

* Vertex insertion/deletion (see ®gure 6(a)): a re®nement update inserts a new vertex in

the data set and updates the TIN by eliminating a triangulated polygon in the area

surrounding the new vertex, and by ®lling the hole with a fan of triangles incident at

the new vertex [6], [20±21], [40]; a simpli®cation update works in reverse by

eliminating a vertex and its incident triangles ®rst, and triangulating the resulting hole

next [4], [30].* Edge collapse (see ®gure 6(b)): a simpli®cation update shrinks an edge of the TIN by

collapsing either one of its endpoints to the other endpoint, or both endpoints to a new

Figure 6. Update operators for a TIN. Each update can be applied in coarse-to-®ne direction, or in ®ne-to-

coarse direction.

300 FLORIANI, MAGILLO AND PUPPO

vertex lying along the edge; each of the two triangles incident at the edge collapses to

an edge, while the other triangles incident at its endpoints are warped consistently

[23], [26].

Also in this case, there is no clear superiority of one such approach with respect to the

other.

In VARIANT, we provide MT-generators based on the ®rst kind of local updates. It

would be simple to extend the system with more MT-generators of the second kind by

incorporating kernel primitives for building an MT into existing code for TIN

generalization.

To incorporate line features, which are crucial to a variety of applications, we also

provide a speci®c MT-generator that is based on simpli®cation through vertex deletion.

Input data are in the form of a set of points and a set of segments representing line features.

The algorithm starts from a triangulation of the domain containing all the given points and

line segments as vertices and edges, respectively, thus representing terrain and features at

their maximum resolution. Then, the algorithm deletes a vertex at each iteration, with the

constraint that a vertex lying on a line feature can be deleted only if it is shared by exactly

two feature edges. In this case, deleting the vertex simpli®es the shape of the line feature.

Additional constraints prevent degeneracies such as intersections between line features

during simpli®cation (see Magillo [34], for details).

7.3. Selection of updates and LOD criteria

A major aim of an MT-generator is to maintain overall information on terrain (both shape

and attributes) as accurate as possible at the coarsest level of detail already, while more

and more accurate descriptions are progressively stored in the higher levels of detail (i.e.,

at nodes that belong to deeper levels in the MT). The general policy to achieve this goal is:

in re®nement algorithms, to perform ®rst those updates which improve detail best; in

simpli®cation algorithms, to perform ®rst those updates which cause the least loss of

detail.

The concept of detail here may depend on different criteria, concerning either accuracy,

or resolution, or both, and it is application dependent. In particular, it is possible to

consider:

* The error in approximating terrain elevation: each triangle approximates a portion of

terrain, and its approximation error can be measured by the vertical distance between

the triangle and the data points spanned by the triangle (see ®gure 7).* The error in approximating terrain slope, which can be measured in a similar way at

each triangle, by comparing its slope with that of triangles representing the same

portion of terrain at the highest resolution.* The error in approximating some other ®eld de®ned on terrain, such as temperature,

rainfall, etc., still measured in a similar way.* The error in approximating line features de®ned by the data segments. This permits to

VARIANT: A SYSTEM FOR TERRAIN MODELING 301

incorporate a multiresolution representation of such lines within the MT (each feature

will be represented with a progressively larger number of segments across the various

levels of detail).* The error made in subsuming thematic attributes of terrain (such as soil type, land use,

etc.) represented by each triangle with a single attribute. This can be measured as the

area covered by the triangle having an attribute different from that stored at it.* The size of triangles, which can be expressed either by their area, or by their

perimeter, or by their longest edge, or by a combination of such values. This is a

criterion more related to resolution of representation, rather than to its accuracy.

Since different applications may be concerned with different concepts of detail, none of

the concepts listed above can be best for all applications. However, building a different

MT for every application would be impractical. On the contrary, a reference model can be

built by taking into account just one such criterion, or a combination of few of them. The

accuracy/resolution of each triangle of the model, according to the other criteria, can be

computed off-line after the model has been built, thus making it suitable to multiresolution

queries that need concepts different from those considered during construction. A practical

observation in support to such an approach is that even models built by random sequences

of updates do not perform dramatically worse than methods designed to ®t a given concept

of detail, as shown in De Floriani [11].

A general possibility would be to base MT construction only on resolution, which is a

concept intrinsic to geometry of each triangle, hence independent of applications. In fact,

accuracy, in any of the forms listed above, tends to increase with resolution. However,

triangles with the same resolution do not necessarily have the same accuracy. For instance,

a higher resolution is necessary in rough areas to achieve the same accuracy in elevation

for which a low resolution is suf®cient in ¯at areas (see ®gure 8).

For applications that are only concerned with terrain shape, we found that an MT-

generator designed to optimize elevation accuracy, possibly combined with preservation

of line features, works well. VARIANT provides MT-generators of this kind. For

Figure 7. The elevation error of triangle t is equal to the maximum vertical distance of p1; p2; p3; p4 from the

plane of t, and occurs at point p1.

302 FLORIANI, MAGILLO AND PUPPO

applications that need to work also with thematic attributes, it might be better to write new

MT-generators which combine also such concepts in selecting updates during

construction.

8. The MT-clients within variant

A naive use of MTs from any application handling terrain data consists simply of

extracting a TIN at a user-de®ned accuracy, and using it for subsequent processing (e.g.,

visualization, analysis, or simulation). In this case, a single TIN extraction is needed,

which is performed by using a selected focus condition and LOD threshold. This simple

feature is an improvement over the use of a terrain model at uniform resolution. However,

the true power of VARIANT is exploited by applications that make direct use of variable

resolution features to improve performance. In the following, we list some examples of

MT-clients that are meant to exploit such features.

8.1. Interactive terrain visualization

Realistic visualization of terrains is very important in ¯ight simulation and environmental

assessment. Skewed views of terrain may easily span a huge domain: for instance, the ®eld

of view from an airplane may extend on a range of several hundreds kilometers. If a terrain

model at very high resolution were used to visualize such kind of views, the number of

graphical primitives to be rendered would overwhelm even the performance of most

powerful graphical workstations. Moreover, resolution would be unnecessarily high on a

large portion of terrain, since the size on screen of any graphical primitive far from

viewpoint would become smaller than a pixel. On the other hand, if a generalized model

were used, at a resolution suf®ciently low to be managed by the rendering engine, the

visual quality of terrain close to the viewpoint would be highly degraded. Some

Figure 8. A TIN at uniform accuracy, measured by elevation error, but variable resolution. Note that bigger

triangles represent ¯at terrain areas.

VARIANT: A SYSTEM FOR TERRAIN MODELING 303

improvement may be obtained with the latter approach by a clever use of texture mapping

[2]. However, texture mapping cannot help with the shape degradation of silhouettes (e.g.,

ridges) and other important geometric features (e.g., cliffs, roads, rivers, etc.).

The performance of a visualization system can be improved enormously if a

representation at variable level of detail is used. In fact, this kind of solution is the

subject of a number of recent proposals in the literature [1], [4], [19], [27], [32], [44].

The general idea is to visualize a terrain model whose resolution is high close to the

viewpoint, while it progressively decreases with distance from it. Note that a different

model must be provided at each frame, since the viewpoint changes its position

continuously. Therefore, TIN extraction at variable resolution must be performed in real

time.

VARIANT includes a prototype visualization module which permits the interactive

visualization (i.e., over ten frames per second) of a terrain at variable resolution on low

cost platforms, such as PCs, already. This module allows the user to drive its viewpoint

through space to ¯y over the terrain.

At each frame, we apply the dynamic algorithm for global queries, and extract a TIN

covering the whole domain and obeying to a LOD threshold de®ned in the following way:

* Outside the view frustum, resolution can be arbitrarily coarse, since such parts of the

terrain do not contribute to the visible scene.* Inside the view frustum, resolution is maximum at the viewpoint, and decreasing

linearly with distance from it.

In this way, the LOD threshold varies at each frame, since it depends on the position of

the viewpoint. Therefore, the terrain model visualized is adaptively changed at each

viewpoint position. At each frame, the dynamic algorithm for TIN extraction starts from

the model corresponding to the previous frame, increasing detail where necessary, and

decreasing it where it is unnecessarily high. Triangles of the extracted TIN lying outside

the view frustum are culled prior to rendering.

Note that we could use alternatively a local algorithm for TIN extraction by providing

the view frustum as a ROI, since this automatically culls triangles outside the view

frustum. However, we found that the dynamic approach is faster, due to the computational

advantage of starting from a TIN that is very similar to that in output. Figure 9 shows the

portion of TIN extracted at a given frame rate, bounded to the view frustum, and a

corresponding perspective visualization. Note how the actual size of triangles increases

with distance from the viewpoint, while their apparent size on the screen is almost

uniform.

8.2. Contour lines

Contour maps are probably the most common way to visualize a terrain. A contour

corresponding to an elevation value h is the intersection between the terrain surface with

the horizontal plane of equation z � h. A contour map is formed by a collection of

304 FLORIANI, MAGILLO AND PUPPO

contours at different elevations, where each line is labeled with its elevation. In the context

of a TIN model, each contour consists of a set of polylines.

Without lack of generality, we assume to deal with the extraction of a single contour, at

elevation h. Contour lines are computed on a TIN by selecting the triangles containing the

given elevation h, ®nding one segment for each of such triangles, corresponding to the

intersection with plane z � h, and then linking the resulting segments into polylines.

We use the MT as a spatial index to select just the relevant triangles for a contour. To

this aim, we use a uniform LOD threshold to select the desired accuracy of the map, and a

focus condition that considers a triangle active if and only if it intersects the plane z � h.

In order to avoid missing some intersection, we arti®cially assume that a triangle t spans

elevation h if plane z � h either intersects t, or its vertical distance from t is smaller than

the elevation error associated with t (see ®gure 10). The latter situation corresponds to the

cases in which t does not contain h, but some triangle re®ning t may contain it. Intuitively,

we can imagine that every triangle t is thickened for an amount equal to its approximation

error in order to test the focus condition.

Figure 10. (a) Triangle t: abc is considered as active since plane z � h has a distance from t less than the

approximation error; (b) triangles re®ning t actually intersect plane z � h; (c) the MT node re®ning t.

Figure 9. (a) A TIN used for interactive terrain visualization, clipped at the view frustum, and (b) the

corresponding view of terrain.

VARIANT: A SYSTEM FOR TERRAIN MODELING 305

Each triangle returned by the query algorithm which contains the given elevation is

post-processed in order to compute the segment that represents its contribution to the

countour. Contour segments sharing an endpoint are then connected into chains. Note that

two segments may have a common endpoint only if they belong to adjacent triangles. In

order to ef®cently ®nd contour segments that need to be connected to each other, the TIN

extraction algorithm generates adjacency relations among the triangles of the output mesh.

In order to compute a contour map de®ned by a sequence h1; . . . ; hk of elevation values,

two approaches can be used:

1. A single query is used to retrieve all the triangles relevant to at least one elevation hi,

by instantiating a suitable focus condition. Then, each triangle is intersected with the

appropriate planes in order to generate the contour lines.

2. An individual query is used for each elevation hi, which is iterated for all values

i � 1 . . . k.

Since a representation of the terrain outside the contours is not of interest, to perform the

®rst approach we prefer a local query algorithm which extracts only triangles that are

active for the given contour values (see ®gure 11(b)).

The second approach can be implemented in a similar way by using a separate local

query for each contour value. However, if the given elevations are dense enough, the

change in the relevant set of triangles when passing from hi to hi� 1 is small, and an

approach based on the dynamic algorithm for global query is more convenient. In this

case, the focus condition is used to ®lter triangles which are required to satisfy the LOD

threshold. The result of a global query for a given value is depicted in ®gure 11(a).

Table I compares the results obtained by using the ®rst approach and the two versions of

the second approach, as outlined above. As a measure of the cost of the process, the table

shows the number of triangles visited by the TIN extraction algorithms while visiting the

DAG. The ®rst approach turns out to be the least expensive one. As expected, the version

of the second approach which uses a collection of local queries is appropriate when the gap

between two consecutive elevations in the sequence is large, while the version using a

dynamic global algorithm becomes more convenient as the gap becomes smaller.

8.3. Visibility

VARIANT includes MT-clients which compute various types of visibility information on

a terrain, as described in the following subsections.

8.3.1. Point-to-point visibility. Two points p1 and p2 lying on or above a terrain are

mutually visibile if terrain pro®le along the interior of segment p1p2 lies below p1p2.

A point-to-point visibility query on a TIN can be solved by reducing it to an intersection

query: we search for all the triangles which intersect segment p1p2 or lie above it (in three-

dimensional space). The two points are mutually visible if the result of the query is empty

(see ®gure 12).

306 FLORIANI, MAGILLO AND PUPPO

An MT can be used as a spatial index in point-to-point visibility queries, in order to

extract just the triangles which, for their spatial location, are relevant for the solution. In

this case, the algorithm for local query is used, by setting the unbounded vertical trapezoid

extending upwards from segment p1p2 as region of interest. As in the case of contour lines,

in order to ensure that no intersection is lost, we must test the intersection of an MT

triangle t with such ROI by considering t ``fattened'' vertically for a thickness equal to its

approximation error.

Queries can be made either at full resolution (in this case, spatial indexing is the only

role played by the MT), or according to a LOD threshold corresponding to a given uniform

Figure 11. (a) Computation of a single contour from a TIN extracted through a global query; note that triangles

tend to be larger outside the region of interest. (b) Computation of a contour map for 10 elevations through a

local query; only triangles relevant to the contours are generated.

VARIANT: A SYSTEM FOR TERRAIN MODELING 307

elevation error e. In the latter case, the answer is subject to a given uncertainty, which can

be measured in order to produce a fuzzy model of visibility. To this aim, we do the

following. The answer to the local query identi®es a polyline l representing the upper

pro®le of the terrain portion intersected by the region of interest. The elevation of such

polyline is known with an accuracy of e. This means that the true terrain pro®le may lie in a

band of thickness 2e obtained by shifting the extracted pro®le by an offset e above and

below along the vertical axis (see ®gure 13).

Let lu and ll be the upper and lower boundaries of such a band. If all points of segment

p1p2 lie above lu the two points are certainly visible: we say that p1p2 have a visibility

value 1. If some point of p1p2 lies below ll they are certainly not visible: in this case their

visibility value is 0. Otherwise, we assign to the segment a visibility value between 0 and

Figure 12. Points p1 and p2 are not mutually visible since the straight-line segment connecting them lies

partially below the TIN.

Table 1. Number of visited triangles in extracting the triangles needed for computing a contour map. Evenly

spaced elevations have been used: k is their number, and the ``gap'' is the height difference between two

consecutive elevations. For approach 2, the total number of triangles visited in all queries is shown.

Approach 1

(One Query)

Approach 2

(Multiple Queries)

k Gap Local Local Dynamic

5 200 35,704 41,036 127,158

10 100 61,244 82,629 177,613

20 50 89,694 166,616 211,326

40 25 107,163 334,204 225,833

45 22 108,522 378,139 226,259

50 20 110,118 417,037 227,577

66 15 112,402 555,773 229,761

100 10 114,432 834,045 230,901

200 5 115,997 1,667,575 232,557

308 FLORIANI, MAGILLO AND PUPPO

1, computed as follows: we take the point of ll that has the smallest vertical distance from

p1p2, let d be such a distance. Then the visibility value for p1p2 is given by d2e.

8.3.2. Viewshed computation. Computing the viewshed of a given viewpoint v on a

TIN T consists of determining the portions of each triangle of T that are visible from v.

The problem of viewshed computation has been extensively studied for TINs, and for

general three-dimensional scenes. Viewsheds can be computed from an MT by extracting

®rst a TIN at the desired resolution, and then applying one of the existing viewshed

algorithm for TINs (see Floriani and Magillo [8], for a survey).

The most popular viewshed algorithms for TINs traverse the triangles in a front-to-back

order with respect to the given viewpoint and compute the visible and invisible portions of

each triangle directly during such traversal. They exploit the fact that a triangle s can only

be obscured by triangles that precede it in the front-to-back order; thus, when s is

traversed, we already have all necessary information to determine the visibility situations

of s.

Viewshed computation is an expensive task since the worst-case space complexity of

the viewshed can be as high as O�n2� for a TIN with n vertices [3]. Thus, we can save time

and computation resources by computing it on a terrain representation at a reduced

resolution. In general, visibility computations are sensitive to elevation errors near the

viewpoint; therefore it is recommended to ensure a suf®cient accuracy near the viewpoint,

and decrease it progressively with distance [18].

The LOD threshold we use for viewshed computation is similar to that used in

interactive terrain visualization. Given a generic point � p [R2, we denote with d the

distance of p from the viewpoint v. Our threshold increases linearly with d.

Figure 13. The three possible situations for a pair of points on a terrain (certainly visible, certainly invisible,

uncertain). The dashed line is the pro®le of the extracted TIN, the continuous lines mark the upper and lower

boundaries of the band.

VARIANT: A SYSTEM FOR TERRAIN MODELING 309

A global query is performed in order to extract a TIN representing the whole terrain

according to the variable-resolution criteria illustrated above. On such TIN, a viewshed

algorithm is then applied. Since viewshed algorithms need adjacency information for the

TIN on which they operate, such information is generated within the extraction algorithm.

The viewshed of a terrain is usually computed for either a ®xed viewpoint, or for a ®xed

set of viewpoints (e.g., a set of facilities such as transmission or monitoring stations on a

terrain). If the viewshed is computed just once, then the corresponding TIN can be

extracted by applying a static query algorithm (which requires less memory).

In some situations, however, it might be useful to compute the viewshed initially on a

rather rough terrain representation, and then re®ne it interactively in some interesting areas

that are determined based on the initial sketch of the distribution of visible and invisible

terrain areas. In such cases it is necessary to modify the error threshold function and

extract a new TIN. For instance, if the user decides to re®ne the viewshed in a speci®c area

A of the terrain, then the LOD threshold must be rede®ned in such a way that it gives

smaller values (i.e., it requires a more accurate representation), for all view directions

intersecting A. Thus, the expression of the LOD threshold becomes dependant on the the

angular position of point p with respect to the viewpoint v (see ®gure 14).

As the user shrinks its target area A, a new TIN must be extracted and the corresponding

viewshed must be computed. In such a context, it is interesting to use a dynamic TIN

extraction combined with a dynamic viewshed algorithm. Dynamic viewshed algorithms

maintain the visible portions of a set of triangles under on-line insertion and deletion of

triangles [10], [14]. If we record the changes in the extracted TIN (i.e., the set of triangles

that disappear and the ones that replace them), we can avoid recomputing the viewshed

from scratch, and instead use a dynamic viewshed algorithm to update it by removing the

contribution of the old triangles and inserting that of the new triangles.

A similar approach as the one illustrated above can be used to compute the horizon of a

viewpoint on a terrain. The horizon [3], corresponds to the distal boundary of the visible

area from the viewpoint in all directions. On a TIN, the horizon becomes a chain of

portions of triangle edges, radially sorted around the viewpoint. Similar LOD thresholds as

Figure 14. If A is an area of interest where the viewshed must be re®ned, then the LOD threshold requires a

higher resolution for points p having an angular position y1 � y � y2 with respect to the viewpoint v.

310 FLORIANI, MAGILLO AND PUPPO

those discussed for viewsheds can be used for extracting a TIN from an MT, and existing

horizon algorithms are then applied to such TIN. As in the case of viewsheds, a dynamic

approach can be used to interactively re®ning an initially sketched horizon.

9. Conclusions and future work

The systematic use of a multiresolution approach in handling and processing terrain data

can improve the performance of several applications in terrain analysis and visualization.

VARIANT directly supports the management of resolution on terrain data. Being an open

as well as extensible system, it allows users to write applications that access data at

different resolution, possibly variable over the domain, in a transparent way.

The applications described in this paper already demonstrate the power of the system.

However, many other applications can be developed on top of it, through the programming

interface offered by the software library for managing Multi-Triangulations [35].

An application that we wish to tackle in the near future in this context is the computation

of optimal paths. Paths can be de®ned on terrain according to various optimality criteria,

e.g., paths of minimum length, paths with minimum variation in height, with minimum

slope along the path, paths avoiding or preferring certain types of soil [5], [29], [45].

Multiresolution can help optimization tasks since it naturally supports a hierarchical

approach in computation: a rough candidate solution, obtained from a model at low

resolution, is progressively re®ned while reasoning on models at increasingly high

resolution, which can be re®ned selectively only in regions of interest.

The current implementation of VARIANT is just a prototype that needs some

restructuring in order to become an effective and ef®cient manager of a real terrain

database, possibly at a global scale. We plan to restructure the system kernel, without

modifying its programming interface in the following aspects:

* By developing a more ef®cient data structure for primary memory. This is possible, for

instance, by restricting the multiresolution model underlying the system to those

Multi-Triangulations that are built through speci®c types of local updates, such as

vertex insertion/deletion or edge collapse. In the former case, we have already

developed a speci®c data structure that drastically reduces the overhead due to

multiresolution structures [13], and also supports a networked implementation of the

system. Besides, a corresponding MT generator is already available in the system. In

the second case, a similar data structure can be developed, by exploiting basic

structures described in [27], and we are already working on the development of MT

generators based on edge collapses, that operate bottom-up.* By developing a mechanism for managing Multi-Triangulations in secondary memory.

This problem is of fundamental importance in order to deal with huge amounts of data,

especially in the case of a global terrain database. We have already developed a

technique that, given a large MT on disk, can load just a part of it, and then can apply

query algorithms in main memory to the loaded part. The method is based on splitting

an MT into parts which are still MTs and which can be loaded separately. Algorithms

VARIANT: A SYSTEM FOR TERRAIN MODELING 311

have been designed for selecting the parts of the splitted MT which must be loaded for

answering a given local query [36]. A corresponding MT generator has also been

designed, which is aimed at building the model by processing different subsets of the

whole data set separately.* By supporting the update of an existing data base with insertion of additional data.

Since our ultimate goal would be to have a global terrain database, represented with a

Multi-Triangulation and accessed through the VARIANT interface, it is important to

provide the system with mechanisms for updating the models each time new data are

made available. This is a non-trivial problem that needs different solutions depending

on the resolution/accuracy of the new data and on whether new data span the same

domain or a different domain that those already in the database.

Acknowledgments

This work has been partially supported by the project ``A Library for Applications in

Geometric Modeling'' and by the project ``Systems for Geometric Modeling'' of the

Italian National Research Council.

References

1. P. Cignoni, E. Puppo, and R. Scopigno. ``Representation and visualization of terrain surfaces at variable

resolution,'' in Proceedings Scienti®c Visualization '95, 50±68. World Scienti®c, 1995. Extended version

appeared in The Visual Computer, Vol. 13:199±217, 1997.

2. P. Cignoni, C. Montani, C. Rocchini, and R. Scopigno. ``A general method for recovering attribute values on

simpli®ed meshes,'' in Proceedings Visualization '98, 59±66, ACM Press: Research Triangle Park (NC),

1998.3. R. Cole and M. Sharir. ``Visibility problems for polyhedral terrains,'' Journal of Symbolic Computation,

Vol. 17:11±30, 1989.

4. M. de Berg and K. Dobrindt. ``On levels of detail in terrains,'' in Proceedings 11th ACM Symposium onComputational Geometry, C26±C27, ACM Press: Vancouver (Canada), 1995.

5. M. de Berg and M. van Kreveld. ``Trekking in the alps without freezing or getting tired,'' Algorithmica,

Vol. 18:306±323, 1997.

6. L. De Floriani, B. Falcidieno, and C. Pienovi. ``Delaunay-based representation of surfaces de®ned over

arbitrarily shaped domains,'' Computer Vision, Graphics, and Image Processing, 32:127±140, 1985.

7. L. De Floriani. ``A pyramidal data structure for triangle-based surface description,'' IEEE ComputerGraphics and Applications, Vol. 8(2):67±78, 1989.

8. L. De Floriani and P. Magillo. ``Visibility algorithms on triangulated terrain models,'' International Journalof Geographic Information Systems, Vol. 8(1):13±42, 1994.

9. L. De Floriani and E. Puppo. ``Hierarchical triangulation for multiresolution surface description,'' ACMTransactions on Computers, Vol. 14(4):363±411, 1995.

10. L. De Floriani and P. Magillo. ``Updating visibility information on multiresolution terrain models,'' in

W. Kuhn and A.U. Frank, ``Spatial information theory a theoretical basis for GIS,'' Lecture Notes in

Computer Science, Vol. 988, 279±296. Springer-Verlag: Berlin-Heidelberg, 1995.

11. L. De Floriani, P. Magillo, and E. Puppo. ``Building and traversing a surface at Variable Resolution,'' in

Proceedings IEEE Visualization 97, 103±110, Phoenix, AZ (USA), 1997.

312 FLORIANI, MAGILLO AND PUPPO

12. L. De Floriani, P. Magillo, and E. Puppo. ``Ef®cient implementation of multi-triangulations,'' in

Proceedings IEEE Visualization 98, 43±50, Research Triangle Park, NC (USA), 1998.

13. L. De Floriani, P. Magillo, F. Morando, and E. Puppo. ``Dynamic view-dependent multiresolution

on a client-server architecture,'' CAD Journal, Special Issue on Multiresolution Geometric Models, Vol.

32(13):805±823, 2000.

14. K. Dobrindt and M. Yvinec. ``Remembering con¯icts in history yields dynamic algorithms,'' in K.W., Ng,

P. Raghavan, N.V. Balasubramanian and F.Y.L. Chin (Eds.), Algorithms and Computation, number 762 in

Lecture Notes in Computer Science, 21±30. Springer-Verlag: Hong Kong, 1993.

15. I.J. Dowman. ``Encoding and validating data from maps and images,'' in P.A. Longley, M.F. Goodchild,

D.J. Maguire, and D.W. Rhind, (Eds.), Geographical Information Systems, Vol.1, Chapter 31, 437±450.

John Wiley and Sons, New York, 1999.

16. M. Duchaineau, M. Wolinsky, D.E. Sigeti, M.C. Miller, C. Aldrich, and M.B. Mineed-Weinstein.

``ROAMing terrain: Real-time optimally adapting meshes,'' in Proceedings IEEE Visualization '97, 81±88,

1997.

17. W. Evans, D. Kirkpatrick, and G. Townsend. ``Right triangular irregular networks,'' Algorithmica, to

appear.

18. J.P. Felleman and C. Grif®n. ``The role of error in GIS-based viewshed determinationÐa problem

analysis,'' Technical Report EIPP-90-2, Institute for Environmental Policy and Planning, State University of

New York, 1990.

19. FlyAway. Software package developed by G. Loercher, T. Huetter. Institute for Computer Graphics WSI/

GRIS, University of Tuebingen, Germany. http://www.gris.uni-tuebingen.de/people.staff/¯yaway/

index.html.

20. R.J. Fowler and J.J. Little. ``Automatic extraction of irregular network digital terrain models,'' ACMComputer Graphics (SIGGRAPH '79 Proceedings), Vol. 13(3):199±207, 1979.

21. W.R. Franklin. ``Triangular irregular networks to approximate digital terrains,'' Technical report, ECSE

Department, Rensselaer Polytechnic Institute, Troy, NY, 1994.

22. M. Garland and P.S. Heckbert. ``Fast polygonal approximation of terrains and height ®elds,'' Technical

Report CMU-CS-95-181, School of Computer Sciences, Carnegie Mellon University, Pittsburgh, PA, USA,

1995.

23. M. Garland and P.S. Heckbert. ``Surface simpli®cation using quadric error metrics,'' Comp Graph. Proc.,Annual Conf. Series (Siggraph '97), ACM Press. 209±216, 1997.

24. D. Gomez and A. Guzman. ``Digital model for three-dimensional surface representation,'' Geo-Processing,

Vol. 1:53±70, 1979.

25. B. Hamann. ``A data reduction scheme for triangulated surfaces,'' Computer Aided Geometric Design,

Vol. 11(2):197±214, 1994.

26. H. Hoppe. ``Progressive meshes,'' in ACM Computer Graphics Proceedings, Annual Conference Series

(SIGGRAPH '96), 99±108, 1996.

27. H. Hoppe. ``Smooth view-dependent level-of-detail control and its application to terrain rendering,'' in

Proceedings IEEE Visualization '98, 35±42, IEEE Comp. Soc. Press: Research Triangle Park, NC, 1998.

28. R. Klein and W. Straûer. ``Generation of multiresolution models from CAD data for real time rendering,'' in

R. Klein, W. Straûer, and R. Rau, (Eds.), Theory and Practice of Geometric Modeling (Blaubeuren II).

Spinger-Verlag: Berlin-Heidelberg, 1997.

29. M. Lanthier, A. Maheshwari, and J.R. Sack. ``Approximating weighted shortest paths on polyhedral

surfaces,'' in Proceedings ACM Symposium on Computational Geometry, Nice, France, 1997.

30. J. Lee. ``A drop heuristic conversion method for extracting irregular networks from digital elevation

models,'' in Proceedings GIS/LIS'89, 30±39, Orlando, FL, USA, 1989.

31. P. Lee. ``Comparison of existing methods for building triangular irregular network models of terrain from

grid digital elevation models,'' International Journal of Geographic Information Systems, Vol. 5(3):267±

285, 1991.

32. P. Lindstrom, D. Koller, W. Ribarsky, L.F. Hodges, N. Faust, and G.A. Turner. ``Real-time, continuous level

of detail rendering of height ®elds,'' in Comp. Graph. Proc., Annual Conf. Series (SIGGRAPH '96), ACM

Press: 109±118, New Orleans, LA, USA, 1996.

VARIANT: A SYSTEM FOR TERRAIN MODELING 313

33. M. Lounsbery, T.D. DeRose, and J. Warren. ``Multiresolution analysis for surfaces of arbitrary topological

type,'' ACM Transactions on Graphics, Vol. 16(1):34±73, 1997.

34. P. Magillo. ``Spatial operations on multiresolution cell complexes,'' PhD thesis, Dept. of Computer and

Information Sciences, University of Genova (Italy), 1999.

35. P. Magillo, L. De Floriani, and E. Puppo. ``A dimension-independent library for building and manipulating

multiresolution triangulations,'' Technical Report DISI-TR-99-03, Department of Computer and

Information Science, University of Genova (Italy), 1999.

36. P. Magillo and V. Bertocci. ``Managing large terrain data sets with a multiresolution structure,'' in

Proceedings International Workshop on Advanced Spatial Data Management, Greenwich, UK, 2000.

37. A. Maheshwari, P. Morin, and J.-R. Sack. ``Progressive TINs: Algorithms and applications'' in Proceedings5th ACM Workshop on Advances in Geographic Information Systems, Las Vegas, 1997.

38. E. Puppo. ``Variable resolution terrain surfaces,'' in Proceedings Eight Canadian Conferenceon Computational Geometry, 202±210, Ottawa, Canada, 1996. Extended version appeared under the

title ``Variable resolution triangulations,'' in Computational Geometry Theory and Applications,Vol. 11(3±4):219±238, 1998.

39. R.J. Renka and A.K. Cline. ``A triangle-based C1 interpolation method,'' Rocky Mountain Journal ofMathematics, Vol. 14(1):223±237, 1984.

40. S. Rippa. ``Adaptive approximations by piecewise linear polynomials on triangulations of subsets of

scattered data,'' SIAM Journal on Scienti®c and Statistic Computing, Vol. 13(1):1123±1141, 1992.

41. H. Samet. Applications of Spatial Data Structures. Addison Wesley: Reading, MA, 1990.

42. H. Samet. The Design and Analysis of Spatial Data Structures. Addison Wesley: Reading, MA, 1990.

43. G. Taubin, A. Gueziec, W. Horn, and F. Lazarus ``Progressive forest split compression,'' in ComputerGraphics (SIGGRAPH '88 Proceedings), 123±132, ACM Press, 1998.

44. Topovista. Software package developed by W. Evans, G. Townsend. Computer Science Department,

University of Arizona, USA. http://www.cs.arizona.edu/topovista/index.html.

45. M. van Kreveld. ``On quality paths on polyhedral terrains,'' in J. Nievergelt, H.J. Roos, T. amd Schack, and

P. Widmayer, Lecture Notes in Computer Science, Vol. 884, 113±122. Springer-Verlag, 1994. ProceedingsIGIS'94: Geographic Information Systems.

46. J.C. Xia, J. El-Sana, and A. Varshney. ``Adaptive real-time level-of-detail-based rendering for polygonal

models,'' IEEE Transactions on Visualization and Computer Graphics, Vol. 3(2):171±183, 1997.

Leila De Floriani is professor of Computer Science at the University of Genova, Italy. She received an

advanced degree in Mathematics from the University of Genova in 1977. From 1977 to 1981 she was a research

associate at the Institute for Applied Mathematics of the Italian National Research Council in Genova, and from

1981 to 1982 an Assistant Professor at the Department of Mathematics of the University of Genova. From 1982 to

1990 she has been a senior scientist at the Institute of Applied Mathematics of the Italian National Research

Council. She is leading several national and EEC projects on algorithms and data structures for representing and

manipulating geometric data.

Leila De Floriani has written over 90 technical publications on the subjects of computational geometry,

geometric modeling, algorithms and data structures for spatial data handling and graph theory. She is a member of

the Editorial Board of the journals International Journal of Geographic Information Systems and Geoinformatica.

314 FLORIANI, MAGILLO AND PUPPO

Her present research interests include geometric modeling computational geometry, spatial data handling for

geographic information systems. Leila De Floriani is a member of ACM, IEEE Computer Society, and

International Association for Pattern Recognition (IAPR).

Paola Magillo received an advanced degree in Computer Science at the University of Genova, Genova (Italy),

in 1992, and a PhD in Computer Science, at the same university, in 1999. In 1993, she was research associate at

the ``Institut National de Recherche en Informatique et Automatique'' (INRIA), Sophia Antipolis (France),

working with the research group of J. D. Boissonnat. Since December 1993, she has been working as a researcher

at the Department of Computer and Information Sciences (DISI) of the University of Genova, where she got a

permanent position in 1996. Her research interests include computational geometry, geometric modeling,

geographic information systems and computer graphics. Since November 1995, she has been a member of the

International Association for Pattern Recognition (IAPR).

Enrico Puppo is associate professor of computer science at the Department of Computer and Information

Sciences of the University of Genova, where he is member of the Geometric Modeling and Computer Graphics

Group.

He received a Laurea in Mathematics from the University of Genova, Italy, in March 1986. From April 1986 to

October 1998 he has been research assistant (until November 1988), and research scientist (from December 1988)

at the Institute for Applied Mathematics of the National Research Council of Italy. In different periods between

1989 and 1992, he has been visiting researcher at the Center for Automation Research of the University of

Maryland. Since 1994 he has had a research collaboration with the Visual Computing Group at the IEI/CNUCE-

CNR of Pisa.

Enrico Puppo has written about 60 technical publications on the subjects of algorithms and data structures for

spatial data handling, geometric modeling, computational geometry, parallel algorithms, and image processing.

His current research interests are in multiresolution modeling, geometric algorithms and data structures, and

object reconstruction, with applications to computer graphics, geographical information systems, scienti®c

visualization, and computer vision.

He is a member of ACM, the IEEE Computer Society, and the International Association for Pattern Recognition

(IAPR).

VARIANT: A SYSTEM FOR TERRAIN MODELING 315