Kaartgeneralisatie

advertisement
Map generalisation
Reasons, measures, algorithms
Cartographic generalisation
• Changes that are necessary when
reducing the map scale
1 : 50.000
1 : 25.000
1 : 50.000 enlarged
elimination
simplification
point conversion
(symbolisation)
aggregation (of polygons)
Reasons for generalization
• Less crowdedness, distracting detail on
the map
• Improve visibility of objects that would
become too small
• Better visualisation through symbolisation
• Moving to avoid visual collisions
Framework (McMaster & Shea)
• Discover the need for generalisation
- local need (conflict)
- global need: too many details, themes
• Means: operators that change the map
• Restrictions that prescribe what the
operators may do
• Algorithms for the operators
Need for generalisation
•
•
•
•
Imperceptibility (too small)
Coalescence (visual collision, too close)
Congestion (too crowded, too much detail)
Consistency preservation
Means: the operators
•
•
•
•
•
•
Selection/elimination
Displacement
Shape change
Aggregation
Dissolution
Reclassification
• Typification
• Exaggeration
• Point, line, area
conversion
deciduous forest, coniferous forest  forest
Municipality boundaries  province boundaries
Operators: more examples
Partial line
conversion
Exaggeration
(enlargement)
Point-to-area
conversion
Restricting conditions
(measures)
•
•
•
•
Minimum area (against imperceptibility)
Minimum distance (against coalescence)
Minimum `width’ (against self-coalescence)
Maximum number of objects in some region
(against congestion)
• Preservation global shape, size, orientation, ...
• Preservation relative crowdedness
Restrictions:
urban
• Global shape
• Global position
• Orientation
• Not: separate
buildings, precise
shape, size,
position
Some problems and conflicts
• Aggregation can give
new coalescence
• Selection can disturb
relative crowdedness
Problems: four classes
• Geometric: too small objects, too close
• Topologic: self-intersection, wrong face
• Semantic: river that flows hill up after
generalisation contour lines and river
• Gestalt (impression): map crowdedness too
much dispersed
Possible optimalisations of an
operator
•
•
•
•
•
Smallest displacement
Largest subset (selection; best represent.)
Smallest subset (selection; least clutter)
Smallest perimeter (shape change)
Smallest area of symmetric difference
(shape change, aggregation)
• Smallest Hausdorff distance (shape change)
Measures for imperceptibility,
coalescence, self-coalescence
Imperceptibility: area
Coalescence: smallest distance
Self-coalescence: small distance for points far
apart on the line or curve. Possibilities e.g.:
1. Distance p,q < , distance
on curve > 3 • d(p,q)
2. Each circle [center on curve]
with radius 2x the line thickness
is filled more than 70%
Measure for congestion?
• Influenced by line length, line style, color
• Influenced by number and type of point
symbols, color
• Influenced by boundary length between
region, color, contrast
• Influenced by patterns, regularities
Examples of generalisation
methods
• Settlement selection (Poiker, v. Oostrum et
al.)
• Road selection (Thompson & Richardson)
• River selection (Strahler order)
• Region selection (GAP tree)
• Aggregation (via triangulations)
• Shape change (natural objects, buildings)
• Displacement (iterative using VD)
Settlement selection
• Keep big (important) cities
• Keep cities if there is no city close by
• Input: cities (points) with importance
value
Eight
biggest:
With
spread
model
Settlement spacing ratio
(Langran & Poiker ‘86)
• Given a constant c, put circle with radius
c/i with center on city with importance i
• For each city, in decreasing importance
order:
- if its circle doesn’t contain a previously
chosen city (point), then choose it
Big city  small circle  good `chance’ to be selected
City close to chosen (hence bigger) city  circle
can contain it  city won’t be chosen
Circle growth model
(v. Kreveld, v. Oostrum, Snoeyink ‘97)
• Determines choice order, not one
selection
• Desired number of cities can be specified
• Settlement spacing model has no
monotonocity. For smaller c:
– in principle more cities are selected, but not
always;
– it can happen that a city that appears in a
small selection doesn’t appear in a bigger one
 artifacts when zooming
