Maplex ignoring Symbol Level Draw Order?

745
2
02-27-2012 07:01 AM
AlexanderDunkel
New Contributor
Maybe someone can help me with this problem:

I have a map with lots of overlying Polygon Labels of different importance. I've sorted these into 5 Layers/Classes to prevent important ones from being moved or overlapped by others.

Layer 1: 1 Label, River Placement, Big Font Size
Layer 2: 30 Labels, River Placement, Big Font Size
Layer 3: 90 Labels, Standard Curved Placement, Medium Font Size
Layer 4: 5000 Labels, Standard Curved Placement, Medium to Small Font Size
Layer 5: 25000 Labels, Standard Curved Placement, Small Font Size

To prevent Labels from higher importance Layers to be moved during labeling process, I set up symbol levels and Label Priority Ranking: Layer 1 drawn first, then Layer 2 etc..
It works just great, except for the most important Labels from Layer 1+2: if I just enable these Layers, the Label is placed fine along the polygon direction as a "River Placement", if I enable the other layers below, the top-labels get moved. Is Maplex ignoring Symbol Levels - or how does the label order work (i.e. First Top Labels Placed, then lower Labels Placed, then Top Labels adjusted?)
I try to find a way to freeze the top labels after they are placed..
Tags (2)
0 Kudos
2 Replies
JonMorris
Occasional Contributor II
Hi Alexander,

Maplex goes through a number of stages when placing labels, and label priorities have an influence in more than one place. First, lots of trial positions are generated, in priority order - higher priority layers will be tackled first - then later on the trial positions are scored according to how well they fit various criteria. When the best trial positions are chosen, Maplex looks for overlaps with other labels. In the case of a conflict (overlap), the label with the lower priority will be removed - the next best trial position will be used instead.

So, Maplex does not ignore symbol levels, just that there are more factors in play. Label priorities are more of a preference than an absolute requirement.

When you say the top-level labels are moved, are they unplaced, or just moved to a different position so other labels can also be placed? If you want your highest priority labels to always be placed in the same zone of the polygon, you could use the fixed position option. Otherwise, you may be best converting these layers to annotation first, then labelling the remaining layers.
0 Kudos
AlexanderDunkel
New Contributor
Jon, that helped a lot to understand the label process. Thanks a lot! I ended up completely removing symbol levels and using classes instead as well as hard constraint, fixed position and limited queries for different feature density areas. There are still some parts, where highest labels get removed - I guess this is because of high density of other labels/features in this area (like 1 high priority label is not being placed, but 150+ lowpriority labels instead). I guess the "soft" handling of label placement is something to get used to when switching from standard labeling to maplex engine. Still, it is so much faster than standard label engine.. I have 350.000 Labels on one map of 2x2m and it exports the PDF in under 15 minutes!

Alex
0 Kudos