操作方法

操作方法:在 ArcGIS Online 和 Portal for ArcGIS Map Viewer 中使用 Arcade 表达式对来自多属性字段的唯一值进行分组

Last Published: February 23, 2023

摘要

在 ArcGIS Online 和 Portal for ArcGIS Map Viewer 中,可以通过 Arcade 表达式配置地图符号系统,根据指定条件对多个属性字段进行分组。 这使得在地图上展示点要素时,数据的某些方面更容易区分。

本文介绍了如何使用 Arcade 表达式在 Map Viewer 中对多属性字段的唯一值进行分组。

下图展示了在 ArcGIS Online Map Viewer 中使用默认样式的点符号符号系统的地图。

具有默认样式点要素的 ArcGIS Online Map Viewer 地图

过程

  1. 在 Map Viewer 中打开地图。 单击图层,然后选择图层进行编辑。
  2. 设置(浅色)工具栏上,单击样式 > + 表达式,打开 Arcade 表达式对话框。
  3. 在编辑器窗口中,为新表达式指定名称。
  4. 表达式对话框中,插入以下 Arcade 表达式。
    1. 为每个字段定义一个变量。 在此示例中,定义了两个变量来表示相应的字段。
var <variableName1> = $feature.<fieldName1>
var <variableName2> = $feature.<fieldName2>
  1. 指定以下 If 和 else 语句,以便在条件计算结果为 'true' 或 'false' 时执行操作。

if(<variableName1> == "<domainNameOrFieldValue1>")
{
    if(<variableName2> == "<domainNameOrFieldValue2>")
    {
      return "<groupName1>"
    }
}

if(<variableName1> == "<domainNameOrFieldValue1>")
{
    if(<variableName2> == "<domainNameOrFieldValue3>")
    {
      return "<groupName2>"
    }
}

else
{
  return "<groupName3>"
}

下面的代码块是完整工作表达式的示例。

var bObtain = $feature.BandObtained
var bColor = $feature.BandColor

if(bObtain == "HS")
{
    if(bColor == "G")
    {
      return "Group 1"
    }
}

if(bObtain == "HS")
{
    if(bColor == "S")
    {
        return "Group 2"
    }
}

else
{
    return "Group 3"
}
  1. 单击运行以查看表达式结果的预览。 如果达到所需的结果,请单击确定
在 ArcGIS Online Map Viewer“Arcade 表达式”对话框中,指定 Arcade 表达式并重命名该表达式
  1. 样式窗格的选取样式部分下,单击样式选项
ArcGIS Online Map Viewer 中的“样式”窗格
  1. 单击符号样式下的色带,对符号样式应用进一步的更改。
  2. 单击完成以关闭样式选项窗格。
ArcGIS Online Map Viewer 中的“样式选项”窗格
  1. 单击完成以关闭样式窗格。

下图显示了根据上述步骤自定义的唯一值组。

ArcGIS Online Map Viewer 中包含三组多属性字段的地图

文章 ID: 000029178

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

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

下载 Esri 支持应用程序

相关信息

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

获取来自 ArcGIS 专家的帮助

联系技术支持部门

下载 Esri 支持应用程序

转至下载选项