Upload
unige-it1
View
2
Download
0
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.
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.