Ask A Cartographer

Increase Label Buffer in Maplex

November 09 2010 | 5 comments
Categories: Labeling, Maplex


On a "Area of Interest" layer I have, Maplex is set to place the label outside of the polygon whenever the label is too large to fit inside of the polygon. This effect looks great for areas that do not have surrounding labels. However if Maplex places the label in areas that already have several labels near by they look crowded. In these cases I would rather that the label not be placed at all. Unfortunately, with Maplex we can only buffer labels up to 50% of the font height. Is there a way to increase this buffer amount so that the labels do not have to be so crowded?

By Default, the Maplex label engine will only buffer up to 50% of the font height.

Mapping Center Answer:

Interesting problem.  First, in Maplex Properties, on the conflict resolution tab, in the label buffer area, make sure the Hard Constraints option is checked.  Also make sure the Never Remove label option is turned off. In trying this I also assumed that the boundary weight is set to 1000.  So, I was successful in producing an ambiguously labeled map.

The first idea I tried, and didn't think too much of, was to set up leader lines for the text--I found out that very few of my labels actually were inside their polygons.  While clearer, the map was difficult to read.

The second idea, which worked along the lines of what you indicated would be acceptable involved setting the boundary label weight to 500, and changing the polygon outline symbol to be much lighter--so the labels were not visually confused with the polygon outlines.  That worked much better (I was still using leader lines), and better looking still when I unchecked the May Place Labels Outside option.  This result allowed some overrun and the labels generally were centered on their polygons.  So in the end it wasn't necessary to resort to using leader lines.

Hopefully that helps.

Label constraints posted by Vilmantas Alekna on May 27 2013 6:03AM
While ability to send a question to Ask A Cartographer is disabled i'll place my question near similar one.
I trying to create base which have separate Reference map service and separate Base map service - exactly like Light Gray Canvas Map Template. The problem with the labels is that when You caching two separate map services Reference map lables overlay on Base map labels. How to avoid this - i investigated Light Gray Canvas Map Template (Basemap project) and found that in each scale group there are "Label Constraint" layer with labels from Reference project - just could someone explain how it is done with 'invisible' (red squares) label constraint point symbols?
Response posted by Aileen Buckley on Jun 19 2013 5:32PM
This is what I heard from our developers:

The techniques we have used are not perfect, and we keep refining them – Currently it’s this:

We use Maplex labeling, and we only use point-based city labels in the reference layer at the moment.

Reference Map
(This performs a double function – It establishes the block, and it thins out labels for classes that we can’t separate in other ways).
• Place all label layers in a group layer, and set the transparency to 100%
• On each point label layer, set a large (rectangular) symbol/marker, big enough to encompass the largest label. Use any color
• Make sure that the Maplex feature weight is set to 1000 (or at least is set to values higher than those in the base layer)

Base Map
• Copy/Paste the label group layer into the base layer.
• Switch off labeling in each layer, leaving the Maplex feature weight as-is

This sets up a buffer zone around the position of the reference map labels.

Line-based labeling is a little more complicated. It requires that the label be set up on a separate layer from any symbol, so that the transparency can be applied
• On each line-based label layer, set a stroke value that is wide enough to include the label (You’ll have to set the labels to draw from the feature geometry rather than the edge of the symbol)
This sets up a buffer zone around the whole line. Of course there is every possibility that some of these buffers will constrain the available space for additional labeling to the point of being unworkable. If this happens you’ll need to decide whether it’s worth doing. However, you can work a block either way ( Base-to-reference or reference-to-base), and in most cases it’s possible to work something out.

Polygon-based labeling is more problematic. You can set up the polygon to block all other labeling, but unless it’s a small feature this may be unworkable.

Hope that helps, and sorry for the delay,
More to the story posted by Aileen Buckley on Jun 21 2013 10:10AM
Actually, there is a little more to the story:

It’s a simple answer, but somewhat complex to implement. Basically each map contains all of the label classes from the other map. The label classes from the “secondary” map are invisible text, that is, no color, such that they get placed in order to make the label classes from the “primary” map go to the expected locations. This can be time consuming to complete, and requires close attention to detail.
Base & Ref labels posted by Vilmantas Alekna on Aug 16 2013 5:03AM
Thanks a lot for response, good 'story'!:)
Very similar story i was investigated while wait Your answer - good to know that i didn't waste my time:)
Thanks again
Glad it was helpful! posted by Aileen Buckley on Aug 16 2013 1:44PM
Glad you found the answer helpful!

If you would like to post a comment, please login.

Contact Us | Legal | Privacy |