15
Multi-Scale Geographic Maps Raquel Via˜ na 1 , Paola Magillo 2 , and Enrico Puppo 2 1 Department of Mathematics, University of Alcala, Spain [email protected] 2 Department of Computer Science(DISI), University of Genova, Italy {magillo|puppo}@disi.unige.it Summary. We consider geographic maps represented as plane graphs, which un- dergo a process of generalization performed through sequences of local updates. Generalization transforms a highly detailed map into one with fewer details, span- ning many different scales of representation through the sequence of updates. We study intrinsic dependency relations among updates in the sequence and, on this ba- sis, we derive a multi-scale model that supports efficient retrieval of maps at different scales, possibly variable through the domain. 1 Introduction We consider geographic maps represented in vector format, i.e., where spatial entities are represented explicitly as the elements (points, lines, regions) of a plane graph. Modern Geographic Information Systems (GISs) deal with maps at different scales, which can ideally span from a global (worldwide) scale to a very local (single house) scale. In this context, the concept of scale is related to the amount of information and the level of detail of entities represented in a map for a given area, rather than to the classical ratio between the size of objects in a paper map and the size of real entities they represent. A GIS should be able to relate representations of the same entity at different scales, and possibly to dynamically generate variable-scale maps, according to user needs. For instance, a variable-scale map may contain more detail for a certain class of entities (e.g., rivers, roads, property boundaries, etc.), as shown in Fig. 1(b), or in a given focus area, as shown in Fig. 1(c). As far as we know, commercial databases have no consistent combinatorial treatment of multi-scale maps. Usually, collections of maps at different scales are maintained, and each map is treated as a whole. Links between a map and its corresponding maps at higher/lower scales are maintained through geo-referencing, but no links are present among different representations of the same spatial entity at several levels of detail. There are several appli- cations available on the Internet (www.multimap.com, www.mapquest.com, etc.) which are based on this principle.

Multi-Scale Geographic Maps

Embed Size (px)

Citation preview

Multi-Scale Geographic Maps

Raquel Viana1, Paola Magillo2, and Enrico Puppo2

1 Department of Mathematics, University of Alcala, [email protected]

2 Department of Computer Science(DISI), University of Genova, Italy{magillo|puppo}@disi.unige.it

Summary. We consider geographic maps represented as plane graphs, which un-dergo a process of generalization performed through sequences of local updates.Generalization transforms a highly detailed map into one with fewer details, span-ning many different scales of representation through the sequence of updates. Westudy intrinsic dependency relations among updates in the sequence and, on this ba-sis, we derive a multi-scale model that supports efficient retrieval of maps at differentscales, possibly variable through the domain.

1 Introduction

We consider geographic maps represented in vector format, i.e., where spatialentities are represented explicitly as the elements (points, lines, regions) of aplane graph. Modern Geographic Information Systems (GISs) deal with mapsat different scales, which can ideally span from a global (worldwide) scale to avery local (single house) scale. In this context, the concept of scale is relatedto the amount of information and the level of detail of entities representedin a map for a given area, rather than to the classical ratio between thesize of objects in a paper map and the size of real entities they represent. AGIS should be able to relate representations of the same entity at differentscales, and possibly to dynamically generate variable-scale maps, accordingto user needs. For instance, a variable-scale map may contain more detail fora certain class of entities (e.g., rivers, roads, property boundaries, etc.), asshown in Fig. 1(b), or in a given focus area, as shown in Fig. 1(c).

As far as we know, commercial databases have no consistent combinatorialtreatment of multi-scale maps. Usually, collections of maps at different scalesare maintained, and each map is treated as a whole. Links between a mapand its corresponding maps at higher/lower scales are maintained throughgeo-referencing, but no links are present among different representations ofthe same spatial entity at several levels of detail. There are several appli-cations available on the Internet (www.multimap.com, www.mapquest.com,etc.) which are based on this principle.

nad10
Final proof — for checking by the authors To appear in: "Advances in Multiresolution for Geometric Modelling", N. A. Dodgson, M. S. Floater, M. A. Sabin (eds.), Springer-Verlag, 2004

104 Raquel Viana, Paola Magillo, and Enrico Puppo

(a) (b) (c)

