I am having trouble with labels overlapping in high point density areas of my data. I am labeling my points with the feature's OBJECTID. I want the labels to be displayed in the same drawing order as the point features. The point feature that is drawn first in the dataset should have a label that is visible and none of the labels for the point features in back should come through.
Here is a view of all the points at 1:75000 scale:
The issue goes away when zooming into areas where the points do not overlap, but I am trying to publish this data as a webservice and users will see the overlapping points when they use the service.
In this first example, there are points that are drawn in the front, but have no label. Also, the labels from features drawn in the background are displayed on top. The '196' label and '174' label should not be visible on top.
In this second example, the '273' and '275' labels are for point features drawn in the back and the labels should not be over the top of the foreground points.
Is there a way in ArcPro to have the drawing order of labels match the drawing order of features so that labels of features drawn in the background do not appear in foreground?
Solved! Go to Solution.
To draw each label on the same level as its corresponding feature, draw the point symbol as part of the label instead of the symbology.
1. In the Label class pane, click the Symbol tab and expand the Callout expander.
2. Select Point symbol as the callout style from the menu.
3. Configure the Point symbol callout to your desired point symbol.
4. Switch to the Position tab of the Label class pane and set the placement style to Centered on point.
5. Click the Conflict resolution tab, expand the Unplaced labels expander and check Never remove (place overlapping).
The labels will all draw with their corresponding point.
6. Make the symbology on the layer invisible or at least smaller than the desired point symbol so it gets covered by the label.
I should note that there's another way to achieve this from the Symbology pane.
1) In the Symbology pane, click the Vary symbology by attribute tab and check on Allow symbol property connections.
2) On the Primary symbology tab, edit the symbol.
3) On the Structure tab, select Add symbol layer > Add marker layer
4) On the Layers tab, select the new Shape marker and from the Insert shape from Form menu, select the number 1 symbol to create a Shape text symbol.
5) Since you enabled symbol property connections, there is a little database icon next to some of the properties in the pane. In the Appearance group next to Text string, select the database icon and choose the field you wish to pull the text from or build an expression.
@aolson , not sure, if this resolves your issue:
Symbol layer drawing- https://pro.arcgis.com/en/pro-app/latest/help/mapping/layer-properties/symbol-layer-drawing.htm
Additional strategies for placing labels: https://pro.arcgis.com/en/pro-app/latest/help/mapping/text/why-use-additional-strategies-for-placing...
These documents may give you some clarity:
To draw each label on the same level as its corresponding feature, draw the point symbol as part of the label instead of the symbology.
1. In the Label class pane, click the Symbol tab and expand the Callout expander.
2. Select Point symbol as the callout style from the menu.
3. Configure the Point symbol callout to your desired point symbol.
4. Switch to the Position tab of the Label class pane and set the placement style to Centered on point.
5. Click the Conflict resolution tab, expand the Unplaced labels expander and check Never remove (place overlapping).
The labels will all draw with their corresponding point.
6. Make the symbology on the layer invisible or at least smaller than the desired point symbol so it gets covered by the label.
I should note that there's another way to achieve this from the Symbology pane.
1) In the Symbology pane, click the Vary symbology by attribute tab and check on Allow symbol property connections.
2) On the Primary symbology tab, edit the symbol.
3) On the Structure tab, select Add symbol layer > Add marker layer
4) On the Layers tab, select the new Shape marker and from the Insert shape from Form menu, select the number 1 symbol to create a Shape text symbol.
5) Since you enabled symbol property connections, there is a little database icon next to some of the properties in the pane. In the Appearance group next to Text string, select the database icon and choose the field you wish to pull the text from or build an expression.