Annotation in the geodatabase is stored in annotation feature classes. As with other feature classes, all features in an annotation feature class have a geographic location and attributes and can be either inside a feature dataset or a stand-alone feature class. Each feature has symbology including font, size, color, and other text symbol properties.
The other option for displaying text in ArcGIS Pro is dynamic labels.
If you want editable text to use in many maps, use geodatabase annotation. You cannot select or edit labels. Geodatabase annotation is indexed spatially, meaning that it draws and can be selected quickly.
Standard and feature-linked annotation
Feature-linked annotation feature classes can be created and edited in ArcGIS Desktop Advanced and ArcGIS Desktop Standard, but they are read-only in ArcGIS Desktop Basic.
There are two kinds of annotation in the geodatabase—standard and feature linked. Standard annotation is not formally associated with features in the geodatabase. An example of standard annotation is the text on a map for a mountain range. No specific feature represents the mountain range, but it is an area you want to mark.
Feature-linked annotation is associated with a specific feature in another feature class in the geodatabase. The text in feature-linked annotation reflects the value of a field or fields from the feature to which it's linked. For example, the water transmission mains in a water network can be annotated with their names, which are stored in a field in the transmission mains feature class.
Annotation links to features through a composite relationship with messaging. The feature class being annotated is the origin class in the relationship, and the annotation feature class is the destination class. As with other composite relationships, the origin feature controls the destination feature. If an attribute value for the origin feature changes, the linked annotation that is based on this attribute automatically updates to reflect the change. When the origin feature is moved or rotated, the linked annotation also moves or rotates with it. When an origin feature is deleted from the geodatabase, the linked annotation feature is also deleted.
In the water network example, a hydrant may be too close to a busy intersection and need to be moved 50 feet away. When the hydrant is moved, its linked annotation moves with it. In the same network, the name of a transmission main may change. When the value in its name field is modified, the text stored in its linked annotation feature is automatically updated with the new name.
A feature-linked annotation feature class inside a feature dataset should link to a feature class within the same dataset. Similarly, stand-alone feature-linked annotation feature classes should link to stand-alone feature classes in the same geodatabase.
An annotation feature class can be linked to only one feature class, but a feature class can have any number of linked annotation feature classes.
Standard and feature-linked geodatabase annotation feature classes contain one or more annotation classes. Each annotation class contains properties that determine how a subset of annotation in the feature class displays.
For both standard annotation and feature-linked annotation, these properties are as follows:
- Default symbology applied when creating new annotation
- A visible scale range
For feature-linked annotation, there are additional properties:
- How the annotation text strings are defined based on attributes in the linked feature class
- Which features in the linked feature class are annotated by the annotation class
- How to place new annotation
For example, if you have an annotation feature class for cities, you could have annotation classes of varying text sizes and scale ranges for small, medium, and large cities—all managed within a single annotation feature class. Annotation classes save you from having to define and maintain multiple annotation feature classes.
You can create and modify annotation classes. When you convert labels to annotation, each label class converts to an annotation class in the new annotation feature class. You can create new annotation classes or edit existing ones through the Annotation Feature Class Properties in the Catalog pane.
To maximize ArcGIS Pro display and query performance, always define a visible scale range for each annotation class so annotation features only draw when you're zoomed in enough to read their text.
If you have more than one annotation class, the annotation classes are implemented as subtypes in the annotation feature class. To create new annotation for an annotation class, choose the feature template referencing that class in the Create Features pane.
An annotation feature class contains a collection of one or more text symbols that you define. Every time you create a new annotation feature, you assign it one of these predefined symbols. The symbol contains properties that describe how the annotation feature is drawn, such as font, size, and color. For example, if you have annotation for small, medium, and large cities, create three text symbols of varying font sizes to assign to the annotation. Because each annotation feature does not need to store its own symbol properties, ArcGIS Pro is able to reduce storage requirements and maximize display and query performance. Committing to a limited list of symbols can help you promote standards for any new annotation features you create.
You can modify annotation symbols and classes by right-clicking an annotation feature class in the Catalog pane and selecting Annotation Feature Class Properties. If you want to delete a symbol from the symbol collection, you first need to delete the annotation class referencing it or change the default symbol for that annotation class. You can also create additional text symbols in this pane. Once you have created the symbols, you assign them to annotation features when editing.
When assigning symbols to annotation features, you may discover that the text symbols you created do not contain the properties you need for one or more annotation features. For example, you may require a smaller font size to fit annotation into a congested area. One approach is to create a new text symbol with the new properties in the Annotation Feature Class Properties pane, and then assign the new text symbol to the annotation features in an edit session.
Creating a new symbol for every unique set of properties you require could result in a long list of symbols that is difficult to work with. You can modify symbol properties on a feature-by-feature basis. When editing in ArcGIS Pro, you can select annotation and change any symbol property for that annotation.
Editing certain symbol properties on a feature-by-feature basis causes annotation to lose its reference to its associated text symbol in the collection. When this happens, the annotation feature stores all its symbol properties. This increases the storage requirement and reduces display and query performance for the annotation.
The properties you are able to edit on a feature-by-feature basis while continuing to maintain reference to a text symbol in the collection are the following:
- X and y offset
- Horizontal and vertical alignment
- Flip angle
- Font name, font style, size, color, character spacing, character width, and background symbol
- Word spacing
- Leading property
For example, if you reduce an annotation feature's font size from 12 points to 8 points, the annotation feature still references a predefined symbol; however, it stores its own font size of 8 points. If you change a property not listed above, such as giving the annotation feature a halo, the annotation feature loses reference to its associated text symbol and stores all the symbol properties.
You can always use text formatting tags to modify the format of a portion of a piece of annotation. This allows you to create mixed-format annotation, for example, where one word in a sentence is underlined. Formatting tags always take precedence over an annotation feature's symbol properties.
When deciding what symbols to store in your annotation feature class, choose a default symbol for each annotation class when you create it, and then add any other symbols containing the properties you'll commonly need. For properties that are seldom needed, you can apply them on a feature-by-feature basis. A limited number of features storing their own symbol properties have little impact on the storage requirements and performance of a feature class.
When editing your annotation feature class, you may see a red bounding box instead of your annotation text. See the image below for an example. This indicates that the SymbolID for the annotation feature has become disconnected from its text symbol.
This can happen in two ways:
- The annotation has been copied and pasted from one annotation feature class to another feature class and the SymbolID from the first annotation feature class does not exist in the symbol collection for the second annotation feature class.
- The annotation feature class has been edited in the Catalog pane and the text symbol that the SymbolID is referencing has been deleted.
To resolve this, you can do one of the following:
- Create a new symbol in the symbol collection and calculate the SymbolIDs of your annotation features to it.
- Calculate the SymbolIDs of your annotation features to a new text symbol number.