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

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

Embed Size (px)

Citation preview

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

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

Missae YamamotoGilberto CamaraLuiz Antonio Nogueira Lorena

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

Schedule Definition

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

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

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

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

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

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

A good map must be easily readable Source: ESRI

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

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

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

Source: Institute for Cartography and Geoinformation, University of Bonn

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

A set of potential label positions and their cartographic preference

(best = 1; worse = 4)

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

the combinatorial explosion of possible solutions

P1/L0 P1/L1

P2/L1P2/L0 P2/L0 P2/L1

P3/L1P3/L0P3/L1P3/L0

• •

• •

1 point2¹ configurations

2 points2² configurations

3 points2³ configurations

1000 points2¹ººº configurations

• •

L0 L1•

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

Two points – potential label positions and corresponding conflict graph

Candidate label positions Conflict graph (linked nodeshave conflicts)

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

A conflict graph as an adjacency matrix

Number of conflicts (node degree): L5 = 4

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

Fast Algorithm for Label Placement (FALP)

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

A fast algorithm for label placement

1. Create the conflict graph (done off-line).

2. Use the conflict graph to label as many points as possible.

3. Create a labeling for the remaining points

4. Use local search to improve map quality.

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

The maximum nonconflict labeling algorithm

(Uses the conflict graph to label as many points as possible.)

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

Example of label arrangement

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

Adjacency matrix for example

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

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

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

Label with least conflicts is L02Solution 2 = {(P6, L24), (P1,

L02)}

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

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

(P2, L05)}

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

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

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

Label with least conflicts is L12Solution4 = {( P6, L24), (P1, L02), (P2,

L05), (P3, L12)}

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

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

L12), (P4, L15)}

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

Remaining label is L18 final solution S= {( P6, L24), (P1,

L02), (P2, L05), (P3, L12), (P4, L15), (P5,

L18)}

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

Processing labels with conflicts(Create a labeling for the

remaining points)

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

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)}

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

Local search algorithm(Use local search to improve

map quality)

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

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)}

S* = {(P1, L02), (P2, L05), (P3, L12), (P4, L16), (P5, L18), (P6, L22)}

P3 List = {(L09, 1), (L10, 2), (L11, 2), (L12,1)}

S* = {(P1, L02), (P2, L05), (P3, L09), (P4, L16), (P5, L18), (P6, L22)}

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

Results

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

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

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

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

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

Percentage of labels without conflict for different number of points

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

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

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

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

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

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