Download presentation

Presentation is loading. Please wait.

Published byHannah White Modified over 3 years ago

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

2
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

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

4
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

5
A good map must be easily readable Source: ESRI

6
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

7
Source: Institute for Cartography and Geoinformation, University of Bonn

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

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

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

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

12
Fast Algorithm for Label Placement (FALP)

13
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.

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

15
Example of label arrangement

16
Adjacency matrix for example

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

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

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

20
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

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

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

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

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

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

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

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

28
Results

29
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

30
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

31
Percentage of labels without conflict for different number of points

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

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

34
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

Similar presentations

© 2017 SlidePlayer.com Inc.

All rights reserved.

Ads by Google