Labeling Features

 Before tackling this tutorial, you will need to download and install a dataset following these instructions:

Open the map document

The  labeling_features.aprx document is a 2019 map of the Colby campus. The  map document consists of four data layers: flagpole (a point layer), Contours (a polyline layer), Buildings (a polygon layer) and roads (another polygon layer). 

Labeling buildings ( a polygon layer)

In this section, you will label the building polygons using the values stored in its Name attribute.

The default placement of labels will seldom give you the desired outcome straight out of the box. Fortunately,  ArcGIS Pro offers many tools to manipulate the software's labeling behavior.  But before you attempt any labeling  modifications, you should first define the scale for which the labels are to be produced. Not doing so will change the label size (and sometimes placement) at different zoom levels. For example, at a 1:1600 scale, the labels are conveniently  placed inside the polygons as shown in the following figure:

The same map, at a scale of 1:6000  will show a far more crowded field of labels as shown in the following figure:

The intended map scale will dictate the label positioning strategies.  In this tutorial we will settle for a working scale of 1:4,000. To ensure that this scale is maintained regardless of the zoom level we work in, we will need to first fix the scale of the map document.

Note that now, as you zoom in and out, the label size and placement remains fixed relative to the map's feature geometries.

Modifying the building labels

We will modify the label text by lightening its color and adding a background fill color to render it more distinguishable from the background features.


This will add a thin white background to the text to help distinguish it from the line features in the map.


You now have a not-so-overwhelming but yet legible set of building labels.

Labeling contours

Next we'll label the contours using its CONTOUR attribute values. Here, we'll assign the same color to the labels as that used to symbolize the contours. We'll also add a halo to the text to make the labels more legible. We'll then explore some of the built-in label position options offered by the software.

The default label placement is not appealing. The value seem disconnected from the contour lines.

The changes should be reflected automatically in the map.

Next, change the font color to 20% grey (this matches the contour line color).


Labeling the Roads layer

The Roads layer is a polygon that is divided into different features (parking lots, roads, etc...). This division is not apparent in the map since the layer's outline is set to No Color. In the next step you will label the polygons using the layer's Name attribute.  However, some of the feature shapes will pose a labeling challenge requiring us, at some point,  to convert the labels to a standalone, editable, label feature class.

This placement strategy works well for some of the features in the layer such as the Marylow parking lot or the Alumni parking lot. But some of the other features such as Mayflower Hill Drive require additional tweaking which is best done independently from the other labels. To manually edit labels, you need to convert the current set of labels to a standalone feature class. Think of this as yet another vector layer type (like a polygon or polyline layer) with the difference being that you are storing text labels and not points or line segments.


Note that the geodatabase was already created for you. You could save it to a default geodatabase or create a new one from scratch.

When done, you will see the new annotation layer added to your map document. You'll also note that the original labels initially enabled for the Roads layer are now  disabled. All road labels displayed in the map are now being pulled from the RoadsAnno layer. Next, we will edit the Mayflower Hill Drive label.

Note: the location and orientation of the labels in your map may be different from those shown in this tutorial. The following steps apply to a stacked annotation that you might want to unstack such as Mayflower Hill Drive in this working example.


A selection box with handles should wrap the label. You may also see a font properties tool pop up at the bottom of the map window. Be careful not to manipulate the handles of the box--doing so will resize the label's fonts. If at any point you inadvertently make changes to the label, simply type ctrl + Z to undo the changes.

If the Unstack option is not available, you might need to convert the label to a single part and/or straighten the text as shown in the following example.

NOTE: This step should unstack the text. You might need to right-click on the text again and select Curvature >> Straight, then right-click again and select unstack.

Labeling the point layer

Finally, you will label the point layer. The procedure is the same as it is for any other geometry type however, in our working example, we do not have a flagpole point layer attribute that we can use for labeling the point feature. Instead, we will manually type in the label value for the point.


This completes this tutorial.