操作方法

操作方法:在 ArcGIS Online 和 Portal for ArcGIS Map Viewer 中使用 Arcade 重新排列标注的文本字符串

Last Published: March 24, 2023

摘要

在 ArcGIS Online 和 Portal for ArcGIS Map Viewer 中,可以使用具有多个语句的 Arcade 表达式来拆分和重新定位标注的文本字符串。 重新定位的文本字符串可用于数据管理。 本文提供了一个示例和说明,使用 Arcade 表达式为 Map Viewer 拆分和重新排列标注的文本字符串。

下图显示了 Map Viewer 中带有标注的地图。

ArcGIS Online Map Viewer 中带有标注的地图

过程

  1. 在 Map Viewer 中打开地图。 单击内容(深色)工具栏上的图层,然后在弹出窗口中选择图层进行编辑。
  2. 设置(浅色)工具栏上,单击更多 > 标注
  3. 单击使用表达式 “使用表达式”图标以打开 Arcade 表达式编辑器窗口。
  4. 在编辑器窗口中,为新表达式指定名称。
  5. 表达式对话框中,插入相应的 Arcade 表达式,如下所述。
    1. 使用函数定义变量,拆分文本字符串和空白区域作为分隔符。
var <variableName1> = Split($feature.<featureName>, ' ')
  1. 使用函数定义变量,计算每条记录的拆分次数。
var <variableName2> = Count(<variableName1>)
  1. 指定以下语句,当字段值为空时,返回空白值。
if (<variableName2> == 0) {
return ''
}
  1. 指定以下语句,当字段为单个词时,返回相同的文本值。
if (<variableName2> == 1) {
return $feature.<featureName>
}
  1. 指定以下语句,当字段有两个词时,将第二个单词的位置重新排列到第一个位置。
if (<variableName2> == 2) {
return <variableName1>[1] + ' ' + <variableName1>[0]
}
  1. 指定以下语句,当字段有三个单词时,将第一个单词的位置重新排列到第三个位置。
if (<variableName2> == 3) {
return <variableName1>[1] + ' ' + <variableName1>[2] + ' ' + <variableName1>[0]
}

下面的代码块显示了完整的工作表达式。

var arrName = Split($feature.Forest_Name, ' ')
var lenName = Count(arrName)
if (lenName == 0) {
return ''
}
if (lenName == 1) {
return $feature.Forest_Name
}
if (lenName == 2) {
return arrName[1] + ' ' + arrName[0]
}
if (lenName == 3) {
return arrName[1] + ' ' + arrName[2] + ' ' + arrName[0]
}
  1. 单击运行可预览表达式结果。 如果达到所需的结果,请单击确定
在 ArcGIS Online Map Viewer 编辑器窗口中指定 Arcade 表达式

下图显示了使用 Arcade 表达式后新配置的标注。

ArcGIS Online Map Viewer 中具有新配置标注的地图

文章 ID: 000029552

接收通知并查找新问题或常见问题的解决方案

从我们全新的 AI 聊天机器人中获得简明答案和视频解决方案。

下载 Esri 支持应用程序

相关信息

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

获取来自 ArcGIS 专家的帮助

联系技术支持部门

下载 Esri 支持应用程序

转至下载选项