ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • Help
  • Sign Out
ArcGIS Desktop

ArcGIS Online

The mapping platform for your organization

ArcGIS Desktop

A complete professional GIS

ArcGIS Enterprise

GIS in your enterprise

ArcGIS for Developers

Tools to build location-aware apps

ArcGIS Solutions

Free template maps and apps for your industry

ArcGIS Marketplace

Get apps and data for your organization

  • Documentation
  • Support
Esri
  • Sign In
user
  • My Profile
  • Sign Out

Help

  • Home
  • Get Started
  • Map
  • Analyze
  • Manage Data
  • Tools
  • More...

CreateFeatureLinkedAnnotation

  • Summary
  • Discussion
  • Syntax
  • Code sample

Summary

Creates annotation for features on specific charts if it does not already exist. If the annotation feature class exists, the features are appended to the existing feature class.

Discussion

As features are added to charts, annotation also needs to be added for these new features. This function can be used to append new annotation features to existing annotation feature classes based on what is in the chart. It can also create annotation for specific products based on the specified product library areas of interest and create advanced annotation such as Vertical Morse code.

Syntax

CreateFeatureLinkedAnnotation (aoi_info, data_frame, production_database, feature_class_list, {data_model})
ParameterExplanationData Type
aoi_info

An AviationChartInfo object that contains the information for the MapID for the areas of interest to be processed. The MapID can be retrieved using the GetAviationAOI function and will be formatted as Solution Name::Product Class Name::Series Name::Product Name::Instance Name::AOI Name.

AviationChartInfo
data_frame

The data frame for which the annotation will be created.

DataFrame
production_database

The path to the Aviation geodatabase that contains the chart data.

String
feature_class_list
[feature_class_list,...]

The feature classes where annotation needs to be created. The information required includes the name of the annotation feature class and the annotation classes. This means the feature class and annotation classes must be provided in the following format: ["FeatureClass1::Anno Class1/Anno Class2", "FeatureClass2::Anno Class1/Anno Class2/Anno Class3"].

String
data_model

The data model used to determine whether the MapID or MapID_Txt field is used to get the annotation information. Possible values are AIS or DOD.

(The default value is AIS)

String

Code sample

CreateFeatureLinkedAnnotation example

This sample script updates annotation for a single chart.

# Name: CreateFeatureLinkedAnnotation.py
# Description: Creates annotation for an Alaskan chart
# Author: Esri
# Date: July 2014

# Import arcpyproduction and aviation modules
import arcpy
import arcpyproduction
from arcpyproduction import aviation
from arcpyproduction.aviation import charting

# Check out Aviation license
arcpy.CheckOutExtension("Aeronautical")


# Define dictionary
mxdDictionary = {
    "c:/data/AK_H02.mxd": {
        "AK H-2":"Aeronautical::IFR_Enroute::AK High::AK H-2::AK H-2::AK H-2 AOI"},
    "c:/data/AK_H01.mxd": {
       "AK H-1":"Aeronautical::IFR_Enroute::AK High::AK H-1::AK H-1::AK H-1 AOI",
       "Seattle Inset":"Aeronautical::IFR_Enroute::AK High::AK H-1::Seattle Inset::Seattle Inset AOI"}}


# Set variables
prodLib = "c:/data/FAA_PL.sde"
prodDatabase = "c:/data/FAA_PD.sde"
annoFCs = ["ADHP_C_A::Default"]

# Define mapidListfrom the mxdDictionary defined above
mapidList = list(set(mapidValue for dataframeList in mxdDictionary.values() for mapidValue in dataframeList.values()))


# Get Aviation AOI
mapObjects = charting.GetAviationAOI(prodLib,mapidList)

# Create feature-linked annotation
for mxdLocation in mxdDictionary.keys():

   mxd = arcpy.mapping.MapDocument(mxdLocation)
   dataframes = arcpy.mapping.ListDataFrames(mxd)

   for dataframe in dataframes:
       if mxdDictionary[mxdLocation].has_key(dataframe.name) == 0:
           continue
       mapid = mxdDictionary[mxdLocation][dataframe.name]
       charting.CreateFeatureLinkedAnnotation(mapObjects[mapid], dataframe, prodDatabase, annoFCs, "AIS")


# Check in Aviation license
arcpy.CheckInExtension("Aeronautical")

Related topics

  • Introduction to arcpyproduction.aviation.charting
  • Creating a Python script to perform cartographic tasks on aeronautical charts
  • Creating feature-linked annotation using the Create Feature-Linked Annotation tool
  • Creating feature-linked annotation using geoprocessing

ArcGIS Desktop

  • Home
  • Documentation
  • Support

ArcGIS Platform

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS for Developers
  • ArcGIS Solutions
  • ArcGIS Marketplace

About Esri

  • About Us
  • Careers
  • Esri Blog
  • User Conference
  • Developer Summit
Esri
Tell us what you think.
Copyright © 2020 Esri. | Privacy | Legal