获得 Aviation Charting 许可后可用。
The process of generating an aeronautical chart driven by an automated workflow can sometimes lead to label and symbol crowding. The Aviation Abbreviate command helps solve this problem. The tool allows you to quickly change the label output of a selected annotation feature during the inspection of a chart.
The following setup requirements must be met to use the Aviation Abbreviate command for an annotation feature class. Once set up, they can also be modified later.
- Ensure that the annotation feature class is feature-linked to a backing feature class, such as a cartographic _C feature class.
- Identify the annotation class from the annotation feature class that you want the Aviation Abbreviate command to be available on.
- Identify a coded value domain attribute from the backing feature-linked feature class whose domain values are used as the abbreviation field options.
- Create an Abbreviation Annotation preference for the annotation feature class that associates at least one annotation class with an the abbreviation field.
- Configure the annotation class's label expression code to read the abbreviation field and return different label output based on each of the abbreviation field's possible values. Write custom ArcGIS Arcade logic that shortens, expands, or hides the label output based on each of the abbreviation field’s possible domain values.
To update Aviation annotation using the Aviation Abbreviate command, complete the following steps:
- Add an annotation feature class to the map, ensuring that it has only one annotation class selected.
In this example, the ADHP_C_A annotation feature class has been added to the map. It has two annotation classes, Airports and Default, but only the Airports annotation class is selected.
- On the Edit tab, in the Tools group, click the Annotation button and select an annotation feature class.
In this example, an ADHP_C_A Annotation feature is selected . The selected annotation feature is from the Airports annotation class. Its label initially displays ORD, Chicago O` Hare Intl, and it is determined by the custom label expression code defined for Airports.
- Right-click the selected annotation feature class, and from the annotation context menu, choose Aviation Abbreviate , click Abbreviated Label, and choose an abbreviation option from the drop-down menu:
- No Label
- Full Label
- Abbreviated Label
- Abbreviated Panel Label
These abbreviation options are domain values from a coded value domain field in the linked backing feature. In this example the linked backing feature is ADHP_C. The coded value domain attribute field is LABELSTATUS_CODE.
注:
Choosing an abbreviation option from this menu causes the label to update based on the chosen abbreviation option. For example, the updated label may be shortened, expanded, hidden, or changed based on custom logic that is preconfigured in the annotation feature class’s annotation class.
The annotation class's label expression code is activated and the label output is updated based on custom abbreviation logic associated with the selected Abbreviated Label option.
For example, the label expression logic for the Abbreviated Label selection changed the label to the airport code followed by the city name: ORD,Chicago.
Sample annotation abbreviation preference
This sample annotation abbreviation preference demonstrates how the annotation classes of an annotation feature class are associated with abbreviation fields from the linked feature class. The Airports annotation class from ADHP_C_A is associated with the LABELSTATUS_CODE abbreviation field from the ADHP_C linked feature class.
Sample annotation class label expression
You can customize the label output based on your charting needs by writing custom logic that returns different label output based on the abbreviation field's value from the linked feature class. This sample ArcGIS Arcade code in an annotation feature class's annotation class demonstrates the label output changing based on the current value of the LabelStatus_Code abbreviation field from the ADHP_C linked feature class. This sample definition can be applied to the Airports annotation class referred to in this topic. When the LABELSTATUS_CODE value is set to 1 (Full Label), the label output is the airport code followed by the full airport name, in this example: ORD, Chicago O'Hare Intl. When the LABELSTATUS_CODE value is set to 2 (Abbreviated Label), the label output is the airport code followed by the city name, in this example: ORD, Chicago.
var airportCode = mainFeature.ident_txt
var fullAirportName= mainFeature.name_txt;
var cityName = mainFeature.city_txt;
var labelOutput = airportCode;
if ($feature.labelstatus_code == 1){ //1 is Full Label
labelOutput = airportCode + ", " + fullAirportName
} else if ($feature.labelstatus_code == 2){ //2 is Abbreviated Label
labelOutput = airportCode + ", " + cityName
}
return labelOutput
Sample abbreviate field coded value domain values
The LabelStatus_Code following attribute is a coded domain value in ADHP_C. It has four domain values defined: No Label, Full Label, Abbreviated Label, and Abbreviated Panel Label. LabelStatus_code is configured as the abbreviation field referred to in the examples in this topic. However, any coded value domain attribute in a linked feature class can be configured in an annotation abbreviation preference as the abbreviation field associated with an annotation class. The coded value domain values appear in the Aviation Abbreviation command menu when an annotation class is first configured with an annotation abbreviation preference.