# Map generalisation Reasons, measures, algorithms.

## Presentation on theme: "Map generalisation Reasons, measures, algorithms."— Presentation transcript:

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-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 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 b 1, b 2, … Determine removal value F( type(a), type(b i ), boundary length(a,b i )), for i = 1, 2, … Node for a becomes child of node for b i for which F gives highest value (long boundary, types a and b i compatible) Remove boundary between a and b i and adjust the importance of b i

GAP-tree Compatibility table needed for types: heath and forest fairly compatible, lake and industry not so Importance can depend on type and size forest1 forest 2 Urban 1 Urban 2 lake corn Gras 1 Gras 2 Gras 3 road 1 road 2 1 2 3 1 2 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

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.000Topo 1 : 50.000

Shape change buildings For example by edge-shifts to eliminate short edges 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