Point Feature Label Placement Bert Spaan
Overview Introduction Types of point labeling problems Good and bad labeling Complexity of point labeling problem Algorithms and their characteristics Results of algorithms Demo application
What are Point Features? Cities, mountain tops in geographical maps Values in plots with statistical data Nodes in graphs
Map without labeling Maps without labels give little information The same holds for charts and graphs
Examples Point Feature Labeling
Why automated labeling? Label placement contributes up to half of the time needed for producing high-quality maps 1 Cartographers place 20 to 30 labels per hour 1 For some very large technical diagrams, labeling by hand is nearly impossible 1 Cook & Jones, 1990, A Prolog rule-bases system for cartographic name placement
Example Automated Labeling
Labeling Example
Labeling graphs is easy!
Good labeling is not so easy...
Two possibilities Label Size Maximization Maximize the size of the placed labels The labeling has to be complete Label Number Maximization Maximize the number of placed labels Labels have fixed size Most literature focuses on Label Number Maximization, so will this presentation
Label Quality Basic Rules 1.The placement of labels is as unambiguous as possible. Place labels close to the point features they belong to. 2.The information of the labels is legible. No or only a few labels overlap. 3.The number of omitted labels is low. Some label position are preferred above others
Example Basic Rule 1 Avoid ambiguity
Example Basic Rule 2 Avoid overlapping labels
Example Basic Rule 3 Avoid unlabeled points
Possible Label Positions There are lots of ways to label point features None of them is always the best Good labeled maps use a mixture We focus on iso- oriented axis-parallel rectangles
Label Position Models iso-oriented axis-parallel rectangles Fewer possible positions lead to Easier computability Fewer solutions The following six position models have been extensively studied:
Four-slider Model Label has to always touch its corresponding point feature With one of its four corners Along one of its four edges Labeltje
Preferred Label Positions Studies have shown that people tend to prefer certain label positions in favour of others
Complexity ModelDecision problemLabel number max. problem One-positionO(n log n)NP-hard Two-positionO(n log n)NP-hard Four-positionNP-completeNP-hard One-sliderO(n log n)NP-hard Two-sliderNP-completeNP-hard Four-sliderNP-completeNP-hard
Complexity Label maximization problem is NP-hard A heuristical approach is needed Not always an optimal labeling Time is important, calculating an optimal labeling can take days (or years) Leaving some point features unlabeled is not always too big a problem Human cartographers can make adjustments to algorithm output
Point feature density The density of the point features to be labeled is important Low density Few labels will overlap Overlaps are easily resolved Optimal solution is easy to calculate High density A lot of labels will overlap No space for moving labels around Optimal solution is difficult to calculate
Complexity (contd.) NP-hardness isn’t always a problem When the point feature density is not too high When number of point features is not too high Real-world problems often meet the above criteria
Simple Labeling Random Labeling Label points in randomly, if possible One-position Labeling Simple & Fast Works fine for graphs or maps with very low density
Existing Algorithms Hirsh An Algorithm for Automatic Placement Around Point Data 1982 Christensen, Marks & Shieber An Empirical Study of Algorithms for Point-Feature Label Placement 1995 Van Kreveld, Strijk & Wolff Point Labeling with Sliding Labels 1999 Klau & Mutzel Optimal Labeling of Point Features in Rectangular Labeling Models 2003 Ebner, Klau & Weiskircher Label Number Maximization in the Slider Model 2004
Force System Repulsive forces between labels Method that seeks equilibrium of minumum energy Low eqiulibrium corresponds to pleasing labeling
Local Minima “Force has no place where there is need of skill” – Herodotus Force systems tend to get stuck in local minima Optimalizations and constraints are therefore needed
Example Local Minimum Blablablabla Bloblobloblo Bleblebleble Bliblibliblibli Blublublu
Simulated Annealing Very flexible optimization method Analogy: annealing in metallurgy Fast cooling leaves energy in material Slow cooling leaves less energy Accepts worse intermediate configurations Temparature Decreases Controls how the rise and fall of energy Probability
Computational Results Random benchmark set From: Ebner, Klau, Weiskircher, 2005, Proc. 12th Internat. Symp. On Graph Drawing, pages
Computational Results Random benchmark set From: Ebner, Klau, Weiskircher, 2005, Proc. 12th Internat. Symp. On Graph Drawing, pages
Computational Results Real-world benchmark set From: Ebner, Klau, Weiskircher, 2005, Proc. 12th Internat. Symp. On Graph Drawing, pages
Computational Results Real-world benchmark set From: Ebner, Klau, Weiskircher, 2005, Proc. 12th Internat. Symp. On Graph Drawing, pages
Output of Algorithms Java Application Ebner, Klau & Weiskircher Implements important algorithms
Questions? ?