Display Point Labels in Same Drawing Order as Features

403
3
Jump to solution
02-29-2024 12:50 PM
Labels (2)
aolson
by
New Contributor

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:

Overview.PNG

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.

Example1.PNG

 

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. 

Example2.PNG

 

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?

2 Solutions

Accepted Solutions
JesseWickizer
Esri Contributor

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.

JesseWickizer_1-1709323691991.png

2. Select Point symbol as the callout style from the menu.

JesseWickizer_0-1709323619560.png

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.

JesseWickizer_5-1709324193753.png

5. Click the Conflict resolution tab, expand the Unplaced labels expander and check Never remove (place overlapping).

JesseWickizer_2-1709323965893.png

The labels will all draw with their corresponding point.

JesseWickizer_3-1709324033457.png

6. Make the symbology on the layer invisible or at least smaller than the desired point symbol so it gets covered by the label.

JesseWickizer_4-1709324075568.png

View solution in original post

JesseWickizer
Esri Contributor

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.

JesseWickizer_0-1709565006637.png

2) On the Primary symbology tab, edit the symbol.

JesseWickizer_1-1709565173609.png

3) On the Structure tab, select Add symbol layer > Add marker layer

JesseWickizer_2-1709565290488.png

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.

JesseWickizer_3-1709565544488.png

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.

JesseWickizer_4-1709565724353.png

JesseWickizer_5-1709565801670.png

 

  

View solution in original post

3 Replies
GeeteshSingh07
Occasional Contributor II

@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:

GeeteshSingh07_0-1709268421611.png

 

JesseWickizer
Esri Contributor

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.

JesseWickizer_1-1709323691991.png

2. Select Point symbol as the callout style from the menu.

JesseWickizer_0-1709323619560.png

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.

JesseWickizer_5-1709324193753.png

5. Click the Conflict resolution tab, expand the Unplaced labels expander and check Never remove (place overlapping).

JesseWickizer_2-1709323965893.png

The labels will all draw with their corresponding point.

JesseWickizer_3-1709324033457.png

6. Make the symbology on the layer invisible or at least smaller than the desired point symbol so it gets covered by the label.

JesseWickizer_4-1709324075568.png

JesseWickizer
Esri Contributor

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.

JesseWickizer_0-1709565006637.png

2) On the Primary symbology tab, edit the symbol.

JesseWickizer_1-1709565173609.png

3) On the Structure tab, select Add symbol layer > Add marker layer

JesseWickizer_2-1709565290488.png

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.

JesseWickizer_3-1709565544488.png

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.

JesseWickizer_4-1709565724353.png

JesseWickizer_5-1709565801670.png