Fig. 1. (a) The Iberian peninsula. (b) The level of detail has been increased in oneof the countries, showing its main roads. (c) Detail has been increased in the areaoutlined in (b).

Multi-scale representation provides a support for progressive and selectivetransmission of vector maps over a network (e.g., to download a map fromthe Web). Progressive transmission consists of sending a coarse map first,followed by details which incrementally improve its level of detail. It can alsobe seen as a form of map compression. Selective transmission allows the userto concentrate the transmission of details in some parts of the map. In [4] amethod is proposed for the progressive transmission of a set of lines on thebasis of the Douglas-Pucker simplification algorithm [6]. This algorithm doesnot guarantee, however, the topological consistency of the simplified model.This problem has been addressed in [2, 8]. Based on such ideas, in [3] a solutionfor progressively transmitting geographic maps in vector format is proposed.It is a hierarchical model maintaining vertical links between representationsof the same entity on two consecutive levels. Its main drawback is that it doesnot support selective refinement.

In previous work [8], it has been shown that maps at a small scale (i.e.,low level of detail) can be generalized to a larger scale (i.e., higher level ofdetail) through a restricted set of operators that modify the map. Based onsuch representation and set of operators, we develop here a combinatorialframework to represent multi-scale maps. Such a framework is inspired by theMulti-Triangulation, proposed in [9], which encompasses a variety of modelsdeveloped in the literature to represent surfaces and scalar fields at multiplelevels of detail through meshes of triangles [5]. Multi-scale representation ofmaps introduces, however, new issues due to the fact that each element ina map has its own identity and semantics, whereas the elementary patches(simplexes) used to describe a surface are just parts of a whole.

The rest of this paper is organized as follows. Section 2 introduces basicdefinitions, Section 3 defines the atomic updates we use to change the scale ofa map, Sect. 4 defines a dependency relation among updates, Sect. 5 defines amulti-scale model for maps, and, finally, Section 6 contains some concludingremarks and directions for future developments of the work.

Multi-Scale Geographic Maps 105

2 Map Representation Through Plane Graphs

A vector map M can be represented effectively as a plane graph, i.e., a setof points and a set of lines that are the geometric realization in the planeof a graph where no two lines can intersect, except at their endpoints. Theconnected components of the plane obtained by removing the points and linesof M are the regions of M . The boundary of a region is formed by the pointsand lines delimiting it, and is classified into proper boundary and features.The proper boundary of a region is formed by those points and lines whichbound both it, and at least another different region. It is formed by one outerboundary, and zero or more inner boundaries. The features of a region arethose points and lines bounding the region, and not being on the boundaryof any other region. Irregular situations, such as regions with holes, isolatedpoints, and feature lines dangling inside regions occur in practice and admita representation in this model.

In the remainder, we will use the term entity to denote a point, a line, ora region of a map. An entity (line or region) and another one (point or line)bounding it are said to be mutually incident. We refer to [8] for more detailson this representation.

3 Update Operations on a Map

An abstraction update u on a map M is a function between the entities of Mand the entities of another map M ′. Given an entity e in M ′, we call e anabstracted entity through u if its inverse image contains more than one entityof M . Update u is said to be atomic it there exists exactly one abstractedentity e through u in M ′, and every entity in M which does not belong to theinverse image of e is transformed by u onto the same entity in M ′.

A function which maps the set of entities of a map M onto the set ofentities of another map M ′ is said to be consistent if it is surjective, monotonic,and preserves connected sets of entities by inverse image [1]. For a consistentfunction to be an abstraction update, the function must also be strictly non-injective.

In [8], a set of seven functions called atomic abstraction updates were de-fined, which have been proven in [1] to be necessary and sufficient to generateall consistent combinatorial transformations between maps. The formal proofis based on a categorical framework; specifically on the analysis of the cate-gory formed by all possible combinatorial maps, and all valid morphisms thatgeneralize such maps. These operators provide a basis for building multi-scalemodels which guarantee to preserve the topological consistency of a map.

We are interested in a model in which details are either added or discardeddepending on the user requirements, while maintaining the overall structureconsistent. In order to obtain this, we define the inverse transformation ofeach atomic abstraction update, that we call an atomic refinement update.

106 Raquel Viana, Paola Magillo, and Enrico Puppo

