1
An Optimization-Based Approach for Continuous Map Generalization
Dongliang Peng
Chair of Computer Science I, University of W¨urzburg, Germany
2-1 [Google Maps]
Marienkapelle [source: Wikipedia]
2-2 [Google Maps]
Marienkapelle [source: Wikipedia]
scroll
2-3 [Google Maps]
Marienkapelle [source: Wikipedia]
scroll
scroll
2-4 [Google Maps]
Marienkapelle [source: Wikipedia]
scroll
scroll
scroll
2-5 [Google Maps]
Marienkapelle [source: Wikipedia]
Buildings disappear suddenly!
scroll
scroll
scroll
2-6 [Google Maps]
Marienkapelle [source: Wikipedia]
Buildings disappear suddenly!
scroll
scroll
scroll
Smooth changes
provide better experience!
3-1
Map Generalization. . .
. . . is about deriving a smaller-scale map from an existing map.
3-2
Map Generalization. . .
. . . is about deriving a smaller-scale map from an existing map.
Typical generalization operators [ESRI 1996]:
3-3
Map Generalization. . .
. . . is about deriving a smaller-scale map from an existing map.
Typical generalization operators [ESRI 1996]:
Elimination
3-4
Map Generalization. . .
. . . is about deriving a smaller-scale map from an existing map.
Typical generalization operators [ESRI 1996]:
Elimination Simplification
3-5
Map Generalization. . .
. . . is about deriving a smaller-scale map from an existing map.
Typical generalization operators [ESRI 1996]:
Elimination Simplification Aggregation
3-6
Map Generalization. . .
. . . is about deriving a smaller-scale map from an existing map.
Typical generalization operators [ESRI 1996]:
Elimination Simplification Aggregation
Classifi. & Symboli.
3-7
Map Generalization. . .
. . . is about deriving a smaller-scale map from an existing map.
Typical generalization operators [ESRI 1996]:
Elimination Simplification Aggregation
Exaggeration Classifi. & Symboli.
3-8
Map Generalization. . .
. . . is about deriving a smaller-scale map from an existing map.
Typical generalization operators [ESRI 1996]:
Elimination Simplification Aggregation
Collapse
Typification Exaggeration
Classifi. & Symboli.
Displacement Refinement
4-1
Continuous Map Generalization...
t = 0
t = 1 . . . is to derive a series of maps with smooth changes.
input
input
4-2
Continuous Map Generalization...
t = 0 t = 0.2
t = 1 . . . is to derive a series of maps with smooth changes.
input
input
4-3
Continuous Map Generalization...
t = 0 t = 0.2 t = 0.4
t = 1 . . . is to derive a series of maps with smooth changes.
input
input
4-4
Continuous Map Generalization...
t = 0
t = 0.6
t = 0.2 t = 0.4
t = 1 . . . is to derive a series of maps with smooth changes.
input
input
4-5
Continuous Map Generalization...
t = 0
t = 0.6
t = 0.2
t = 0.8
t = 0.4
t = 1 . . . is to derive a series of maps with smooth changes.
input
input
5-1
Related Work
• Morph between polylines [N¨ollenburg et al. 2008]
5-2
Related Work
• Morph between polylines [N¨ollenburg et al. 2008]
• Generate a good sequence of maps [Chimani et al. 2014]
5-3
Related Work
• Morph between polylines [N¨ollenburg et al. 2008]
• Generate a good sequence of maps [Chimani et al. 2014]
• Data structure for continuous generalization
[van Oosterom et al. 2014]
space scale cube (SSC)
5-4
Related Work
• Morph between polylines [N¨ollenburg et al. 2008]
• Generate a good sequence of maps [Chimani et al. 2014]
• Data structure for continuous generalization
[van Oosterom et al. 2014]
export
space scale cube (SSC)
zoom out
6-1 Contents of Thesis Optim. Related Generalization
6-2 Contents of Thesis Optim.
Optimal sequence for aggregation
Related Generalization
6-3 Contents of Thesis Optim.
A? ILP Optimal sequence for aggregation
Related Generalization
6-4 Contents of Thesis Optim.
A? ILP Optimal sequence for aggregation
Related Generalization
Aggregation Classification
6-5 Contents of Thesis Optim.
A? ILP Optimal sequence for aggregation
Administrative boundaires
Related Generalization
Aggregation Classification
6-6 Contents of Thesis Optim.
DP A? ILP Optimal sequence for aggregation
Administrative boundaires
Related Generalization
Aggregation Classification
6-7 Contents of Thesis Optim.
DP A? ILP Optimal sequence for aggregation
Administrative boundaires
Elimination Simplification
Related Generalization
Aggregation Classification
6-8 Contents of Thesis Optim.
DP A? ILP Optimal sequence for aggregation
Administrative boundaires
Buildings to built-up areas
Elimination Simplification
Related Generalization
Aggregation Classification
6-9 Contents of Thesis Optim.
DP
MST A? ILP Optimal sequence for aggregation
Administrative boundaires
Buildings to built-up areas
Elimination Simplification
Related Generalization
Aggregation Classification
6-10 Contents of Thesis
Aggregation, Simplification, Elimination
Optim.
DP
MST A? ILP Optimal sequence for aggregation
Administrative boundaires
Buildings to built-up areas
Elimination Simplification
Exaggeration
Related Generalization
Aggregation Classification
6-11 Contents of Thesis
Aggregation, Simplification, Elimination
Optim.
DP
MST A? ILP Optimal sequence for aggregation
Administrative boundaires
Buildings to built-up areas
Morphing polylines
Elimination Simplification
Exaggeration
Related Generalization
Aggregation Classification
6-12 Contents of Thesis
Aggregation, Simplification, Elimination
Optim.
DP
MST A? ILP
LSA DP Optimal sequence for aggregation
Administrative boundaires
Buildings to built-up areas
Morphing polylines
Elimination Simplification
Exaggeration
Related Generalization
Aggregation Classification
6-13 Contents of Thesis
Aggregation, Simplification, Elimination
Optim.
DP
MST A? ILP
LSA DP Optimal sequence for aggregation
Administrative boundaires
Buildings to built-up areas
Morphing polylines
Elimination Simplification
Exaggeration
Simplification
Related Generalization
Aggregation Classification
6-14 Contents of Thesis
Aggregation, Simplification, Elimination
Optim.
DP
MST A? ILP
LSA DP Optimal sequence for aggregation
Administrative boundaires
Buildings to built-up areas
Morphing polylines
Choosing right data structures
Elimination Simplification
Exaggeration
Simplification
Related Generalization
p 2ε
Aggregation Classification
SortedDictionary, SortedSet, . . .
6-15 Contents of Thesis
Aggregation, Simplification, Elimination
Optim.
DP
MST A? ILP
LSA DP Optimal sequence for aggregation
Administrative boundaires
Buildings to built-up areas
Morphing polylines
Choosing right data structures
Elimination Simplification
Exaggeration
Simplification
Related Generalization
p 2ε
Aggregation Classification
SortedDictionary, SortedSet, . . .
6-16 Contents of Thesis
Aggregation, Simplification, Elimination
Optim.
DP
MST A? ILP
LSA DP Optimal sequence for aggregation
Administrative boundaires
Buildings to built-up areas
Morphing polylines
Choosing right data structures
Elimination Simplification
Exaggeration
Simplification
Related Generalization
p 2ε
Aggregation Classification
SortedDictionary, SortedSet, . . .
7-1
Research Problem
input
input village, town, city ly
sport facility ly swamp ly
7-2
Research Problem
input
input village, town, city ly
sport facility ly swamp ly
7-3
Research Problem
input
input village, town, city ly
sport facility ly swamp ly
7-4
Research Problem
input
input village, town, city ly
sport facility ly swamp ly
7-5
Research Problem
input
input village, town, city ly
sport facility ly swamp ly
7-6
Research Problem
input
input village, town, city ly
sport facility ly swamp ly
7-7
Research Problem
input
input village, town, city ly
sport facility ly swamp ly
7-8
Research Problem
input
input village, town, city ly
sport facility ly swamp ly
7-9
Research Problem
Given aggregation costs:What is an optimal sequence?
input
input village, town, city ly
sport facility ly swamp ly
8-1
Preliminaries
start map goal map
8-2
Preliminaries
p3 Polygon pi
start map goal map
p1 p2
p4 p5
: area on start map
8-3
Preliminaries
Patch ui
u1
u5
u6
u7
u6 Polygon pi
start map goal map
u3 u1 u2
u4 u5
: connected set of areas : area on start map
8-4
Preliminaries
Patch ui Region Ri
R1 R2 Polygon pi
start map goal map
R1 R2 R1 R2
: connected set of areas : area on start map
: area on the goal map
8-5
Preliminaries
Patch ui Region Ri
R1 R2 Aggregate the smallest patch with its neighbour
Polygon pi
start map goal map
R1 R2 R1 R2
: connected set of areas : area on start map
: area on the goal map
9-1
Interleave Aggregation Sequences
input input
9-2
Interleave Aggregation Sequences
input input
input output input input output input
Compute a sequence for each region
9-3
Interleave Aggregation Sequences
Interleave according to order of smallest areas (as merge sort)
input output output output input
input output input input output input
Compute a sequence for each region
9-4
Interleave Aggregation Sequences
Interleave according to order of smallest areas (as merge sort)
input output output output input
input output input input output input
Compute a sequence for each region
10-1
Subdivision
Subdivision Pt,i
P2,2 P2,1
P2,3
P3,2 P3,1
P3,3 P3,4 P3,5
Pgoal = P4,1 Pstart = P1,1
P2,4
: patches subdividing a region
10-2
Subdivision
Subdivision Pt,i
P2,2 P2,1
P2,3
P3,2 P3,1
P3,3 P3,4 P3,5
Pgoal = P4,1 Pstart = P1,1
P2,4
Size n
: patches subdividing a region : #polygons on start map
n = 4
10-3
Subdivision
Subdivision Pt,i
P2,2 P2,1
P2,3
P3,2 P3,1
P3,3 P3,4 P3,5
Pgoal = P4,1 Pstart = P1,1
P2,4
Size n
#subdivions is exponential in n.
: patches subdividing a region : #polygons on start map
n = 4
11-1
Formalizing a Pathfinding Problem
start goal
11-2
Formalizing a Pathfinding Problem
• Each subdivision is represented as a node
start goal
11-3
Formalizing a Pathfinding Problem
• Each subdivision is represented as a node
• Find a shortest path w.r.t. cost functions
start goal
12-1
Cost Function
• Type change: ftype(Ps,i , Ps+1,j)
We wish to aggregate patches with similar types
Ps,i Ps+1,j u
v
village, town, city ly sport facility ly
swamp ly lake, pond
12-2
Cost Function
• Type change: ftype(Ps,i , Ps+1,j)
We wish to aggregate patches with similar types
Ps,i Ps+1,j u
v
village, town, city ly sport facility ly
swamp ly lake, pond
12-3
Cost Function
• Type change: ftype(Ps,i , Ps+1,j)
We wish to aggregate patches with similar types
Ps,i Ps+1,j u
v
village, town, city ly sport facility ly
swamp ly lake, pond
`int(Ps,k) = 19.5
6.2
3.9 2.8
3.7
• Interior length: flength(Ps,k) 2.9
Less length, easier to perceive
12-4
Cost Function
• Type change: ftype(Ps,i , Ps+1,j)
We wish to aggregate patches with similar types
Ps,i Ps+1,j u
v
village, town, city ly sport facility ly
swamp ly lake, pond
`int(Ps,k) = 19.5
6.2
3.9 2.8
3.7
• Interior length: flength(Ps,k) 2.9
Less length, easier to perceive
13-1
Cost Function
• Path Π = (P1,i1, P2,i2, . . . , Pt,it )
13-2
Cost Function
• Path Π = (P1,i1, P2,i2, . . . , Pt,it )
gtype(Π) =
t−1
X
s=1
ftype(Ps,is, Ps+1,is+1)
glength(Π) =
t−1
X
s=2
flength(Ps,is)
13-3
Cost Function
• Path Π = (P1,i1, P2,i2, . . . , Pt,it )
• Combination of the two costs:
g(Π) = (1 − λ)gtype(Π) + λglength(Π) gtype(Π) =
t−1
X
s=1
ftype(Ps,is, Ps+1,is+1)
glength(Π) =
t−1
X
s=2
flength(Ps,is)
13-4
Cost Function
• Path Π = (P1,i1, P2,i2, . . . , Pt,it )
• Combination of the two costs:
g(Π) = (1 − λ)gtype(Π) + λglength(Π)
λ = 0.5
gtype(Π) =
t−1
X
s=1
ftype(Ps,is, Ps+1,is+1)
glength(Π) =
t−1
X
s=2
flength(Ps,is)
14-1
A
?Algorithm
• A best-first search algorithm. Find a path from s to t
s
t
14-2
A
?Algorithm
• A best-first search algorithm. Find a path from s to t
• Cost function: F(u) = g(u) + h(u) – g(u): exact cost of s-u path
– h(u): estimated cost of shortest u-t path
s
u
t g(u)
h(u)
14-3
A
?Algorithm
• A best-first search algorithm. Find a path from s to t
• Cost function: F(u) = g(u) + h(u) – g(u): exact cost of s-u path
– h(u): estimated cost of shortest u-t path
• Guarantees a shortest path if h(u) is smaller than real cost
s
u
t g(u)
h(u)
14-4
A
?Algorithm
• A best-first search algorithm. Find a path from s to t
• Cost function: F(u) = g(u) + h(u) – g(u): exact cost of s-u path
– h(u): estimated cost of shortest u-t path
• Guarantees a shortest path if h(u) is smaller than real cost
s
u
t g(u)
h(u)
• Helps ignore some paths
15-1
Estimating Cost
• htype(Pt,i) = Pn−1
s=t ftype(Ps,is, Ps+1,is+1)
We assume: Each patch immediately gets the target type.
P2,i2 P3,i3 P4,i4 P5,i5
s
u
t g(u)
h(u)
15-2
Estimating Cost
• hlength(Pt,i)
• htype(Pt,i) = Pn−1
s=t ftype(Ps,is, Ps+1,is+1)
We assume: Each patch immediately gets the target type.
P2,i2 P3,i3 P4,i4 P5,i5
s
u
t g(u)
h(u)
16-1
Overestimation
• Try finding a path by exploring at most M = 200,000 nodes. If fail, try again but increasing estimated costs.
start goal
16-2
Overestimation
• Try finding a path by exploring at most M = 200,000 nodes. If fail, try again but increasing estimated costs.
• A path seems more expensive, thus may be ignored
start goal
16-3
Overestimation
• Try finding a path by exploring at most M = 200,000 nodes. If fail, try again but increasing estimated costs.
• Not optimal anymore
once increasing estimated costs
• A path seems more expensive, thus may be ignored
start goal
17-1
Integer Linear Programming
Form of an integer linear program (ILP) minimize CTx
subject to E x ≤ H, x ≥ 000, and x ∈ ZI ,
17-2
Integer Linear Programming
Form of an integer linear program (ILP) minimize CTx
subject to E x ≤ H, x ≥ 000, and x ∈ ZI , Given variables x,
minimize a cost subject to some constraints.
17-3
Integer Linear Programming
Form of an integer linear program (ILP) minimize CTx
subject to E x ≤ H, x ≥ 000, and x ∈ ZI , Given variables x,
minimize a cost subject to some constraints.
18-1
Using Integer Linear Programming
start goal
• Model complete graph by setting variables and constraints
18-2
Using Integer Linear Programming
start goal
• Model complete graph by setting variables and constraints
• Solve ILP with minimizing total cost
18-3
Using Integer Linear Programming
start goal
• Model complete graph by setting variables and constraints
• Solve ILP with minimizing total cost
• Define path according to values of variables, known from solution
19-1
Example Variable and Constraints
• Variable: xt,p,r ∈ {0, 1} ∀t ∈ T , ∀p, r ∈ P xt,p,r = 1 ⇔ p is assigned to r at time t.
t = 1 t = 2 t = 3
p r
q
p r
q
p r
q
19-2
Example Variable and Constraints
• Variable: xt,p,r ∈ {0, 1} ∀t ∈ T , ∀p, r ∈ P xt,p,r = 1 ⇔ p is assigned to r at time t.
t = 1 t = 2 t = 3
x1,p,r = 0 x1,r,r = 1
p r
q
x1,q,r = 0
p r
q
p r
q
19-3
Example Variable and Constraints
• Variable: xt,p,r ∈ {0, 1} ∀t ∈ T , ∀p, r ∈ P xt,p,r = 1 ⇔ p is assigned to r at time t.
t = 1 t = 2 t = 3
x1,p,r = 0 x1,r,r = 1
p r
q
x2,p,r = 1 x2,r,r = 1 x1,q,r = 0 x2,q,r = 0
p r
q
p r
q
19-4
Example Variable and Constraints
• Variable: xt,p,r ∈ {0, 1} ∀t ∈ T , ∀p, r ∈ P xt,p,r = 1 ⇔ p is assigned to r at time t.
t = 1 t = 2 t = 3
x1,p,r = 0 x1,r,r = 1
p r
q
x2,p,r = 1 x2,r,r = 1
x3,p,r = 1 x3,r,r = 1
x1,q,r = 0 x2,q,r = 0 x3,q,r = 1
p r
q
p r
q
19-5
Example Variable and Constraints
• Variable: xt,p,r ∈ {0, 1} ∀t ∈ T , ∀p, r ∈ P xt,p,r = 1 ⇔ p is assigned to r at time t.
t = 1 t = 2 t = 3
x1,p,r = 0 x1,r,r = 1
p r
q
x2,p,r = 1 x2,r,r = 1
x3,p,r = 1 x3,r,r = 1
x1,q,r = 0 x2,q,r = 0 x3,q,r = 1
p r
q
p r
q
• Constraints:
p is assigned to only one polygon:P
r∈P xt,p,r = 1
19-6
Example Variable and Constraints
• Variable: xt,p,r ∈ {0, 1} ∀t ∈ T , ∀p, r ∈ P xt,p,r = 1 ⇔ p is assigned to r at time t.
t = 1 t = 2 t = 3
x1,p,r = 0 x1,r,r = 1
p r
q
x2,p,r = 1 x2,r,r = 1
x3,p,r = 1 x3,r,r = 1
x1,q,r = 0 x2,q,r = 0 x3,q,r = 1
p r
q
p r
q
• Constraints:
p is assigned to only one polygon:
Enforce aggregation:
P
r∈P xt,p,r = 1 P
r∈P xt,r,r = n − t + 1
19-7
Example Variable and Constraints
• Variable: xt,p,r ∈ {0, 1} ∀t ∈ T , ∀p, r ∈ P xt,p,r = 1 ⇔ p is assigned to r at time t.
t = 1 t = 2 t = 3
x1,p,r = 0 x1,r,r = 1
p r
q
x2,p,r = 1 x2,r,r = 1
x3,p,r = 1 x3,r,r = 1
x1,q,r = 0 x2,q,r = 0 x3,q,r = 1
p r
q
p r
q
• Constraints:
p is assigned to only one polygon:
Enforce aggregation:
P
r∈P xt,p,r = 1 P
r∈P xt,r,r = n − t + 1
• In total,
5 sets of variables
17 sets of constraints
20-1
Case Study
• Environment: C#, CPLEX
20-2
Case Study
• Environment: C#, CPLEX
5,448 patches scale 1 : 50 k
734 patches (regions) scale 1 : 250 k
• Data
21
Comparison of A
?and ILP
1–5 6–10 11–15 16–20 21–25 26–36 0
25 50 75 100
n: number of polygons percent (%)
A?
ILP160 s
ILP600 s
percentage of regions that were found optimal solutions
22-1
An Optimal Sequence by A
?300 m
start (n = 17)
goal
22-2
An Optimal Sequence by A
?300 m
start (n = 17)
goal
22-3
An Optimal Sequence by A
?300 m
start (n = 17)
goal
22-4
An Optimal Sequence by A
?300 m
start (n = 17)
goal
22-5
An Optimal Sequence by A
?300 m
start (n = 17)
goal
22-6
An Optimal Sequence by A
?300 m
start (n = 17)
goal
22-7
An Optimal Sequence by A
?300 m
start (n = 17)
goal
22-8
An Optimal Sequence by A
?300 m
start (n = 17)
goal
22-9
An Optimal Sequence by A
?300 m
start (n = 17)
goal
22-10
An Optimal Sequence by A
?300 m
start (n = 17)
goal
22-11
An Optimal Sequence by A
?300 m
start (n = 17)
goal
22-12
An Optimal Sequence by A
?300 m
start (n = 17)
goal
22-13
An Optimal Sequence by A
?300 m
start (n = 17)
goal
22-14
An Optimal Sequence by A
?300 m
start (n = 17)
goal
22-15
An Optimal Sequence by A
?300 m
start (n = 17)
goal
22-16
An Optimal Sequence by A
?300 m
start (n = 17)
goal
22-17
An Optimal Sequence by A
?300 m
start (n = 17)
goal
22-18
An Optimal Sequence by A
?300 m
start (n = 17)
goal
23 Contents of Thesis
Aggregation, Simplification, Elimination
Optim.
DP
MST A? ILP
LSA DP Optimal sequence for aggregation
Administrative boundaires
Buildings to built-up areas
Morphing polylines
Choosing right data structures
Elimination Simplification
Exaggeration
Simplification
Related Generalization
p 2ε
Aggregation Classification
SortedDictionary, SortedSet, . . .
24-1
Generalizing Buildings to Built-up Areas
400 m
Input: buildings
24-2
Generalizing Buildings to Built-up Areas
400 m
Input: buildings
25-1
Aggregate and Grow
original buildings
• Aggregate buildings that are too close, when zooming out
25-2
Aggregate and Grow
original buildings
• Aggregate buildings that are too close, when zooming out
• Bridges and buildings constitute a minimum spanning tree (MST)
25-3
Aggregate and Grow
t = 0
original buildings
• Aggregate buildings that are too close, when zooming out
zoom out:
t increases
• Bridges and buildings constitute a minimum spanning tree (MST)
25-4
Aggregate and Grow
grow
t = 0 t = 0.4
original buildings
• Aggregate buildings that are too close, when zooming out
zoom out:
t increases
• Bridges and buildings constitute a minimum spanning tree (MST)
add bridge
25-5
Aggregate and Grow
grow
t = 0 t = 0.4
original buildings
• Aggregate buildings that are too close, when zooming out
zoom out:
t increases
• Bridges and buildings constitute a minimum spanning tree (MST)
add bridge
25-6
Aggregate and Grow
grow
grow
t = 0 t = 0.4
t = 0.6
original buildings
• Aggregate buildings that are too close, when zooming out
zoom out:
t increases
• Bridges and buildings constitute a minimum spanning tree (MST)
add bridge
add bridge
25-7
Aggregate and Grow
grow
grow
t = 0 t = 0.4
t = 0.6
original buildings
• Aggregate buildings that are too close, when zooming out
zoom out:
t increases
• Bridges and buildings constitute a minimum spanning tree (MST)
add bridge
add bridge
25-8
Aggregate and Grow
grow grow
grow
t = 0 t = 0.4
t = 0.6 t = 1
original buildings
• Aggregate buildings that are too close, when zooming out
zoom out:
t increases
• Bridges and buildings constitute a minimum spanning tree (MST)
add bridge
add bridge add bridge
25-9
Aggregate and Grow
grow grow
grow
t = 0 t = 0.4
t = 0.6 t = 1
original buildings
• Aggregate buildings that are too close, when zooming out
zoom out:
t increases
• Bridges and buildings constitute a minimum spanning tree (MST)
add bridge
add bridge add bridge
26-1
Three Join Types of Buffering
building
26-2
Three Join Types of Buffering
building
miter:
keep right angles
26-3
Three Join Types of Buffering
building
miter:
keep right angles
dG
26-4
Three Join Types of Buffering
building
square:
avoid long spikes miter:
keep right angles
dG
26-5
Three Join Types of Buffering
building
square:
avoid long spikes miter:
keep right angles
dG
dG
dG dG
26-6
Three Join Types of Buffering
building
square:
avoid long spikes miter:
keep right angles
dG
round:
detect if two buildings are too close dG
dG dG
27-1
Simpifying Based on Dilation and Erosion
polygon d
27-2
Simpifying Based on Dilation and Erosion
polygon dilate with d: remove dents d
27-3
Simpifying Based on Dilation and Erosion
polygon dilate with d: remove dents
erode with 2d: remove bumps d
27-4
Simpifying Based on Dilation and Erosion
polygon dilate with d: remove dents
erode with 2d: remove bumps
dilate with d d
28-1
Case Study
• Runtime: O(n3),
n: total number of edges over all input buildings
28-2
Case Study
• Environment
C#, Clipper (for buffering, dilation, erosion, and merge)
• Runtime: O(n3),
n: total number of edges over all input buildings
28-3
Case Study
• Environment
C#, Clipper (for buffering, dilation, erosion, and merge)
• Runtime: O(n3),
n: total number of edges over all input buildings
• Data: 2.5 k buildings, n = 19 k edges, 1 : 15 k, dG = 25 m (IGN)
28-4
Case Study
• Environment
C#, Clipper (for buffering, dilation, erosion, and merge)
• Runtime: O(n3),
n: total number of edges over all input buildings
• Data: 2.5 k buildings, n = 19 k edges, 1 : 15 k, dG = 25 m (IGN)
• 12 min for computing a sequence of 10 maps
29-1
Animation
400 m
zooming out
29-2
Animation
400 m
zooming out
29-3
Animation
400 m
zooming out
29-4
Animation
400 m
zooming out
29-5
Animation
400 m
zooming out
29-6
Animation
400 m
zooming out
29-7
Animation
400 m
zooming out
29-8
Animation
400 m
zooming out
29-9
Animation
400 m
zooming out
29-10
Animation
400 m
zooming out
29-11
Animation
400 m
zooming out
30 Contents of Thesis
Aggregation, Simplification, Elimination
Optim.
DP
MST A? ILP
LSA DP Optimal sequence for aggregation
Administrative boundaires
Buildings to built-up areas
Morphing polylines
Choosing right data structures
Elimination Simplification
Exaggeration
Simplification
Related Generalization
p 2ε
Aggregation Classification
SortedDictionary, SortedSet, . . .
31-1
Conclusion
• Studied four topics of continuous generalization
31-2
Conclusion
• Studied four topics of continuous generalization
• Used optimization methods to attain good results
31-3
Conclusion
• Studied four topics of continuous generalization
• Used optimization methods to attain good results
• Shared experience of using right data structures
31-4
Conclusion
• Studied four topics of continuous generalization
• Used optimization methods to attain good results
• Shared experience of using right data structures
Future work
• Improve our methods
31-5
Conclusion
• Studied four topics of continuous generalization
• Used optimization methods to attain good results
• Shared experience of using right data structures
Future work
• Improve our methods
• Usability testing
31-6
Conclusion
• Studied four topics of continuous generalization
• Used optimization methods to attain good results
• Shared experience of using right data structures
Future work
• Improve our methods
• Usability testing
• Work on complete maps (with roads, buildings, ...)
scroll
31-7
Conclusion Thank
• Studied four topics of continuous generalization
you!
• Used optimization methods to attain good results
• Shared experience of using right data structures
Future work
• Improve our methods
• Usability testing
• Work on complete maps (with roads, buildings, ...)
scroll