# Fast Point-Feature Label Placement Algorithm for Real Time Screen Maps

## Presentation on theme: "Fast Point-Feature Label Placement Algorithm for Real Time Screen Maps"— Presentation transcript:

Fast Point-Feature Label Placement Algorithm for Real Time Screen Maps
Missae Yamamoto Gilberto Camara Luiz Antonio Nogueira Lorena

Schedule Definition The combinatorial explosion of possible solutions
Label placement potential label positions cartographic preference The combinatorial explosion of possible solutions Conflict graph and adjacency matrix FALP - Fast Algorithm for Label Placement Results Sample of label placement for 1000 points Conclusion

Label placement (FONTE: Edmondson et. al. (1996, p. 14).

The label placement problem
We want our maps to be legible Name placement can be one of the most time-consuming aspects of map production, Names must not overlap Names must be clearly associated with the features they annotate

A good map must be easily readable
Source: ESRI

Why fast algorithms for label placement?
Web maps are very popular Map servers allow the user to combine many layers Layers have text associated Unfeasible to pre-compute all label arrangements We need fast ways to generate good quality maps for web map servers

Source: Institute for Cartography and Geoinformation, University of Bonn

A set of potential label positions and their cartographic preference (best = 1; worse = 4)

the combinatorial explosion of possible solutions
1 point 2¹ configurations P1/L0 P1/L1 2 points 2² configurations P2/L0 P2/L1 P2/L0 P2/L1 3 points 2³ configurations P3/L0 P3/L1 P3/L0 P3/L1 1000 points 2¹ººº configurations

Two points – potential label positions and corresponding conflict graph
Candidate label positions Conflict graph (linked nodes have conflicts)

A conflict graph as an adjacency matrix
Number of conflicts (node degree): L5 = 4

Fast Algorithm for Label Placement (FALP)

A fast algorithm for label placement
Create the conflict graph (done off-line). Use the conflict graph to label as many points as possible. Create a labeling for the remaining points Use local search to improve map quality.

The maximum nonconflict labeling algorithm (Uses the conflict graph to label as many points as possible.)

Example of label arrangement

Label with least conflicts is L24 Solution1 = {(P6, L24)}

Label with least conflicts is L02 Solution 2 = {(P6, L24), (P1, L02)}

Label with least conflicts is L05 Solution3 = {( P6, L24), (P1, L02), (P2, L05)}

Two labels with 4 conflicts (L12 or L18) P3 = {L11, L12 } or P5 = {L18 , L19, L20}? We choose {P3, L12} since P3 has two possible label positions and P5 has three

Label with least conflicts is L12 Solution4 = {( P6, L24), (P1, L02), (P2, L05), (P3, L12)}

Label with least conflicts is L15 S= {( P6, L24), (P1, L02), (P2, L05), (P3, L12), (P4, L15)}

Remaining label is L18 final solution S= {( P6, L24), (P1, L02), (P2, L05), (P3, L12), (P4, L15), (P5, L18)}

Processing labels with conflicts (Create a labeling for the remaining points)

Processing of labels with conflicts
S* = {(P1, L02), (P2, L05), (P3, 0), (P4, L14), (P5, 0), (P6, L23)} Point P3 has candidate labels L = {(L09, 1), (L10, 2), (L11, 1), (L12,0)} S* = {(P1, L02), (P2, L05), (P3, L12), (P4, L14), (P5, 0), (P6, L23)} Point P5 has candidate labels L= {(L17, 3), (L18, 1), (L19, 1), (L20, 2)} S* = {(P1, L02), (P2, L05), (P3, L12), (P4, L14), (P5, L18), (P6, L23)}

Local search algorithm (Use local search to improve map quality)

Local search algorithm
S* = {(P1, L02), (P2, L05), (P3, L12), (P4, L16), (P5, L18), (P6, L22) P1 List = {(L01, 1), (L02, 0)} S* = {(P1, L02), (P2, L05), (P3, L12), (P4, L16), (P5, L18), (P6, L22)} P2 List = {(L05, 0)} P3 List = {(L09, 1), (L10, 2), (L11, 2), (L12,1)} S* = {(P1, L02), (P2, L05), (P3, L09), (P4, L16), (P5, L18), (P6, L22)}

Results

Standard sets of randomly generated points
conditions described by Christensen et al. (1995) grid size of 792 by 612 units fixed size label of 30 by 7 units page size of 11 by 8.5 inch

Test set Number of the points: N = 100, 250, 500, 750, 1000
Configurations: For each problem size, 25 different configurations with random placement of point features using different seeds; 4 label positions were considered for each point

Percentage of labels without conflict for different number of points

Computational times to reach the good solutions for different number of points (sec)

After FALP application for 1000 random points (labels without overlap = 911)

Conclusion The FALP showed quality results in label placement and excellent runtime performance We recommend to use FALP to solve point feature label placement for real time screen maps

Download ppt "Fast Point-Feature Label Placement Algorithm for Real Time Screen Maps"

Similar presentations