August 28, 2013: This post was updated for ArcGIS 10.2.
Labeling features can be a time-consuming part of creating a map. When you’re dealing with many features, it may seem downright onerous. But there are ways to make the job easier. Consider this illustrative tale.
Week 1: James—smart, ambitious, new on the job—is designated the department map maker. Sam, data technician by day, ink artist by night, tells James about a new dataset with a thousand or so point features that will be used as an operational layer in several high-profile maps produced by the department. The data will be updated weekly and the maps need to be in sync (Sam also suggests a warrior armband to command respect from Marc, the alpha analyst in the group).
In ArcMap, James adds the point layer and turns on dynamic labels, spends time creating label classes and setting scale ranges and formatting the labels in each class appropriately for the map products. He converts the labels to a standard annotation feature class stored in the same geodatabase as the point feature class so the annotation can be reused easily on multiple maps. He then spends several hours painstakingly positioning the annotation until he’s satisfied the map text looks perfect. Marc will be impressed, he thinks (and mulls whether to go for a drink after work to discuss those Aztec jaguar symbols Sam just texted).
Week 2: James receives a message that the point feature class has been updated. Ignoring Sam’s question about flame throwers, he adds the point and annotation feature classes to a map document. Uh oh. Orphan text and unlabeled points galore. His heart sinks as he realizes how much work needs to be done to fix this. The thought occurs to him—is he going to have to redo this work every single week?
Searching the ArcGIS help, James discovers he should have created feature-linked annotation when he converted the labels. If he had, he wouldn’t have to edit the annotation feature class every time a point feature is added or deleted. If he had, then the annotation (and the maps that reference the annotation feature class) would automatically sync up with the point data—when a feature gets deleted, its annotation would also get deleted and when new point features get added, annotation would be created for them. If a feature got moved, the annotation would…well, Marc was going to have a field day with this.
James wonders if there’s a way to convert his standard annotation class to feature-linked annotation. Taking a deep breath, he dives back into the help…
Week 3: Just as James is sitting down with his mocha java lite to look over the latest sketches from Sam, a soft ding heralds a message that the points have been updated. He shakes off a little fritter of nervous anxiety. Again he adds the point and annotation feature classes to a map document. Sweet relief, he is a warrior! The annotation for the features displays as it should, where it should. The maps are good to go. Yes, Sam, the eagle sun god eating a snake is just what he needs!
Are you wondering how James’ story ended so happily?
Create Feature-Linked Annotation from Standard Annotation
You can’t convert standard annotation to feature-linked annotation, but you can add standard annotation features to a feature-linked annotation class. Creating feature-linked annotation requires an ArcGIS for Desktop Standard or Advanced license. The feature class and the feature-linked annotation must be stored in the same geodatabase, or in the same feature dataset if the feature class is inside a feature dataset. Here are the high-level steps to do it.
- In the ArcMap Catalog window or ArcCatalog, create a new feature-linked annotation class in a geodatabase (right-click the geodatabase, click New > Feature Class and work through the New Feature Class wizard).
- Be sure to check the option to link the annotation to a feature class and specify that feature class.
- You can import the coordinate system information from the feature class you are linking to or specify it yourself.
- Set the reference scale to the appropriate one for your mapping needs.
- After creating the feature-linked annotation class, in the Catalog tree, expand System Toolboxes > Data Management Tools > Feature Class and double-click the Append Annotation Feature Classes tool.
- For input features, specify the existing standard annotation class.
- For output feature class, browse to the empty feature-linked annotation class.
- Specify the reference scale, check the options to create a single annotation class and to create annotation when new features are added.
- Click OK.
Voila, the annotation features are now feature-linked and will update as edits are made to the linked features. You can delete the standard annotation class or perhaps archive it.
Epilogue: If James had used the Maplex Label Engine to set his label properties, he wouldn’t have needed to spend so long refining the annotation positions after converting the labels.
Want to learn more about working with annotation?