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

Post on 27-Mar-2015

218 Views

Category:

Documents

3 Downloads

Preview:

Click to see full reader

Transcript

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

Missae YamamotoGilberto CamaraLuiz 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

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

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•

Two points – potential label positions and corresponding conflict graph

Candidate label positions Conflict graph (linked nodeshave 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

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.

The maximum nonconflict labeling algorithm

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

Example of label arrangement

Adjacency matrix for example

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

Label with least conflicts is L02Solution 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 L12Solution4 = {( P6, L24), (P1, L02), (P2,

L05), (P3, L12)}

Label with least conflicts is L15S= {( 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)}

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

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

top related