字段计算允许托管要素图层所有者或组织管理员更改图层属性表中单个字段每一行的值。
例如,如果您具有一个用于存储房产销售相关信息的托管要素图层(其中包括房产所在地的销售价格及税率),您可以向该图层添加一个字段用来存储估计的房产税。 要填充 estimated_property_taxes 字段,请为该字段定义一个计算表达式,该表达式取用 sale_price 字段中的值并将其与 tax_rate 值相乘。
在托管要素图层中的字段上编写计算表达式时,有两个选项可供使用:
- ArcGIS Arcade - 如果计算需要的功能比 SQL 更多,则 Arcade 是理想之选,因为 Arcade 可以提供对属性值和要素集合的访问权限,从而允许您创建包含空间运算的表达式。 此外,如果在计算特定行时发生错误,您可以停止计算并解决问题,并在更正问题后再次开始计算。
注:
将不会使用最新 ArcGIS Arcade 语言功能更新 ArcGIS API for JavaScript 3.44 及更高版本。 在 3.44 或更高版本 JavaScript API 应用程序中编写的 Arcade 表达式将仅支持在 Arcade 1.21 或更低版本中引入的 Arcade 语言功能。 有关 ArcGIS 产品中 Arcade 语言支持的详细信息,请参阅 Arcade 版本矩阵。
- SQL - 使用 SQL 以最高的性能进行计算,可以使用非空间属性上的标准化 SQL (SQL-92) 表达式执行这些计算。 您可以在启用同步的托管要素图层和为追踪要素创建者和编辑者配置的图层上运行 SQL;但是无法对这些图层运行 Arcade 表达式。
按照以下步骤计算 Map Viewer 中的托管要素图层或托管表图层的表中某个字段中的字符串、数值或日期字段值。
注:
无法撤消字段计算。 因此,较好的做法是添加一个字段,并在字段中计算值,然后确认计算是否为您想要的表达。 如果是,则可对原始字段进行同所添加字段相同的计算。 确认原始字段中的计算值完全正确后,您可以删除所添加的字段。- 确认您是否已登录,如要保存所做更改,则需具有创建、更新和删除内容的权限。
注:
您无需登录即可浏览地图、添加和配置图层等。 要保存工作,请在创建地图之前进行登录。 - 在 Map Viewer 中,打开包含该图层的地图或直接添加该图层。
- 在使用托管要素图层时,如果图层窗格未打开,请在内容(深色)工具栏上单击图层 。 在使用托管表图层时,如果未打开表窗格 ,在内容(深色)工具栏上单击表 。
- 在图层或表窗格中,单击图层上的选项 ,然后单击显示表以打开表。
- 在图层表中,在要计算的值所在列上单击菜单 ,然后单击计算字段。
计算字段窗口随即显示。
- 选择用于计算的语言,Arcade 或 SQL。
- 可以单击新增来添加用于仅为部分数据计算值的过滤器,然后单击下一步。
注:
如果不添加过滤器,计算将针对所有要素进行。 如果已将过滤器应用于地图或地图中的图层,然后再打开“计算字段”窗口,则在计算字段值时将无法识别这些过滤器。
- 组建计算表达式。
提示:
有关可以在 ArcGIS Online 中执行的常见计算的示例,请参阅示例计算。
- 或者,在编写表达式时,可执行以下任意操作:
- 单击测试要素过滤器为您的测试要素添加过滤器。
注:
可以使用此选项过滤测试要素,而不会影响将要计算的要素。
- 单击测试要素查看测试要素的表。
- 单击预览值预览为测试要素计算的值。
- 关闭自动预览切换按钮,以防止编写表达式时计算值预览自动更新。 打开自动预览切换按钮可以使计算值预览在编写表达式时自动更新。
- 单击地图 、表 或地图和表 以在视图之间导航。
- 单击测试要素过滤器为您的测试要素添加过滤器。
- 单击运行计算以运行表达式。
完成计算所需的时间取决于表达式的复杂程度以及图层中的要素数。