Opened 19 years ago
Last modified 17 years ago
#1619 closed enhancement
Establish a mechanism to prioritize labeling. — at Initial Version
Reported by: | sdlime | Owned by: | sdlime |
---|---|---|---|
Priority: | high | Milestone: | 5.0 release |
Component: | MapServer C Library | Version: | 4.8 |
Severity: | minor | Keywords: | |
Cc: |
Description
At the moment labeling uses a last in first out (LIFO) mechanism to plot labels on a map. The results in excessive use of ANNOTATION layers to make certain labels more prominent. It would be desireable to be able to prioritize LABEL objects for layers in place. One idea might be to create a new layer or class parameter called LABELPRIORITY with values from 1 (lowest) to 10 (highest). LIFO would still be used to prioritize labels within a priority class but all the class 10s would be drawn first, 9's next and so on. Default priority would be something like a 5. I think this could be done by maintaining 10 cache lists in the label cache. This would add one extra loop to the label cache processors (there are a bunch of them, a most one for each output driver). The increased overhead would be offset by not having to process layers multiple times. Cache counters would make skipping empty priority classes very simple. Collision avoidance would be the same as always. Dan mentioned he has some ideas in this area as well so I've added him to the CC list... Steve
Note:
See TracTickets
for help on using tickets.