Each atomic abstraction update is a function mapping two or three entitiesonto one entity, or, in other words, it deletes two or three entities from a mapcontaining them, and replaces them with a new entity. Its inverse atomicrefinement update restores the previous situation, by removing one entity andreplacing it with two or three other entities.

We denote an update as u : {a1, a2, . . .}[b1, b2, . . .] → {c1, c2, . . .}, where{a1, a2, . . .} is the set of entities deleted by u, {c1, c2, . . .} is the set of entitiesadded to replace them, and [b1, b2, . . .], if existing, are entities which do notdisappear from the map but are needed in order to perform the combinato-rial changes required to apply u. The seven pairs of mutually inverse atomicupdates are described in the following:

(a) line-to-point ltp : {p, p′, l} → {p0}point-to-line ptl : {p0}[lp1

, . . . , lpj ; lp′1 , . . . , lp′k ; r0]→ {p, p′, l}Let l be a line and let p and p′ (p 6= p′) be its endpoints. The applicationof update line-to point to a map containing p, p′ and l consists of removingthese three entities, adding p0, and making every line and region incidenton p and/or p′ to become incident on p0 (see Fig. 2 (a)).In order to restore the original map, which is done by update point-to-line,it is necessary to know which of the lines incident on p0 become incidenton p (lp1

, . . . , lpj ) and which ones become incident on p′ (lp′1 , . . . , lp′k). Incase l is a feature-line, it is also necessary to know the region incident onp0 that will contain l, which is called r0.

(b) region-to-point rtp : {p, l, r} → {p0}point-to-region ptr : {p0}[r0]→ {p, l, r}Let r be a region whose boundary is formed just by line l (which must be aloop) and point p. The application of region-to-point consists of removingp, l, and r, adding p0, and making every line and region that was incidenton p to be incident on p0 (see Fig. 2 (b)).In update point-to-region, r0 is the region, among the ones incident on p0,that will become incident on line l.As the only combinatorial difference between p and p0 is that p is incidenton l and r, and p0 is not, from now on points p0 and p are considered tobe the same point.

(c) region-to-line rtl : {l, l′, r} → {l0}line-to-region ltr : {l0} → {l, l′, r}Let r be a region whose boundary is formed by two points which are notequal, and two lines, l and l′ (with l 6= l′), each of which is incident onboth points. The application of region-to-line to a map containing l, l′ andr consists of removing these three entities, adding l0, and making everyentity incident on l or l′ to be incident on l0 (see Fig. 2 (c)).

Multi-Scale Geographic Maps 107

l1 l2l4 l3 ; lp p’0p

lp p’

1l 2l

4l0p

1l 2l

4l 3l3l

r0

rl

r0

l

l’r 0l

r0

rl0l

l’

l

p 0p

p

r’

2p2

p

1c

3c

1c

2c

3c

1p