Circle growth model
• Choose city with biggest importance i_max
• Given a constant c, put circle with radius
c  i with center on city with importance i
• Increase c and determine the city whose circle
is covered last by the circle of the chosen city
• Assign the chosen city an importance
of i_max
Circle growth model
• Brute-force implementation: O( n³ ) time
• By maintaining the nearest chosen city
for each not chosen city: O( n² ) time
• With Voronoi diagrams and maintaining
nearest chosen city: O(n log n) typical
– Voronoi diagram of chosen cities
– Maintain heap on non-chosen cities in each
Voronoi cell
– Update structures when a next city is chosen
Road selection
• Which roads of a network can stay when
generalizing?
• Depends on classification road (highway,
provincial road, local road, minor road)
• Depends on importance of the connection
• ... more criteria ...
• Input: road network with classification,
and important places (cities)
Road selection approach
à la Thomson & Richardson ‘95
• For each pair of important places,
determine shortest/fastest route in
whole network
• Determine this way for each road
segment how often it lies on a
shortest/fastest route
• Choose threshold and choose all road
segments are used more often than the
threshold on a shortest/fastest route
Thomson & Richardson
• No guarantees on imperceptibility,
coalescence, congestion
• Can be post-processed:
- line simplification
- line displacement
- open up small loops
- symbols for important
junctions, roundabouts,
intersections
River selection
• Of a river system
with branches,
determine relative
importance
• E.g. by the
Strahler order
Area selection
• For a subdivision, determine order to
merge regions into a neighboring region
• GAP-tree approach (v. Oosterom ’94)
(GAP = Generalized Area Partitioning)
• Input: Subdivision and for each region its
type and importance. Also: “removal
function” F to choose best neighbor
GAP-tree construction
• Determine least important region a.
• Determine neighboring areas b1, b2, …
• Determine removal value F( type(a),
type(bi), boundary length(a,bi)), for i =
1, 2, …
• Node for a becomes child of node for bi
for which F gives highest value (long
boundary, types a and bi compatible)
• Remove boundary between a and bi and
adjust the importance of bi
GAP-tree
• Compatibility table
needed for types:
heath and forest
fairly compatible,
lake and industry
not so
• Importance can
depend on type
and size
2
2
1
1
2
1
3
Gras 1
road 1
Gras 2
Gras 3
road 2
Urban 1
lake
forest 2
island forest1 corn
Urban 2
Region aggregation
à la Jones et al. ‘95
• Triangulate between objects to be
aggregated
• Aggregate if:
- the distance is small over a stretch
- it reduces total boundary length
Region aggregation
à la Jones et al.
• More general:
triangulate all and test
where aggregation is
good
• Use constrained
Delaunay triangulation
Delaunay and Constrained
Delaunay Triangulation
• Delaunay: empty
circle
• Constrained Delaunay:
empty circle but with
given edges
empty
Needn’t be empty
Constrained Delaunay
Triangulation
Constrained Delaunay
Triangulation
• Can be constructed in O(n log n) time
(Chew, ’87) with sweep algorithm
• Incremental also possible
Usage:
Places where aggregation is
possible because objects are
close enough and boundary
length is reduced
Aggregation buildings
• Flatten triangles in between
• Reorient buildings
• Test for possible conflicts
Area preservation
and more or less
shape preservation
Area preservation and
more generalization
Shape change of natural
objects
• No restrictions on shape needed
• Problem is self-coalescence, among which
degree of detail
Shape change natural objects
• Using triangulations: constrained
Delaunay
• Add triangles to polygon or remove them
if that “improves” the shape
Shape change natural objects
• Using morphologic operators: dilation,
erosion, opening and closure
Dilation: thicken with a disc
Shape change natural objects
• Dilation: thicken with disc, Minkowski sum
• Erosion: make thinner by thickening
outside with a disc, Minkowski subtraction
• Opening: first erosion, then dilation
(same radius circle)
• Closure: first dilation, then erosion
Ero(X)  Ope(X)  X  Clo(X)  Dil(X)
Shape change natural objects
• Dilation: removes detail but takes more
space (on map) and can change
topology (make holes)
• Erosion: removes detail but can cause
imperceptibility and change topology
(make object disconnected)
• Opening, closure: removes detail, but
can change topology, and doesn’t
always solve self-coalescence
Shape change buildings
• Requirement to preserve axis-parallelity
and character
Topo 1 : 25.000
Topo 1 : 50.000
Shape change buildings
• For example by edge-shifts to eliminate
short edges
short edge
short edge
Displacement
• Against coalescence: needed if objects
are too close
- buildings near buildings
- buildings near roads
• De-clustering too crowded regions at the
cost of empty regions
• Apply moderately to keep map
impression, i.e., relative crowdedness
• Risk of disturbing regularity, patterns
Displacement: two approaches
• Incremental approach: locate problems
and solve one by one by displacement
• Global approach: no order needed for
solution, iterative de-clustering with
Voronoi diagrams
VD de-clustering: idea
• Set P of points:
– Compute VD of P (in a bounded region)
– Move each point to the center of gravity of
its Voronoi cel
– Iterate (so: recompute VD, move, ...)
VD de-clustering
• Many iterations  (too) even spread
• Relative positions maintained more or
less
• Can be applied to buildings, intersections
of roads, cities, ...
Generalisation - conclusion
• Difficult to automate problem
• Many situations, conditions, possibilities,
exceptions
• Order for applying operators is partially
unclear
• Still an active research area
Download