Essential labeling concepts
Generally, labeling is the process of placing descriptive text onto or next to features on a map. In ArcGIS, labeling refers specifically to the process of automatically generating and placing descriptive text for map features. A label is a piece of text on the map that is dynamically placed and whose text string is derived from one or more feature attributes.
In ArcGIS, the following are true:
- Label positions are generated automatically.
- Labels are not selectable.
- You cannot edit the display properties of individual labels.
Labeling is useful to add descriptive text to your map for many features. Labeling can be a fast way to add text to your map, and it lets you avoid having to add text for each feature manually. In addition, ArcMap labeling dynamically generates and places text for you. This can be useful if your data is expected to change or you are creating maps at different scales.
ArcMap has two labeling engines. Standard Label Engine is the default label engine included with ArcGIS, and Maplex Label Engine (as part of the Maplex for ArcGIS extension) provides further capabilities for placing your labels.
Making a map with labels
The following steps provide a workflow for using labeling in your map:
- Start ArcMap and create a new map or open an existing one. If necessary, add the data you want to label to your map.
- Add the Labeling toolbar and open Label Manager.
- Turn on labeling for your layer's default label class to get a first look at your map labels.
- Use the Label Manager to create additional label classes if you want to specify different labeling properties for the features in the same layer.
- Use the Label Manager to polish your map's labels by changing the label expression, label text symbol, and label placement options.
- Work with label priorities and weights to prioritize your labels and resolve conflicts between labels and features.
- Convert your labels to annotation if you want to be able to manually position each piece of text.
Displaying dynamic labels
To display labels for a layer, specify the attribute or attributes of the feature on which you want to base your labels—for example, a street name or soil type—and turn labeling on. ArcMap automatically places labels on or near the features they describe. You can also control the font, size, and color of the text to help differentiate labels for different types of features.
When you turn on dynamic labeling, ArcMap places as many labels on the map as possible without any overlap. In areas where features are tightly clustered, some features may not be labeled. As you zoom in on your map, more labels will dynamically appear.
By default, labels will not scale as you zoom in or out on your map; that is, they stay the same size on the page regardless of the map scale. Because they stay the same size on the page, they will, by default, take up more geographic space on the map as you zoom out and less space as you zoom in. Once you've decided on a map scale, you will probably want your labels to scale as you zoom in and out. You do this by setting a reference scale for your data frame.
Controlling which features are labeled
To gain more precise control over which features are labeled and where labels are placed, you need to work with more advanced labeling properties. Specifically, you can adjust which features are labeled and where labels are placed with respect to features.
There are three ways to control which features are labeled:
- Set the label priority that controls the order in which labels are placed on the map.
- Set label weights and feature weights to establish a ranking system for labels when there is a conflict (overlap) on the map with other labels or features.
- Use label classes to specify different labeling properties, including priority, weights, and placement properties, for features in the same layer.
Label priority, label weights, and feature weights work together to control which features are labeled and also affect where labels are placed.
Label priority can work on a layer-by-layer basis, or you can specify label priority within layers by further dividing a layer's labels into label classes. For example, you could divide your city labels into two label classes, major cities and secondary cities. Then you could give the major city labels a higher priority and a higher label weight than the secondary labels.
You can further refine your map by adjusting the feature weights of your city label classes. The general rule with weights is that a feature cannot be overlapped by a label with an equal or lower weight. Continuing with the example, you could increase the feature weights of your major cities class from None to High, which is the highest weight. Doing this will result in a map where labels can overlap secondary city symbols, but not major city symbols.
Controlling where labels are placed
To control where labels are placed, you should use label placement properties. As with label priority and weights, these settings work on a layer basis, or you can use label classes to subdivide features in the same layer and assign them different placement properties. Label placement properties let you specify where each label is placed on the map with respect to the feature being labeled. ArcMap has different label placement options for point, line, and polygon features. In addition, installing and enabling the Maplex for ArcGIS extension will give you a different, enhanced set of label placement properties.
Converting labels to annotation
If you need exact control over where a given label is placed on your map, you should convert your labels to annotation. Text stored as annotation is editable, which means that you can select and move individual pieces of text as well as change their display properties (font, size, color, and so on). For example, you might want to convert labels to annotation so you can manually move a few pieces of text to make room for one piece that ArcMap was unable to place due to space constraints. When you convert labels to annotation, ArcMap provides you with a list of all the labels that weren't placed and lets you interactively place them on your map as needed.
If you have an ArcEditor or ArcInfo license, you can convert labels to a special kind of annotation called feature-linked annotation. Feature-linked annotation is annotation with some of the benefits of labeling:
- If you move a feature, the annotation for that feature moves with it.
- If you delete a feature, the annotation is also deleted.
- If you change an attribute of a feature on which the annotation text is based, the annotation text changes.