操作方法

操作方法:在 ArcGIS Pro 中使用 ArcGIS Arcade 字典为数值属性分配描述性标注

Last Published: May 2, 2024

描述

在 ArcGIS Pro 中,有时需要使用 Arcade 表达式为数值属性分配描述性标注。 由此可简化数据分析和可视化,并使广大用户更易于获取信息,而不会影响属性表中的现有数值属性。

在本文中,要素图层包含一个名为 Forest_Type 的数值字段。 借助 Arcade 表达式,可以为字段中的数值分配描述性标注,用于描述数值字段表示的值。

下图显示了包含 Forest_Type 数值字段的要素图层的属性表。

属性表显示了具有数值的字段

解决方案或解决方法

  1. 打开 ArcGIS Pro 工程,添加图层并创建标注表达式。 有关说明,请参阅 ArcGIS Pro:编写标注表达式中的步骤 1 到 4。 为语言选择 Arcade
Note:
In the Contents pane, on the List By Labeling tab, ensure the selected feature layer and feature class check boxes are checked to display the labels.

已选中所选要素图层和要素类复选框

  1. 表达式框中插入并配置以下表达式:
    1. 将 <field_name> 替换为已分配描述性标注的数值字段的名称。 在本示例中,将使用 Forest_Type。
var value = $feature.<field_name>;
  1. 定义一个数组以将整数值映射到相应标注。 将 <value1>、<value2>、<value3> 和 <value4> 替换为数值字段值。 在本示例中,将使用 1、2、3 和 4。
  2. 将 <label1>、<label2>、<label3> 和 <label4> 替换为描述数值字段值的标注。 在本示例中,将使用落叶林、针叶林、混生林和再生林。
Note:
Add more mappings of integer values to corresponding labels if needed.
var labelMap = 
   { value: <value1>, label: "<label1>" },
   { value: <value2>, label: "<label2>" },
   { value: <value3>, label: "<label3>" },
   { value: <value4>, label: "<label4>" },
];
  1. 在 labelMap 数组中查找值的匹配标注。
var label = "Other"; 
for (var i in labelMap) {
    if (value == labelMap[i].value) {
        label = labelMap[i].label;
        break;
    }
}

return label;

以下是 Arcade 表达式的完整工作代码。

var value = $feature.Forest_Type;

var labelMap = [
    { value: 1, label: "Deciduous Forest" },
    { value: 2, label: "Coniferous Forest" },
    { value: 3, label: "Mixed Forest" },
    { value: 4, label: "Regenerating Forest" },
];

var label = "Other"; 
for (var i in labelMap) {
    if (value == labelMap[i].value) {
        label = labelMap[i].label;
        break;
    }
}

return label;
  1. 单击验证按钮验证表达式。
  2. 单击应用以运行此脚本。
标注的 Arcade 表达式配置

下图显示了在 ArcGIS Pro 中作为标注分配给数值属性的描述性文本。

地图上的描述性标注

文章 ID: 000032438

获得人工智能支持

使用 Esri Support AI Chatbot 快速解决您的问题。

立即开始聊天

相关信息

发现关于本主题的更多内容

获取来自 ArcGIS 专家的帮助

联系技术支持部门

立即开始聊天

转至下载选项