Available with Standard or Advanced license.
Feature-linked annotation is a special type of geodatabase annotation that is directly linked to features. Feature-linked annotation reflects the current state of features in the geodatabase: it is automatically updated when features are moved, edited, or deleted. The benefit of using feature-linked annotation compared to standard annotation is that ArcGIS performs the maintenance work for you. For example, when you create a new feature, new annotation is automatically generated from the attributes of the feature. If you move or reshape a feature, the annotation is repositioned as well. If you change an attribute of the feature on which the annotation text is based, the annotation text changes. Finally, if you delete the feature, the annotation is also deleted.
Feature-linked annotation is stored as an annotation feature class in a geodatabase along with the geographic data (a point, line, or polygon feature class) with which it is associated. A geodatabase feature class can have any number of linked annotation feature classes; however, an annotation feature class can be linked to one geographic feature class.
A feature-linked annotation feature class can only be linked to a feature class stored in the same geodatabase. If your geographic features are not stored in the geodatabase—for example, they may be stored in a shapefile—you have two options: you can convert your geographic data to a geodatabase feature class and create feature-linked annotation for it, or you can keep your features in their existing format and use standard geodatabase annotation for them.
A feature-linked annotation feature class is linked to its feature class using a relationship class, and the link between each annotation and feature is a composite relationship. The use of a relationship class is not the only difference between feature-linked annotation and standard annotation; you cannot create a feature-linked annotation feature class from a standard annotation feature class by adding this relationship class or by any other method. If you want feature-linked annotation, you should start with a feature-linked annotation feature class.
If you need to update the text for feature-linked annotation, update the attributes of the origin feature (for example, the attributes of the line the annotation is linked to) from which the annotation is derived. When you do that, the updates are reflected immediately in the annotation feature's text. If you directly edit the TextString property of the annotation feature itself, your changes will be overwritten if the attribute on the linked feature is modified later.
Creating a feature-linked annotation feature class
Creating feature-linked annotation is a two-step process. First, you create an annotation feature class in a geodatabase to store the annotation, then you create the individual pieces of text annotation that are linked to each feature. Or you can do both of these steps at once by converting labels to annotation.
There are two ways to create a feature-linked annotation feature class. First, you can create one in ArcCatalog or the Catalog window. If you are creating feature data, create a feature class, then create a feature-linked annotation feature class linked to your new feature class. Then, as you use the editing tools in ArcMap to create features in your feature class, annotation will be created for you and automatically linked to your features.
A second way to create a feature-linked annotation feature class is in ArcMap by converting your labels to annotation features. This is the fastest way to create feature-linked annotation if you already have features in your geographic feature class. Start by labeling your geodatabase feature class in ArcMap, then convert your labels to annotation.
Creating feature-linked annotation
Once you have a feature-linked annotation feature class, you need to add annotation to it. If you are editing in ArcMap, as you create features, annotation is automatically created for you in the linked annotation feature class. If your feature has default values for the field from which the annotation text string is derived, the annotation appears instantly. If the field from which the annotation text is derived does not have a default value, you need to enter an attribute value for this field (or a value for the text string of the annotation) for the linked annotation to appear on the map.
When you create a geographic feature, annotation is created for each annotation class. For example, if there are three classes (Anno1, Anno2, Anno3), three annotation features will be created—one for each class. You can set a SQL Query expression to limit which classes are used to annotate the geographic features. The expression is used to determine when the annotation is generated based on a field value from the attribute table of the feature class to which the annotation is linked. The expression can include any attribute field in the linked feature class, including the label field or ObjectID.
If you already have features and want to create feature-linked annotation, there are several ways to add the annotation. One way is to convert labels to annotation. Converting labels to annotation automatically creates an annotation feature class and populates it with annotation elements. Once labels are converted to annotation, you can manually move individual pieces of text to position them exactly where you want them.
A second way to create annotation is to start ArcMap and add both a geodatabase feature class and its linked annotation feature class. You can then select some geographic features and use the Annotate Selected Features command to create annotation automatically in the linked annotation class for only the selected features. You do not need to be editing to use the Annotate Selected Features command. Although this command allows you to create annotation for only a few features at a time, it's a good idea to consider the map as a whole when generating annotation.
Editing the features linked to annotation
When editing features with feature-linked annotation, the new annotation created will be placed using the label engine parameters referenced in the annotation feature class. Examples of these edits are modifying the shape of a feature, editing a field that a label parameter is based on, creating a new feature, or annotating a selected feature. If the feature edit only updates the attribute or attributes that the annotation text is based on, the text will be updated but the original placement of the annotation feature relative to the linked feature will be maintained. If the feature edit updates the shape of the feature in a move operation, the annotation will be moved along with the feature and maintain the same position relative to the feature. If the edit updates the shape of the feature or an attribute used for field base rotation, the annotation will be replaced by the label engine according to the labeling rules.
Feature-linked annotation automatically follows its related line feature by default, but you can move feature-linked annotation along a different feature. If you want to change this setting or have annotation linked to polygons follow automatically as well, use the Annotation tab of the Editing Options dialog box.