Map generalisation Reasons, measures, algorithms

Preview:

Citation preview

Map generalisation

Reasons, measures, algorithms

Cartographic generalisation

• Changes that are necessary when reducing the map scale

1 : 25.000

1 : 50.000

1 : 50.000 enlarged

point conversion(symbolisation)

aggregation (of polygons)

elimination

simplification

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-

coalescenceImperceptibility: 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 importanceof 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 typeand size

forest1

forest 2

Urban 1Urban 2lake

corn

Gras 1

Gras 2 Gras 3road 1road 2

1

2

3

12

1 2

island

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

Places where aggregation is possible because objects are close enough and boundary length is reduced

Usage:

• Can be constructed in O(n log n) time (Chew, ’87) with sweep algorithm

• Incremental also possible

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

Recommended