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: the Standard Label Engine is the default label engine, and the Maplex Label Engine which 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.
- Choose a label engine - Standard Label Engine or Maplex Label Engine
- 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 specify scale ranges for your label classes to improve the performance of your map.
- Use the Label Manager to polish your map's labels by changing the label expression, label text symbol, and label placement options using the Standard Label Engine or Maplex Label Engine.
- 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 on labeling. 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.
Reference scale
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 four 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.
- Create a scale range for the label class to control at which scales labels are displayed.
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.
Setting a scale range for your label classes enables you to control which labels are displayed at which scale. For example, you could set the scale range for the secondary cities so that as you zoomed out they would no longer display, and you would only see the labels of the major cities. If there is a reference scale set for labels, you are often unable to read them as you zoom out, so turning them off with a scale range improves the performance of your map and reduces visual clutter.
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, using the Maplex Label Engine 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 ArcGIS for Desktop Standard or ArcGIS for Desktop Advanced 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.