ArcGIS Annotation: Woes and Woohoos

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?


About SuzanneB

Suzanne is a Maryland native with a degree in English Literature who enjoys writing about Esri technology and other topics. She works with Esri Training Services in Redlands, California.
This entry was posted in ArcGIS Step by Step and tagged , , , , . Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *


You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>


  1. Pedonkus says:

    Excellent story!

    I still have a question though;

    Is it possible to delete the FC (the one the AFC is linked to) and replace it with another (updated one) without losing the link we had with the AFC?


  2. SuzanneB says:

    No, if you delete the feature class, the relationship class between it and the feature-linked annotation also gets deleted and the feature-linked annotation becomes standard annotation. At that point, you can create a new empty feature-linked annotation class (and link it to the updated feature class), then append the standard annotation to it as described in this post.

  3. Pedonkus says:

    Sorry for the late reply Suzanne, I’ve been out of office for a few days.

    Thanks for the answer; another way I found is to empty the FC and append to it the updated features. In that way I won’t lose my link with the AFC.

    The process could be time consuming though.

  4. Pingback: Lose the Features, Keep the Annotation Properties | Esri Training Matters