Arcade 表达式

ArcGIS Arcade 可用于计算使用 ArcGIS QuickCapture 捕获的记录中的字段。 工程作者可以编写表达式,该表达式将使用 Arcade 函数、运算符和记录值。

Arcade QuickCapture 配置文件包含以下变量,这些变量可用于返回记录值:

  • $feature - 当前记录的属性
  • $layer - 与当前记录位于同一图层中的要素
  • $datastore - 与当前记录位于同一要素服务或数据库中的图层
  • $map - QuickCapture 工程使用的 web 地图中的要素服务图层集合

有关详细信息,请参阅 QuickCapture 配置文件变量

默认情况下,工程 web 地图不包含工程图层,因此,为了使用按名称引用图层的表达式,例如 var layername = FeatureSetByName($map, "layer_name"),您必须在配置 QuickCapture 工程时选择创建 web 地图的选项,或者使用包含表达式所需所有图层的 web 地图替换默认 web 地图。 有关详细信息,请参阅工程地图配置

注:

如果计划在工程中使用 Arcade 表达式,请检查工程图层和 web 地图中是否存在仅日期、仅时间、时间戳偏移或大整型字段类型。 必须创建排除这些字段的托管要素图层视图,并改用工程中的图层视图。 这些字段类型不适用于 QuickCapture 移动应用程序中使用的 Arcade 版本 (1.18)。

有关详细信息,请参阅ArcGIS Online 中创建托管要素图层视图ArcGIS Enterprise 中创建托管要素图层视图

以下是可以构造为 Arcade 表达式的示例用例:

  • 根据来自另一个字段的值计算值。
  • 执行多边形内点查询以返回属性值。
  • 使用函数以计算捕获的折线的持续时间。

QuickCapture 设计器包含一个表达式构建器,以帮助作者编写表达式并使用 QuickCapture 配置文件。 类似于定义一次用户输入,即可将其用于多个按钮的方式,将 Arcade 表达式保存在设计器中后,即可将其分配给多个按钮。

由 ArcGIS 管理的字段(例如 OBJECTID、GlobalID、CreationDate、Creator、EditDate 和 Editor)不应用于表达式中,因为只有在提交记录后,才知道这些字段的值。 如果表达式需要用户名或记录捕获日期的值,则该表达式应引用已使用设备变量填充的字段。

注:

仅当设备下次在线时,才会对设备离线时捕获的包含 Arcade 表达式的记录进行处理,然后才会发送这些记录。

使用 Arcade

要为字段配置 Arcade 表达式,请完成以下步骤:

  1. 验证您是否已登录到组织。
  2. 打开一个工程,然后选择要配置的按钮。
  3. 数据选项卡上捕获字段的下拉菜单中选择 Arcade 表达式,然后选择新建

    创建一个新的 Arcade 表达式。

  4. 借助配置文件变量函数菜单项目编写一个表达式。
  5. 为表达式提供一个标注,然后选择创建

您刚刚创建的表达式标注将显示在 Web 设计器数据选项卡上的捕获字段中。 此表达式也可在该工程中其他按钮的捕获字段中重复使用。

使用 ArcGIS Arcade 助手 (Beta)

ArcGIS Arcade 助手 (Beta) 使用人工智能 (AI) 根据以自然语言输入的指令生成 Arcade 表达式。 为获得最佳效果,请使用清晰易懂的语言,并迭代您收到的回复。

要在 QuickCapture 中使用 ArcGIS Arcade 助手 (beta),请完成以下步骤:

  1. 验证您是否已登录到组织。

    您必须以包括使用 AI 助手权限的角色的组织成员身份登录。

  2. 打开一个工程,然后选择要配置的按钮。
  3. 数据选项卡上捕获字段的下拉菜单中选择 Arcade 表达式,然后选择新建
  4. 单击 Arcade 助手按钮 Arcade 助手 (beta)

    Arcade 助手窗格随即显示。

  5. 通过执行以下操作之一使用助手:
    • 单击建议并修改它以构建适合您数据的提示。
    • 以您的首选语言输入提示以构建 Arcade 表达式。
  6. 单击生成执行查询。

    ArcGIS Arcade 助手 (beta) 建议 Arcade 助手窗格中的表达式。

    提示:

    将鼠标悬停在配置文件上下文按钮 配置文件上下文 上以查看建议的表达式将在图层配置中应用的位置。

  7. 要与建议进行交互,请执行以下任何操作:
    • 单击添加到编辑器将表达式添加到表达式构建器窗格。
      提示:

      将鼠标指针定位在要添加内容的表达式构建器窗格中。 例如,在表达式构建器窗格中,移动指针并单击现有代码行的前面。 当单击 Arcade 助手窗格中的添加到编辑器时,建议的表达式将被添加到表达式构建器窗格中的指针位置。

    • 单击替换编辑器中的所有代码 替换编辑器中的所有代码 以使用建议的表达式替换表达式构建器窗格中的任何现有内容。
    • 单击将代码复制到剪贴板 将代码复制到剪贴板 以将建议的表达式复制到剪贴板。
    • 要调整提示,请在文本区域中编辑上一个提示或复制粘贴上一个提示,然后单击优化以提交修改后的查询。
    • 要提供有关助手的反馈,请单击有帮助 有帮助无帮助 无帮助 按钮并完成调查。 反馈用于指导进一步开发。
  8. 要清除查询历史记录并重新开始,请随时单击重新开始
注:

要了解有关使用 ArcGIS Arcade 助手 (beta) 的详细信息,请参阅了解最佳实践了解上下文限制