Remove symbols where label is unplaced

489
7
06-06-2021 06:05 AM
Labels (1)
JohnGoldsmith
New Contributor II

[ArcGIS Pro 2.8]

Hi,

I'm trying to reduce the density of small towns that I'm showing on a map and using the Label buffer, with hard constraint, to do this.  This works well, however the symbol (a dot) still remains when the label is hidden.

Is there a way in the UI to remove the symbols of those unplaced labels, or failing that in some post processing step with Python?

Many thanks

John

0 Kudos
7 Replies
SarahHartholt
Occasional Contributor III

I would suggest using display filters rather than your buffer method. In my example, features with OBJECTID greater than 3304 will only display at scales between 0-24,000. Your query would need to be something like Where Town Size is equal to small. Click here for more help: Use display filters—ArcGIS Pro | Documentation

SarahHartholt_1-1623073352685.png

 

 

0 Kudos
JohnGoldsmith
New Contributor II

Hi Sarah,

Thanks very much for your reply.  That's a good idea however the density varies by region - for example the in the east of Brazil there's a relatively high number of small population towns and so i want overlapping town (labels) to disappear, but in and around the Sahara there's plenty of space and so I want all of those towns to be visible.

It seems like this is the purpose of allowing labels to disappear and so my expectation was that this would apply to the symbol as well.

(Also, I should have mentioned in the original question, that this is for a print map and so I've set a reference scale of 1:11,500,000)

Best regards

John

0 Kudos
SarahHartholt
Occasional Contributor III

Sounds like you need to come up with some sort of criteria for each region in your map and standardize how and when you need locations to display since "small" is relative to each region.

0 Kudos
JohnGoldsmith
New Contributor II

Hi Sarah, 

You might be right but I'd like to benefit from the automatic 'unplacement' and apply that to the symbol if I can, without having to manually decide on what regions require this.  It seems like that's what the job of overlap identification is for.

Best regards

John

0 Kudos
LindaWilliams1
New Contributor III

Do you need to show the points in addition to the labels? Otherwise, you could make the point symbol have no color and center the labels over the points, and let the labels themselves indicate the locations of the towns. This would remove the need to sync the symbology with the unplaced labels.

0 Kudos
JohnGoldsmith
New Contributor II

Hi Linda,

Thanks for your reply.  If there's no way of hiding the symbol then I'll try this suggestion, thank you. 

I guess I was hoping that this was either in the product or there was a way to address this in code.

Anyway, thank you to you and Sarah for the workaround suggestions - I will try them both.

Best regards

John

0 Kudos
JohnGoldsmith
New Contributor II

Hi,

Following up on this to jot down what I ended up doing. 

Thanks to some great advice from @WendyHarrison I created an annotation layer from my feature class.  The annotation layer attribute table then contains a column named 'Status', which identifies which labels are unplaced.  I then joined the annotation layer back to the original feature layer, which adds the status column.  Once that's added you can then add a symbology filter to hide based on that column: Status <> 1 (unplaced).

If there's a product feature request in here it would be for an extra property in the Symbology window to "Hide symbol if associated label is unplaced".

Anyway, these are all good solutions and thanks again to @SarahHartholt and @LindaWilliams1 for helping me out.

Best regards

John