label placement rules, techniques. labels on a map text, name of map features no fixed geographical...
Post on 21-Dec-2015
224 views
TRANSCRIPT
Labels on a map• Text, name of map features• No fixed geographical position• Labels of point features (0-dim), line features (1-
dim), areal features (2-dim)
Labels of point features
• Cities on a small-scale map• Heights of peaks• Measured values at measurement points
Three kinds of labels
Utrecht
Nieuwegein Houten
Culemborg
Straight, horizontal name
Curved name Spacing between characters
Label placement
• Where should the text be placed? Which shape? • 20% - 50% of the manual map production time;
can be automated• Which rules do cartographers use?
- No overlap readability- Clear for which feature association- Aesthetical guidelines
Example
Eduard Imhof (1895-1986)
- Swiss Cartographer- “Positioning Names on
Maps” (1962/1975)
Rules according to Imhof
Problematic cases
Problem visibility highway 20
Problem association Thunder Bay and point
Problem readability name
Specific rules point labels• Label must be close to point,
preferably to right and above• Labels are placed horizontal,
no extra spacing• No overlap with other labels,
except perhaps in the spacing of the areal label
• Label may intersect line feature; then line must be interrupted
• Points at a large body of water must have their label in the water. In other cases there may be no line between a point and its label
• If it cannot be avoided, a name may be split over two lines of text
Specific rules line labels• Label must follow shape of river• Label should not bend upwards
and downwards consecutively• At long line features the label
must be repeated• No or little extra spacing
between characters, spacing between words of the label is allowed
• For vertical line features: upward reading direction left on the map and downward right on the map
• Contour lines: labels must interrupt contour line; top of label points to higher regions
Specific rules areal labels
• Horizontal labeling is good unless this conflicts with the dominant shape of the region
• Non-horizontal labels must be curved
• Monotonous curving; no inflection points
• Label should be spread over whole region
• Adjacent regions preferably have same shape of label (both horizontal, e.g.)
• Sometimes an areal label may be outside its region, but not in another labeled region
• Small areal features treated as point features
Strategies for automatic label placement
• Compute for each feature various candidate positions according to the rules
• Choose for each feature one candidate position, such that the chosen positions do not overlap
• Sometimes a feature cannot be labeled, and sometimes the label of a feature must be repeated
Candidate positions points
• Point labels
4-position model
8-position model
slider modelMore general model more labels can be placed, but more complex/ expensive to compute
Candidate positions points
• Priority of point label positions
Imhof 5 43
2 1
Ebinger4
3
2
1
Jones 23
1
Zoraster
56
4
47
258
3 1
6
Yoeli,Hirsch 3
1
4
2 5
6
10
9
8
7
Candidate positions lines
• Compute strip with character height above the river which follows the shape approximately, but doesn’t have too high curvature (e.g. with opening, closure)
• Determine suitable segments in the strip as candidates
Candidate positions regions
• Determine skeleton (medial axis) of region (polygon)
• Determine longest path on skeleton as dominant shape
• Choose middle with suitable character spacing• Vary a little for more candidates
Candidate positions regions, horizontal
• Choose spacing and determine length : height of label
• Compute largest scaled copy of the label (rectangle) that just fits inside the polygon
• Put the label in the correct font size in the middle of the scaled copy
B e l g i ë
B e l g i ë B e l g i ë
Removal part of the candidates
• Compute those candidate positions that intersect map features significantly, or would give unclear association, and remove them
Nieuwegein
NieuwegeinNieuwegein
poor poor good
Reasons for removal
Utrecht
Utrecht
Utrecht
Utrecht
UtrechtZeist
Zeist
Readability text
Visibility features
Association
Utrecht
poor
good
Choosing from the candidates
• Translate to a graph problem (graph G):- each candidate position of each feature is a node in G- two nodes have an edge in G if their candidate positions intersect- two nodes have an edge in G if their candidate positions are of the same feature
Computing intersecting candidates
• Each candidate is (approximately) a simple geometric shape
• Determine all pairs of intersecting candidates using a plane sweep algorithm
• O((n+k) log n) time, with k the number of intersecting pairs
• Typically: k = O(n)
• Independent set: Set of vertices W with for all v, w W: {v,w} E.
• Maximum independent set problem: find largest independent set
• Clique: Set of vertices W with for all v, w W: {v,w} E.
Independent Set
Clique
Graph problem: maximum independent set
Graph problem: maximum independent set
• Also called maximum stable set
• NP-hard problem: solving optimally is very time consuming
• Cannot be approximated with performance guarantees
• Many heuristics
Independent Set
Heuristics for maximum independent set
• Select each candidate that is only adjacent to a clique, and remove the candidate and clique from the graph
• Repeat as long as possible (optimal selections)
Heuristics for maximum independent set
• Select each candidate that is only adjacent to a clique, and remove the candidate and clique from the graph
• Repeat as long as possible (optimal selections)
Heuristics for maximum independent set
• Select each candidate that is only adjacent to a clique, and remove the candidate and clique from the graph
• Repeat as long as possible (optimal selections)
Heuristics for maximum independent set
• Select each candidate that is only adjacent to a clique, and remove the candidate and clique from the graph
• Repeat as long as possible (optimal selections)
Heuristics for maximum independent set
• Select each candidate that is only adjacent to a clique, and remove the candidate and clique from the graph
• Repeat as long as possible (optimal selections)
Utrecht Bunnik
Heuristics for maximum independent set
• Select each candidate that is only adjacent to a clique, and remove the candidate and clique from the graph
• Repeat as long as possible (optimal selections)
• Select candidate that intersects few other candidates
• Select candidate if a feature has only one(or a few) candidates left
• Eliminate candidates that intersect many candidates
Refinements
• Features and labels have different importances• Candidates can have different priority translate problem to maximum weight
independent set
• First place areal labels, then determine candidate point labels and select, then determine line labels and place them(order of decreasing freedom of placement)
Labels in GIS
• Can label positions be pre-computed and stored, for better efficiency?
No, because– Which themes are shown is not known
beforehand;– Which scale and size of the map is needed is
not known beforehand
Labels on interactive maps
• Pop-up labels, or labels only after click• During zooming in, remove labels when their
feature goes outside the frame• During zooming in, allow more and more labels;
during zooming out, remove labels of less important featuresSize of labels does not change!
Commercial packages
• Maplex for ESRI’s ArcInfo and ArcGIS• Label-EZ/MapText for ArcInfo, ArcGIS,
MapInfo, GeoMedia, …• EverName for MapInfo
Maplex: Label fitting & conflicts
• Label Fitting Strategies– Label Stacking– Font Reduction– Abbreviation
• Conflict Resolution– Feature Priority– Overlapping– Creating background labels– Remove duplicate
MapText/Label-EZ
• Configuration file
Cartographic placement rules and preferences according to map type
• Label Fitting Strategies– Reduce font size– Place names with leaders– Use key numbers if no other
possibility for overprint-free placement is possible.