By Charlie Frye, Esri Chief Cartographer
So, you have just spent a few minutes deep in concentration setting up your labeling rules and applied them. ArcMap’s little globe is spinning, spinning… spinning… and nothing. Several of your labels didn’t draw. Panic and go to MappingCenter. Right?
There are a few things we always do when diagnosing the “where’s my label” scenarios, no matter what’s being labeled or what labeling engine is being used.
1. Use the Identify tool on the feature that didn’t get labeled. Don’t just click on the feature, drag a tiny box that intersects the feature. By dragging a tiny box, all the features that intersect that box will draw. Make sure your Identify tool/window is set to show the visible features. In our own work we have found unexpected things like:
- Other features that ended up keeping labels from being placed, like a large polygon that covers some or all of your data frame. (Make sure the polygon’s feature weight for the area within the polygon is set to None.)
- Missing or unexpected attributes in the affected feature that kept it from being included in our label classes
- Extra or duplicate features; these wreak havoc when they are lines as they will cause labels to cancel each another out or generate bizarre label orientations.
- You might even learn that the feature was in a different layer (I know it’s time to go home when that happens).
2. Use the View Unplaced Labels option in the Labeling toolbar. This will tell you whether a label was even attempted; if you see a red label, then you know a label was attempted. If you don’t see a red label, then something is wrong; most likely having to do with the feature’s attributes being included in your label class’s SQL clause, because that feature did not get included. A good way to verify the no red label scenario is to copy the label class’s SQL statement and paste it into the select by attributes dialog for that layer. If your feature doesn’t get selected, then revise your query.
3. Switch to data view, if you’re not already there and zoom to just the extent of a feature that is not labeling properly. If the feature gets properly labeled as a result of isolating it in data view, then you know that there is something about the feature’s position in the broader context of the map that is causing the labeling to fail. If the feature does get labeled, turn off all the other layers; if #1 and #2 above were definitely not finding the problem, then the label should draw. It is now just a matter of turning on other layers, one at a time, to see which one is causing the conflict. Note that layers with many label classes may require that you turn the label classes on one at a time.