How To: Control the position of geodatabase annotation
The position of geodatabase annotation, after it has been created from labels, may not be in the most precise location desired. This article describes how to fine-tune the position of the annotation, making small adjustments up and down, or left to right, to improve annotation placement.
This process does not require starting an edit session. The adjustments are performed directly in the annotation attribute table, by calculating values for the VerticalAlignment and HorizontalAlignment fields in the table.
When labels are converted to geodatabase annotation, either in ArcMap or in Pro, the annotation placement does not actually depend on the buttons for Left, Center, and Right. Those settings are used in ArcMap or Pro, in the same way they would be used in Microsoft Word, to arrange multiple lines or blocks of text, not individual text strings. The position settings for a single text string are controlled internally in the software as the labels are converted to annotation. Those settings should not be used to position text, unless the user intends to create a multiline block of text in the map.
When labels have been converted to annotation in the geodatabase, you can adjust their positions in the map by changing the values for the VerticalAlignment and HorizontalAlignment fields in the annotation attribute table. While these fields display text strings - Top, Center, Baseline, Bottom for VerticalAlignment, and Left, Center, Right for HorizontalAlignment, these are actually aliases. These are number fields, and here is the behavior that you will see if the values in the VerticalAlignment or HorizontalAlignment fields are calculated to new values:
Allowable values in the VerticalAlignment field are:
- 0 displays as Top in the field. Text moves to the lowest position
- 1 displays as Center in the field. Text moves to a slightly higher position
- 2 displays as Baseline in the field. Text moves slightly higher
- 3 displays as Bottom in the field. Text is at the highest available position.
Allowable values in the HorizontalAlignment field are:
- 0 displays as Left in the field. Text moves right
- 1 displays as Center in the field. Text is centered
- 2 displays as Right in the field. Text moves left
- 3 field populated with FULL. Text appears in the same position as "0".
Note that the default values in the VerticalAlignment and HorizontalAlignment fields when labels are converted to annotation are constrained by the label properties assigned during the label creation process. The positions noted in the lists above are the effects that assigning the specific numeric values in the field in relation to the original position of the annotation string when it is first created.
To change these values, open the annotation feature class attribute table, scroll over to the VerticalAlignment or HorizontalAlignment fields, select the record or records to recalculate, and use the Field Calculator to change the numeric values to change the position of the annotation.