Append Annotation Feature Classes (Data Management)

Summary

Creates a geodatabase annotation feature class or appends to an existing annotation feature class by combining annotation from multiple input geodatabase annotation feature classes into a single feature class with annotation classes.

Usage

  • When appending multiple annotation feature classes into a new annotation feature class, the input annotation feature classes must reside in the same database.

  • If you select geodatabase annotation features in ArcGIS Pro or build a definition query, only those features will be appended to the output feature class.

  • When appending feature-linked annotation feature classes, all the input annotation feature classes must be linked to the same feature class.

  • If you select an output annotation feature class that already exists, the features will be appended to that feature class, and the tool will project the annotation features in the destination spatial reference.

  • When appending annotation feature classes with multiple annotation subclasses, the subclasses will be merged if their properties match.

  • An ArcGIS Desktop Standard or ArcGIS Desktop Advanced license is required to create an output feature-linked annotation feature class.

Syntax

arcpy.management.AppendAnnotation(input_features, output_featureclass, reference_scale, {create_single_class}, {require_symbol_from_table}, {create_annotation_when_feature_added}, {update_annotation_when_feature_modified})
ParameterExplanationData Type
input_features
[input_features,...]

The input annotation features that will form an annotation class in the output feature class.

Feature Layer
output_featureclass

A new annotation feature class that will contain an annotation class for each input annotation feature class.

Feature Class
reference_scale

The reference scale set in the output feature class. Input features created at a different reference scale will be transformed to match this output reference scale.

Double
create_single_class
(Optional)

Specifies how annotation features will be added to the output feature class.

  • ONE_CLASS_ONLYAll annotation features will be aggregated into one annotation class in the output feature class.
  • CREATE_CLASSESSeparate annotation classes will be created for each input annotation class in the output feature class unless the classes are named the same and have the same properties. In this case, they will be merged. This is the default.
Boolean
require_symbol_from_table
(Optional)

Specifies how symbols can be selected for newly created annotation features.

  • REQUIRE_SYMBOLRestricts the creation of annotation features to the list of symbols in the symbol collection of the output feature class.
  • NO_SYMBOL_REQUIREDAllows annotation features to be created with any symbology. This is the default.
Boolean
create_annotation_when_feature_added
(Optional)
License:

This parameter is only available with ArcGIS Desktop Standard and ArcGIS Desktop Advanced licenses.

Specifies whether feature-linked annotation will be created when a feature is added.

  • AUTO_CREATEFeature-linked annotation will be created using the label engine when a linked feature is created. The is the default.
  • NO_AUTO_CREATEFeature-linked annotation will not be created when a feature is created.
Boolean
update_annotation_when_feature_modified
(Optional)
License:

This parameter is only available with ArcGIS Desktop Standard and ArcGIS Desktop Advanced licenses.

Specifies whether feature-linked annotation is updated when a linked feature changes.

  • AUTO_UPDATEFeature-linked annotation will be updated using the label engine when a linked feature changes. This is the default.
  • NO_AUTO_UPDATEFeature-linked annotation will not be updated when a linked feature changes.
Boolean

Code sample

AppendAnnotation example (Python window)

The following Python window script demonstrates how to use the AppendAnnotation tool in immediate mode.

import arcpy
arcpy.env.workspace = "C:/data/Cobourg.gdb"
arcpy.AppendAnnotation_management("highways;roads", "transport_anno", 1200, 
                                  "CREATE_CLASSES", "NO_SYMBOL_REQUIRED", 
                                  "AUTO_CREATE", "AUTO_UPDATE")
AppendAnnotation example (stand-alone script)

The following stand-alone script demonstrates how to use the AppendAnnotation tool.

# Name: AppendAnnotation_Example.py
# Description: Use AppendAnnotation to append annotation feature classes in a 
#              geodatabase

# import system modules 
import arcpy
import os

# Set environment settings - user specified
# User input geodatabase for annotation location - eg. C:/data/roads.gdb
arcpy.env.workspace = input('Location of geodatabase annotation: ')

# Create list of annotation feature classes within the geodatabase
fcList = arcpy.ListFeatureClasses("", "ANNOTATION")

# Set variables
# User input output feature class name - eg. appendedroadsAnno
outFeatureClass = arcpy.env.workspace + os.sep + \
                  input('Output annotation feature class name: ')
refScale = 1200
createClasses = "CREATE_CLASSES"
symbolReq = "NO_SYMBOL_REQUIRED"
autoCreate = "AUTO_CREATE"
autoUpdate = "AUTO_UPDATE"

# Process: Append the annotation feature classes
print("Appending annotation feature classes...")
arcpy.AppendAnnotation_management(fcList, outFeatureClass, refScale, 
                                  createClasses, symbolReq, autoCreate, 
                                  autoUpdate)

print("Annotation feature classes in {} have been appended into {}".format(
    arcpy.env.workspace, outFeatureClass))

Licensing information

  • Basic: Limited
  • Standard: Yes
  • Advanced: Yes

Related topics