Automating Label Placement in
Dense Utility Maps
Jill Phelps Kern
• Definition
• Literature review
• Research problem
• Approach and timeline
3
The Map Label Placement Problem
Placing map feature labels
• legibly
• without overlap (features / other labels)
• maintaining visual association of labels with their features
4
5
6
Label Placement
• rules
• quality metrics
• algorithms
7
• Area features
• Point features
• Line features
Label placement most difficult
Label placement least constrained
8
Menemsha
Lakeview
Lakeview
Lake Winnipesauke
Potomo
Potomo
Franklin County
Davis County
9
Sources: Imhof (1962, 1975); Wood (2000)
• Aesthetics
• Label visibility
• Feature visibility
• Association
Based on Van Dijk et al.
(1999) i
City
ATown
BTown
City
Peak
BTown
R i v e r
ATown
10
• Aesthetics
• Association
5 of 20 papers reviewed
• Label visibility 20
• Feature visibility 10
11
11
• Area features
• Point features
• Line features
Label placement most difficult
Frequent research target for label placement automation
Label placement least constrained
12
• Area features
• Point feature label placement
• Line features models algorithms
13
Automated Point Feature Label Placement
Discrete label position priorities: Yoeli (1972)
2
4
1
3
6
7
8
Slider model: Van Kreveld et al. (1999)
5
Continuous circumferential movement: Hirsch (1982), Kameda & Imai (2003)
14
Automated Point Feature Label Placement
Local Search
Global Optimization
15
Automated Point Feature Label Placement
Local Search
• Rule-based exhaustive search
• Gradient descent
Global Optimization
• Force-directed
• Simulated annealing
16
Algorithms
Exhaustive Search
Rule
Rule
Rule
… x
• Place labels according to rules until violation
• Backtrack and adjust to maximize number of labels placed
17
Algorithms
Gradient Descent
• Develop initial label placement
• Compute overlap vectors to guide next movement
• Iterate From Hirsch (1982), p. 13
18
Algorithms
Gradient Descent
• Develop initial label placement
• Compute overlap vectors to guide next movement
• Iterate
• Can cycle between local minima (a) and (b)
(a) without finding preferred placement (c)
From Hirsch (1982), p. 13
(b)
(c)
From Christensen et al.
(1995), p. 213
19
Automated Point Feature Label Placement
Local Search
• Rule-based exhaustive search
• Gradient descent
Global Optimization
• Force-directed
• Simulated annealing
20
Algorithms
Force-Directed
From Stadler et al.
(2006), p. 211
21
Algorithms
Simulated Annealing
Based on Zoraster (1997) and Christensen et al.
(1995)
22
Automated Label Placement
Yoeli priorities
Imhof (and others’) labeling rules
Iteration and backtracking
9.2
Label / feature visibility
Slider models
Simulated annealing
Optimization
Association
Aesthetics
Force-directed methods
23
Evaluate the automated labeling capabilities of current GIS software when applied to dense maps
Identify factors which necessitate manual label placement
24
Town of Concord Sewer Map Book
25
Point feature: Sewer manhole
Attributes: Facility ID , station number , rim elevation , invert elevation
26
Line feature: Sewer main
Attributes: Size, material
(VCP = vitreous clay pipe)
27
Line feature: Sewer main
Attributes: Slope and slope direction
28
Line feature: Sewer tie
Attribute: Service number
29
Importance: Critical – Major – Minor
A. Number of Labels Placed
• Total and % of ideal
• Minimal leader length
B. Labels in Preferred Position
• Point (manhole)
• Line (sewer mains & ties)
• Area (streets)
C. No Overlap
• Label-label
• Label-sewer tie
30
Importance: Critical – Major – Minor
A. Number of Labels Placed
• Total and % of ideal
• Minimal leader length
B. Labels in Preferred Position
• Point (manhole)
• Line (sewer mains & ties)
• Area (streets)
C. No Overlap
• Label-label
• Label-sewer tie
31
Importance: Critical – Major – Minor
A. Number of Labels Placed
• Total and % of ideal
• Minimal leader length
B. Labels in Preferred Position
• Point (manhole)
• Line (sewer mains & ties)
• Area (streets)
C. No Overlap
• Label-label
• Label-sewer tie
32
1. Prepare for research (Dec – Feb)
2. Conduct research (Mar – May)
3. Develop conclusions (Jun – Jul)
4. Present findings (Aug – Oct)
33
• Conduct literature review - COMPLETE
• Select case study maps - COMPLETE
• Design label classes, styles and hierarchy / weighting
- COMPLETE
• Develop label placement quality metrics - COMPLETE
34
35
A. Automated Labeling
•
Apply automated ESRI labeling tools to case study maps
•
Standard labeling engine
• Maplex
•
Measure quality of automated results
• Iterate to improve quality using automated tools
•
Select highest quality result (standard vs. Maplex) for remaining steps
36
B. Manual labeling
• Complete manual adjustments
• Measure quality of manual results
• Compare quality of final automated vs manual
37
• Strengths and limitations of current automated labeling tools
• Conditions under which manual placement becomes preferable
• Research limitations and potential for future study
38
• Prepare for conference presentation
• Present at NACIS 2007 conference
39
Standard Labeling Engine Maplex
Poor Acceptable Ideal
40
41
Christensen, Jon, Joe Marks, and Stuart Shieber. 1994. Placing text labels on maps and diagrams. Graphics Gems IV , Cambridge MA:
Academic Press, 497-504.
Christensen, Jon, Joe Marks, and Stuart Shieber. 1995. An empirical study of algorithms for point-feature label placement. ACM Transactions on
Graphics (14)3: 203-232.
Cook, Anthony C. and Christopher B. Jones. 1990. A Prolog interface to a cartographic database for name placement. In Proceedings of the
International Symposium on Spatial Data Handling , International Geographical Union and International Cartographic Association, pp. 701-710.
Doerschler, Jeffrey S. and Herbert Freeman. 1992. A rule-based system for dense-map name placement. Communications of the ACM (35)1: 68-
79.
Ebner, Dietmar, Gunner W. Klau and Rene Weiskirscher. 2003. Force-based label number maximization. Technical Report TR 186-1-03-02 ,
Vienna: Vienna University of Technology.
Edmondson, Shawn, Jon Christensen, Joe Marks, and Stuart M. Shieber. 1996. A general cartographic labeling algorithm. Cartographica (33)4:
13-23.
Freeman, Herbert and John Ahn. 1984. AUTONAP – an expert system for automatic name placement. Proceedings of the International
Symposium on Spatial Data Handling , International Geographical Union and International Cartographic Association, pp. 544-569.
Freeman, Herbert and John Ahn. 1987. On the problem of placing names in a geographic map. International Journal of Pattern Recognition and
Artificial Intelligence 1(1): 121-140.
Hirsch, Steven A. 1982. An algorithm for automatic name placement around point data. The American Cartographer 9(1): 5-17.
Imhof, Eduard. 1962. Die Anordnung der Namen in der Karte [Positioning names on maps]. Internationales Jahrbuch fur Kartographie, vol. 2,
Verlagsgruppe Bertelsmann GmbH/Kartographisches Institut Bertelsman, pp. 93-129.
Imhof, Eduard. 1975. Positioning names on maps. The American Cartographer 2(2): 128-144.
Jones, Christopher B. 1989. Cartographic name placement with Prolog. IEEE Computer Graphics and Applications 9(5): 36-47.
Kameda, Takayuki, and Keiko Imai. 2003. Map label placement for points and curves. IEICE Transaction Fundamentals E86-A(4): 835-840.
Stadler, Georg, Tibor Steiner and Jurgen Beiglbock. 2006. A practical map labeling algorithm utilizing morphological image processing and forcedirected methods. Cartography and Geographic Information Science 33(3): 207-215.
Van Dijk, S., M. Van Krefeld, Tycho Strijk, and Alecander Wolff. 1999. Towards an evaluation of quality for label placement methods.
Proceedings of the 19th International Cartographic Conference and 11th General Assembly, ed. by C. P. Keller, Ottawa, Ontario, pp. 57-64.
Van Kreveld, M., Tycho Trijk and Alexander Wolff. 1999. Point labeling with sliding labels. Computational Geometry 13: pp. 21-47.
Wood, Clifford H. 2000. Descriptive and illustrated guide for type placement in small scale maps. The Cartographic Journal 37(1): 5-18.
Yoeli, P. 1972. The logic of automated map lettering. The Cartographic Journal 9(2): 99-108.
Zoraster, Steven. 1997. Practical results using simulated annealing for point feature label placement.
42
Science 24(4): 228-238.