GEOG 486
Cartography and Visualization

Part I: Labeling Features


Generally speaking, there are three ways to label features in an ArcMap document: 1) use the Label tool on the Draw Toolbar; 2) use dataset attribute fields to generate dynamic labels; or 3) create data frame annotation. The first case results in graphic text that is not linked to the underlying geography. The second choice easily and uniformally creates labels for all the features in a layer, but they cannot be selected, moved or individually edited. The final option is a mix of the previous two. Labels are created dynamically from the geography (via option #2) and then converted to annotation to become individually editable.

In this lesson you will get a feel for all three methods and learn when each can be of use. As part of this process we will also see how text can be used like a symbol and how modifing different type characteristics can create a visual hierarchy. As I have mentioned before, the steps provided in this lesson (and lesson 2) are examples, and you do not have to follow these guidelines for your version of the Bellefonte Emergency Management map. You may want to work through these steps on a practice version of your map until you understand how best to create and manage your labels for each of the layers.

Before you begin the labeling process, review these two concept gallery items. There is a great deal of cartographic literature and research dedicated to typography; these two items provide a good foundation for conventions and effective design.

Concept Gallery

Learn more about type characteristics in the Concept Gallery.

Learn more about basic label placement in the Concept Gallery.

A. Set the Map Reference Scale (for labeling)

When you label a layer, it is important to consider the scale and final page size of your printed map, the same as it was for creating symbols. If you have not yet done so, you should now establish the scale at which text and symbols will appear at their true size by setting the reference scale. (The two steps below are repeated from lesson 2).

  1. If you set a map scale bookmark in Part II (lesson 2), go to this bookmark under the Bookmarks menu. Or you can zoom to the scale at which you want to label your data.
  2. Right-click the data frame in the TOC, go to Reference Scale and click Set Reference Scale.
    Again, without a reference scale set, the size of a label is independent of the map scale. When you zoom in or out, the text remains the same size. A reference scale links the true size of text or symbols to a particular map scale. The result is text and symbols that change size when the map scale is changed.

B. Label Individual Polygon Features

In this section, you will label individual features using the Label tool. The process is dynamic in that the labels are derived from an attribute field, but in this method the labels are considered graphic text and not linked with the underlying geography that they are labeling. For instance, if you turn off the feature in the TOC after labeling this way, the label will remain even though the feature is gone (although you can create annotation groups and associate these with a layer so they turn off and on with the data. More on this in Part II). This method of labeling features individually is useful if you want just a few of the features from a layer actually labeled (and others not). Before labeling with the Label tool, you need to make sure the Text Label Properties are set correctly.

  1. Open the Layer Properties for one of the polygon layers and click the Labels tab.
  2. Make sure the Label Features in this layer checkbox is not checked.
  3. Select an appropriate field for Label Field:.
  4. Click OK.
  5. Select Customize > Toolbars and turn on the Draw Toolbar if it is not already visible.
  6. Click the drop-down arrow next to the New Text tool New Text Tool Icon and choose the Label tool Label Tool Icon. If the Label tool is grayed out, you need to "focus" the data frame. To do this click the Focus Data Frame button on the Layout Toolbar or double-click in the data frame. A thick diagonal line border will appear around the data frame when it is focused.
  7. The Label Tool Options dialog box will pop up. Select the Place label at position clicked and Use properites set for the feature layer radio buttons (unless you would like to choose a style which pops up in the window). You can set the properties from the label tab of the layer properties.
  8. Move your cursor over the map. You'll see the label tool next to your cursor. Hold the cursor over a polygon. The name of the polygon will appear in a yellow text box (provided the polygon is named).
  9. Label the polygons that fall inside the geographic extent of the display window.
  10. Continue to label the other polygon features until you are satisfied. You can edit these placed labels by selecting the graphic text and using the tools on the Draw Toolbar or by double-clicking the label to get to its properties. Remember the text size is linked to the reference scale, so if it appears to be small, view the layout at 100%. Design your lables for print size, not for what looks good as you work at difference scales.

C. Dynamically Label Features

In this section I will describe ArcMap's auto-label command, a global approach to labeling - where all of the features in a given layer will be labeled based on the values of an attribute field. You can control how the labels look overall, but you cannot select them, move them or edit the way they look individually.

  1. If need be, open the attribute table for a layer to remind yourself of the attribute fields and values. As you are looking over the table, think about which field is a good source for labels.
  2. Open the Label Manager on the Labeling Toolbar.
  3. Place check marks next to the layers you want labeled. Although it may be best to work on one at a time.
  4. Each layer has one default label class. Click on the Default class of one of your layers to determine the labeling properties for that layer.
  5. For Label Field:, select the attribute field that is appropriate for the labels.
    In the case of the streets layer, take note that there are several different fields related to road name. One describes cardinal direction, one the name, and a third holds the roads type (Rd, St, Ave, etc...). As you look closer, you will see a field that concatenates these individual fields together, STNAME (not STR_NAME).
  6. Under Text Symbol define the font, size, color, and characteristics for the layer's labels, keeping the concept gallery items in mind. If you click the Symbol button there is a list of predefined choices available. Explore them if you wish. Click OK to dismiss the Symbol Selector window.
  7. Look over the Placement Properties options available.
  8. Then select the Properties.... button, and click the Conflict Detection tab. Look over the options here. Note that you can place a check in the Place overlapping labels check box, which will ensure that every feature on the layer will be labeled. But don't do this now. Or try it with the streets layer and see the jumbled mess it can make. Click OK to dismiss the window.
  9. Click the Scale Range... button (still in the Label Manager). Here you can click the Don't Show Labels When Zoomed radio button and type a scale in the box. This can be useful if zooming in and out of data a lot.
  10. Click Apply and OK to close the Layer Properties dialog box.

Remember that whatever properties you set here for your labels will be used for all the labels in the layer. In the next section we will see how you can create label classes to label features from the same layer differently (or label a feature multiple times).

Once you have established the Properties for a layer's labels you can quickly turn them on and off to give yourself a better view of the map while working on some other aspect. You can do this in the Label Manager, or in the Table of Contents right-click the layer name and choose Label Features from the context menu (and repeat to turn the labels back on).

You also can access the label properties for a layer via the Layer Properties. Open the Layer Properties for a layer and click the Labels tab. You should see the same options as you did in the Label Manager.

D. Create Label Classes

Creating label classes for a layer will allow you to specify different labeling properties to a set of different features in the same layer. You can have these label classes match classes of symbols that you have already created or you can create classes on a different set of attributes. The steps below will demonstrate how label classes can be made from symbology classes. This means that you need to work with a layer that has some symbology classes set up. In this example I will use the streets layer.

  1. If you have not already set up the streets layer to symbolize interstates, state roads and local roads differently, do this now (brief steps bulleted below).
    • In the Symbology tab of the Layer Properties use the padot_desc attribute as the value to symbolize.
    • Click add all values and uncheck the box next to all other values.
    • Choose symbols to differentiate interstates, state roads and local roads.
    • Close the Layer Properties
  2. Open the Label Manager on the Labeling Toolbar.
  3. In the left window, place a check mark next to the streets layer.
  4. Click on the word streets so that it becomes highlighted. You should see a way to create label classes on the right. And in the bottom box on the right side of the Label Manager you should see the classes of symbols you previously created for your streets.
  5. Make sure all three symbology categories are checked, then click on the Add button. You will get a pop up message asking if you want to overwrite the existing label classes or append the symbol classes onto the default or other previously made label classes. Click yes. Your only label classes should now be the three symbol classes of interst, local and state.
  6. Back on the left side of the dialog box, click on the state label class and just like before the options for the label properties should appear.
  7. Use STNAME as the attribute field for the label.
  8. Make the labels for this class bold. Click apply to see results on map beneath the window. Set properties as you want.
  9. For the local class, again use STNAME as the field for the label. Then set the text symbol size to 6 pt. (Recall this size setting refers to your reference scale - so it is important to have your reference scale set to the scale you plan to use in the map layout if you want these sizes to hold true).
  10. Uncheck the box next to the interst class. In a later section of this lesson we will create symbols to road numbers, so we don't want interstates to be labeled with written out names here.
  11. Click apply and ok to dismiss the window. You should see the changes you made appear in your map. Now you have the streets layer using dynamic labels and two different label classes based on the kind of street being labeled.

Try This!

Label expressions can be used to edit the formatting of your labels. Use this article on Building label expressions to learn how to convert your uppercase street labels to proper case.

ArcGIS Help

For more information on labeling look in ArcGIS Help (desktop or online). Using the Contents tab, look in the Desktop folder under Mapping > Adding text to a map > Displaying Labels. For instance, the page on Essential labeling concepts.

E. Apply These Topics to Your Map

  1. If you used a practice map, save it if you want. Open your reference map document.
  2. Create labels using the label tool and dynamic labeling. Take some time and experiment with the ways to label and creating the visual hierarchy among the labels. It will be helpful to work through the next section on annotation before you finalize your label characteristics.

F. Save Your Map Document

You have just completed Part I of the lesson, labeling features individually using the Label tool, and using the dynamic labeling functionality of ArcGIS via the Label Manager. In Part II, you will create annotation from the dynamic labels and learn some text effects.