0pp { }} , , rrtp:{ l

0p 0r p , , l r}[ ptr:{ ] { }

l, l’, r} } 0l{rtl:{

p p’ l0pltp:{ , , } { }

} 0l l, l’, r} ltr:{ {

l, l’, p} lm:{ { } 0l

2c1p

0r }r’r l, , {} rm:{

c 30r 1p

2p c 1, }[ ;rs:{ c 2 r’r l, , ; ] { } ,

rl0r

2p

2p

1p

1p

p

r 0r

l0 l, l’, p} {ls:{ }

0r

0r 1p

2p , rl } 0r p, r} } {fpa:{

0rp, r} fpr: { { }

}[ , ; , ] , , } ptl:{ {

(b)

(d) (e)

(c)

(a)

(g)(f)

{, } rl }flr:{

]fla:{ }[ , {

Fig. 2. Set of pairs of atomic/refinement updates.

108 Raquel Viana, Paola Magillo, and Enrico Puppo

(d) line-merge lm : {l, l′, p} → {l0}line-split ls : {l0} → {l, l′, p}Let l, l′, with l 6= l′, be two lines incident on a common point p whichdoes not bound any other line. Update line-merge consists of removing l,l′ and p, adding l0, and making every entity incident on l, l′ or p to beincident on l0 (see Fig. 2 (d)).

(e) region-merge rm : {r, r′, l} → {r0}region-split rs : {r0}[p1, p2; cr1 , . . . , crl ; cr′1 , . . . , cr′m ]→ {r, r′, l}Let r, r′, with r 6= r′, be two regions having a common bounding linel, with endpoints p1 and p2. The application of region-merge on a mapconsists of removing r, r′ and l from it , adding r0 to it, and making everypoint and line incident on r or r′ to be incident on r0 (see Fig. 2 (e)).To perform the inverse update, region-split, we need to know the twopoints p1 and p2 that will bound line l, and which of the entities in eachinner boundary or feature of r0 will bound either r (cr1 , . . . , crl) or r′

(cr′1 , . . . , cr′m), where cri , 1 ≤ i ≤ l, denotes a set of connected entities, allof which will bound just r, and cr′j , 1 ≤ j ≤ m, denotes a set of connected

entities, all of which will bound just r′.

(f) feature-point-removal fpr : {p, r} → {r0}feature-point-addition fpa : {r0} → {p, r}Let p be an isolated point inside a region r. The application of feature-point-removal consists of removing both p and r, adding r0, and makingevery point and line incident on r to become incident on r0 (see Fig. 2(f)).As the only combinatorial difference between r0 and r is that r is inci-dent on point p and r0 is not, we can consider r to be the same region as r0.

(g) feature-line-removal flr : {l, r} → {r0}feature-line-addition fla : {r0}[p1, p2]→ {l, r}Let l be a feature-line in region r. The application of feature-line-removalto a map consists of removing l and r, adding r0, and making every pointand line incident on r to become incident on r0 (see Fig. 2 (g)).To perform update feature-line-addition, the endpoints of line l, points p1

and p2, must be known.As the only combinatorial difference between r0 and r is that r is incidenton l and r is not, we consider r0 to be the same region as r.

4 Dependencies in a Sequence of Atomic RefinementUpdates

The sequential application of atomic abstraction (resp. refinement) updatesallows us to build sequences of maps in which the level of detail continually

Multi-Scale Geographic Maps 109

p

p

p p

P

pp0 1

2

3

45

6

01

2

34

5

ll

l

ll

l

(a) (b) (c)

Fig. 3. The sequential application of seven updates, all of which are of type feature-point-addition, to the map in (a), produces (b). Then, updates of type feature-line-addition can be applied on the resulting map, producing (c).

decreases (resp. increases). Let us consider the map of Fig. 3 (a). The sequen-tial application of updates of type feature-point-addition produces the map ofFig. 3 (b). And the application of updates of type feature-line-addition to thislast map produces the one of Fig. 3 (c).

Let us assume an user provided with map of Fig. 3 (a) needs to increasethe level of detail, so that lines l0, l1, l2 of Fig. 3 (c) are shown. The processwould be more efficient if all the points of Fig. 3 (b) were not added, butsimply points p0, p1, p2 and p3 were created. In general, given a set of updateswhich have been performed in a given order, we are interested in performingjust some of the updates, not necessarily consecutive in the sequence. This isnot straightforward, as some updates require before being applied that otherupdates have been previously performed. For example, line l0 cannot be addeddirectly in the map of Fig. 3 (a), unless points p0 and p3 have been previouslyadded to the map. This fact will be formalized by means of the dependencyconcept.

4.1 Sequences of Updates

Let M be a map and (u1, u2, . . . , un) be a collection of updates such that u1 isan update on M , and every ui, 2 ≤ i ≤ n, is an update on the map obtainedby applying to M all updates preceding ui in the sequence. Then, the pairS = (M, (u1, u2, . . . , un)) is called a sequence of updates for M .

We consider monotonic sequences, i.e., sequences where updates are ei-ther all atomic abstraction updates, or all atomic refinement updates. Mono-tonic sequences of the two types are mutually inverse. We use the fol-lowing notation: a sequence of atomic abstraction updates is denoted byS = (M, (u1, u2, . . . , un)), and its inverse sequence of atomic refinement up-dates is denoted by S = (M, (u1, u2, . . . , un)), where, for 1 ≤ i ≤ n, un−i+1

and ui are mutually inverse updates, and M [M ] is the map obtained fromM [M ] by applying all modifications of S [S] to it. Fig. 4 shows a sequenceof atomic abstraction updates (from right to left), and its inverse sequence ofatomic refinement updates (from left to right).

110 Raquel Viana, Paola Magillo, and Enrico Puppo

l0 l0

r1 r1 r1

lp1

r1

p2

lp1

l3

u4u3u2u1

u1u2u3u4

l0

l1 l0 p1

p2

p0

l3

p1

l1 l2 p0

l2l1 p2

r1 p1

l3

l2r1 p0

p2

l1

l2

l1

l2

l1

l2

p0

0p

M

r

q

r

q q

r r

q

r

q

{ }[ ] { }ptr: q r q,ll, { }[ ; ] { , , } fla: r q ,r { }[ , ] { }ls: ptl: l

flr: ,r r { } { }ltp: , ,l { } { }lm: , , rtp: q,ll, q { } { } { } { }

ll ll ll ll

{ } { , , }

s s s s s

M

Fig. 4. S = (M, (u1, u2, u3, u4)) is a sequence of atomic abstraction updates andS = (M, (u1, u2, u3, u4)) is the inverse sequence of atomic refinement updates.

u2 u3 u4

u4u2 u3

l0

l0

l2

p0

q

rl1 l3

q

r

l

l l

l

3 1

2

q

r

l

l l

l

3 1

2

l2

p0

p1

p2

p1

p2

l1

l2

p1

p2

p0

M

M

q

r

q

r

q

q

r

r

l

l

l1

2s

s

s

s s

q

rl1

s s

s

Fig. 5. Examples of feasible subsequences obtained from the sequence in Fig. 4.

4.2 Naıve Dependency

In the remainder, we focus on refinement sequences. We are interested inincreasing the level of detail of M selectively, by applying to M only a subsetof the sequence of refinement updates. Not all subsets of S, however, makesense as sequences on M .

Given an update ui, with 1 ≤ i ≤ n, in general ui cannot be applied unlesssome other updates in S have been applied previously. For example, in Fig.4, update u3 needs update u2, because point p0 is necessary to perform u3,and this point is created in u2.

Given update ui, a sufficient condition to apply ui to a map is that themap contains every entity affected by ui in the original sequence. For example,in the upper part of Fig. 5 we have depicted how update u2 can be directlyapplied onM . Update u3 can be applied after u2, and update u4 can be appliedafter u3. Update u4 is independent of update u1, whereas u4 is dependent on

Multi-Scale Geographic Maps 111

u2

u3

u4

p0

p1

u1

l1 l2

l0ls ls

ll l l3

p1

p2

u2

u3 u4

p0

p0

u1

r r1sq

line−forest

(c)

point−forest region−forest

(a) (b)

p0

Fig. 6. Dependencies among updates according to the naıve ((a)) and refined ((b))formulation. An arc from ui to uj means that uj directly depends on ui, and sucharc is labelled with the entity created by ui and either removed or needed by uj (c)Entity forests corresponding to the sequence in Fig. 4.

u2. Fig. 6 (a) shows the dependency links existing among the updates of Fig.4, based on this convention.

4.3 Refined Dependency

The naıve dependency is too strict, and it tends to create unnecessarily longsequences of dependent updates. In fact, an update ui may be performed on amap although not every entity affected by it in the original sequence is presentin the map. It is sufficient that the map contains, for each such entity, an entityrepresenting it at a possibly different scale. For example, consider update u4

in Fig. 4. We want to apply u4 even if p1 does not exist, but some other pointrepresenting it, for instance point p0, exists. In this view, u4 depends just onu2, while u3 and u4 are independent, and can be applied in any order, aswe can observe in Fig. 5. The dependency relation in this case is depicted inFig. 6 (b).

Forests

Let a and a′ be two entities of the same type (points, lines or regions), be-longing to sequence S. We say that a and a′ are mutually representative ifeither a ≡ a′, or a′ [a] can be obtained from a [a′] through the application ofupdates in the sequence. For instance, in Fig. 4, points p0 and p1 are mutually

112 Raquel Viana, Paola Magillo, and Enrico Puppo

representative, and so are points p0 and p2. In order to keep track of repre-sentatives, we define forests of points, lines and regions, called point-forest,line-forest, and region-forest, respectively (see Fig. 6 (c)).

In the point-forest, roots are points created in updates of types line-splitor feature-point-addition, and the children of a node, if any, are the two pointscreated from it in an update of type point-to-line.

The roots of the line-forest are those lines that have been created in any up-date of type point-to-line, point-to-region, region-split, or feature-line-addition,and the two children of a line, if existing, are those lines obtained from itthrough updates of type line-split or line-to-region. Each branch of such treesis labelled with the corresponding type of atomic update.

Finally, the roots in the region-forest are those regions obtained in updatesof type point-to-region or line-to-region, and the children of a region, if any,are the two regions obtained from it by an update of type region-split.

Two entities are mutually representative if they lie on the same path inthe appropriate forest. The most abstract representative of an entity a is theeldest ancestor of a in the forest. In a more restrictive view, we define a andb to be mutually representative through a given set of update types if they lieon a path formed only of updates belonging to types of the given set.

Feasible Subsequences

Let ui1 : {a}[b1, . . . , bm]→ {c1, c2, c3}, with possibly c3 = ∅, be an update insequence S = (M, (u1, . . . , un)). Let us assume that entity a has some repre-sentative entity a′ in M , and that ui1 is directly applied on M by consideringa′ instead of a. Those entities incident on a′ become incident on some of theentities already existing in M , or created by ui1 , so that the result of theapplication of ui1 on M is a map, denoted by M ⊕ ui1 .

Let us now assume that the process is repeated until a map M⊕ui1⊕ . . .⊕uip is obtained, with ui1 , . . . , uip ∈ S. We say that subsequence (ui1 , . . . , uip) is

feasible onM with respect to S if the application onM of updates (u1, . . . , uip)produces the same map as the application onM of the updates in (ui1 , . . . , uip)followed by those updates in (u1, . . . , uip) which are not in (ui1 , . . . , uip), i.e.,if:

M ⊕ ui1 ⊕ . . .⊕ uip ⊕ip−1∑

m=1

m6=i1,...,ip

um = M ⊕ip∑

m=1

um

where the summations are performed by ⊕ operation. Examples of fea-

sible subsequences of the sequence in Fig. 4 are S′

= (M, (u2, u4, u3)),

and S′′

= (M, (u2, u3, u4)) (see Fig. 5). On the other hand, for instance,

S′′′

= (M, (u1, u3, u4)) is not a feasible subsequence.

Multi-Scale Geographic Maps 113

p0

l4 l5

p1

l1 l2

r

t

s

p0

l1 l2

l3r

s

t

l2l1

l4 l5p1

p p’l

s

t

r

p1

l2l1

l4 l3

l

s

p

r

p’

t

l2l1

l3

l

s

p

r

p’

t

l2l1

pl

s

r

p’

u2u3 u1

l1 l2

p0

M M

M

l1 l2

p0

M

u1 u3u2

0p ;l2l1 lptl:{ }[ ; } ] , { p p’,

0p l30

pptr:{ ]}[ r { , , t }

l3}[ {ptr:{ ]r pp , , t } l3 l4 l5 1p, , } ls:{ } {

l3 l4 l5 1p, , } ls:{ } { l1 l2l4 ; lp p’

0p l5}[ , ; , ] , } ptl:{ { ,

(a)

(b)

r

s

r

s

Fig. 7. (a) Sequence of atomic refinement updates (b) Line l3 belongs to the minimaldomain of u3, and as this line has not been created before the application of u3,subsequence (M, (u3, u1, u2)) is not feasible (it does not make any difference if p′ isthe point representative of p0 chosen perform u1).

Minimal Domain

We are interested in characterizing the set of feasible subsequences whichcan be obtained from any sequence S = (M, (u1, . . . , un)). It can be provedthat, given any subset {ui1 , . . . , uij} of the updates in S, a sufficient condition

for S′

= (M, (ui1 , . . . , uij )) being a feasible subsequence of S is that, for each

update uik in S′, some entities have been created previously to the application

of uik . Such entities form what we call the minimal domain of uik . The factthat an entity a has been created means that M ′ must contain either a, orsome representative of a which is a descendant of a in the appropriate entitytree.

A detailed description of the minimal domain for each type of update canbe found in [7]. In general, the minimal domain for an atomic refinementupdate u : {a}[b1, . . . , bm]→ {c1, c2, c3} contains the most abstract represen-tatives, through the same type of update as u, of entities a, b1, . . . , bm. Thereare, however, two exceptions, which are listed below:

(a) If u is of type ptl : {p0}[lp1, . . . , lpj ; lp′1 , . . . , lp′k ; r0] → {p, p′, l}, the mini-

mal domain contains:- the most abstract representative of point p0

114 Raquel Viana, Paola Magillo, and Enrico Puppo

- if l is a feature-line, the most abstract representative of region r0

- the line(s), if existing, created in an update of type point-to-region orline-to-region, such that either such line(s), or some of its (their) de-scendants in the line-forest, have one endpoint at p and the other oneat p′ in S. In Fig. 7 (a), a sequence of atomic refinement updates isshown, and (b) illustrates that it is not possible to retrieve map M ifline l3 has not been created before point p0 is expanded to {p, p′, l}.

(b) If u is of type rs : {r0}[p1, p2; cr1 , . . . , crl ; cr′1 , . . . , cr′m ] → {r, r′, l}, theminimal domain consists of:- the most abstract representatives of r0, p1, p2

- every line which has been created in an update of type feature-line-addition, and such that, in sequence S, either such line or some of itsrepresentatives belong to the outer boundary of r or r′. As we canobserve in Fig. 8 (b), line l5 must be created before region r0 is splitinto two regions, otherwise the insertion of line l6 would not split r0.

Direct Dependency Relation

Given a sequence S = (M, (u1, u2, . . . , un)), we have explained that, for S′

=(M, (ui1 , ui2 , . . . , uij )) being a feasible subsequence, it is necessary that for

each uik in S′, the entities forming its minimal domain have been created in

updates ui(k1), . . . , ui(km)

previous to uik in the subsequence. We say that ujdirectly depends on ui, 1 ≤ i < j ≤ n, if some entity belonging to the minimaldomain of uj has been created in ui.

A sequence S = (M, (u1, u2, . . . , un)) is non-redundant if there are notwo different updates in the sequence, ui : {ai}[bi1, . . . , bim] → {ci1, ci2, ci3}and uj : {aj}[bj1, . . . , bjp] → {cj1, cj2, cj3}, with 1 ≤ i < j ≤ n, such thatai ∈ {cj1, cj2, cj3}. Intuitively, it means that an entity that has been removeddue to the application of one update in the sequence, cannot reappear againas one of the entities created by any other posterior update in the sequence.

Let S = (M, (u1, u2, . . . , un)) be a non-redundant sequence of atomic re-finement updates. It is easy to see that the transitive closure of the directdependency relation is a strict partial order, ≺.

A subsequence of updates from S is called closed with respect to the re-lation of direct dependency if, for each update u in it, S contains also theupdates u depends on. It can be shown that any closed subsequence is feasi-ble [7].

5 The Multiresolution Model

In this Section, we define our multi-scale model for maps, which is inspiredby the Multi-Triangulation developed for triangle meshes [5, 9].

We define a Multi-Map as the pair (S,≺), where:

Multi-Scale Geographic Maps 115

u1 u2

p2

p1

p0

l1 l2

l3 l4

l5 l5

l6

0p

1p rl50r

p2

p1

p0

l1 l2

l3 l4p2

p1

p0

l1 l2

l3 l4

0r0r r r’

0r 1p

2p; ; r’r l6

Ms

t

], }[ fla:{ } , {

s

t

s

t

, }[ rs:{ ] , { , }

M

Fig. 8. Line l5 belongs to the minimal domain of update u2, because u2 cannot bedirectly applied on M unless line l5 has been previously created.

• S = (M,u1, . . . , un) is a non-redundant sequence of atomic refinementupdates. In practice, S is the reverse of a sequence S = (M,u1, . . . , un)of abstraction updates that have been performed during a simplificationprocess.

• M is called the base map and corresponds to the coarsest map availablein the model.

• M , the map obtained by applying all refinement updates to M , is calledthe reference map, and corresponds to the most detailed map available inthe model.

• ≺ is the partial order on {u1, . . . , un} defined by direct dependency, as inthe previous section.

A subMulti-Map is the restriction of a Multi-Map to a set of updates closedwith respect to the relation of direct dependency. It follows that the applica-tion of all the updates in a subMulti-Map to the base map M produces a map.The map obtained after the application of all the updates in a subMulti-Mapis called an extracted map.

We are now interested in obtaining a map whose scale is variable in space,according to arbitrary user requirements. We assume that user requirementsare given by means of an external Boolean function τ(), defined over theupdates of a Multi-Map, which decides whether an update is necessary or notin order to achieve (locally) the level of detail needed by the user/application.For instance, if all updates acting in a certain focus area are necessary, thenrefinement will produce the maximum level of detail inside that area, whileleaving the rest of the map at a lower detail.

The selective refinement will produce the smallest map, extracted fromthe Multi-Map, in which all updates necessary according to τ() have beenperformed. Such map is generated from the minimal set of updates whichcontains all updates verifying τ() and is closed with respect to the relation ofdirect dependency.

The general principles underlying the selective refinement algorithm formaps are similar to those for Multi-Triangulations that we have developed inour previous work [5, 9], although the specific concepts and details for deciding

116 Raquel Viana, Paola Magillo, and Enrico Puppo

where to refine, the rules for defining refinement, and the data structures toencode the model and the map are very different from those used in Multi-Triangulations.

6 Conclusions and Future Work

We have presented a combinatorial description of a multi-scale model for mapsrepresented by plane graphs. The model is theoretically sound, it allows forselective refinement and is promising in terms of flexibility and applicabilityto real data. In our current work, we are designing a data structure for en-coding it, as well as algorithms operating on it. In future work, also geometryand semantics must be taken into account, and generalization algorithms andcriteria for building and querying the model on the basis of metrics, topologyand semantics will be developed.

Acknowledgements

The kind help of Leila De Floriani for helpful discussions and a careful read-ing of this paper is gratefully acknowledged. This work has been partiallysupported by the Research Training Network EC Project on Multiresolutionin Geometric Modelling (MINGLE), under contract HPRN–CT–1999–00117,and by the project funded by the Italian Ministry of Education, University,and Research (MIUR) on Representation and Management of Spatial and Ge-ographical Data in the Web, Protocol N. 2003018941.

References

1. M. Bertolotto. Geometric modeling of spatial entities at multiple levels of res-olution. Ph.D.Thesis, Department of Computer Science, University of Genova,DISI-TH-1998-01, 1998.

2. M. Bertolotto, L. De Floriani, and E. Puppo. Multiresolution topological maps,Advanced Geographic Data Modelling – Spatial Data Modelling and Query Lan-guages for 2D and 3D Applications, M. Molenaar, S. De Hoop (eds.), Publica-tions on Geodesy – New Series, N. 40, Netherland Geodetic Commission, pp.179-190, 1994.

3. M. Bertolotto and M. J. Egenhofer. Progressive transmission of vector map dataover the world wide web. GeoInformatica 5(4), pp. 345-373, 2001.

4. B. Buttenfield. Progressive transmission of vector data on the internet: a carto-graphic solution. Proceedings 19th International Cartographic Conference, Ot-tawa, Canada, pp.581-590, 1999.

5. L. De Floriani and P. Magillo. Multiresolution mesh representation: models anddata structures, Tutorials on Multiresolution in Geometric Modelling, A. Iske,E. Quak, M. S. Floater (eds.), Springer-Verlag, pp. 363–418, 2002.

Multi-Scale Geographic Maps 117

6. D. H. Douglas and T. K. Pucker. Algorithms for the reduction of the numberof points required to represent a digitized line or its caricature. The CanadianCartographer, 10, 2, pp. 112-122, 1973.

7. P. Magillo, E. Puppo, and R. Viana. A Multi-Scale Model for Geographic Maps.Technical Report, DISI-TR03-10, Department of Information and ComputerSciences, University of Genova, 2003.

8. E. Puppo and G. Dettori. Towards a formal model for multiresolution spatialmaps. Advances in Spatial Databases, M. J. Egenhofer, J. R. Herring (eds.),LNCS Vol.951, Springer-Verlag, pp.152-169, 1995.

9. E. Puppo. Variable resolution triangulations. Computational Geometry Theoryand Applications 11, pp.219-238, 1998.