注:
此工具仅在 ModelBuilder 中可用。
“计算字段”工具使用 SQL 表达式计算新字段或现有字段的值。 覆盖输出数据集的字段不会影响输入数据集中的字段值。
输出是一个输出数据变量,可以配置为中间图层或托管图层。
示例
此工具的使用示例如下所示:
- 某个数据集包含两个字段:一个用于记录每个街区安装了屋顶太阳能电池板的住宅建筑物数量,另一个用于记录每个街区的住宅建筑物总数。 “计算字段”可用于创建新字段,并计算每个街区的太阳能吸收率。
- 某个数据集包含一个数值字段,其中使用了 -9999 作为占位符值,如果此字段用作输入,则会影响分析结果。 “计算字段”可用于将包含 -9999 占位符的一部分记录的字段值更改为相应的默认值。
用法说明
“计算字段”包含输入、字段计算和结果图层的配置。
输入
输入组包含以下参数:
- 输入数据集指定输入是托管要素图层还是托管表图层。 您可以通过单击图层
来选择数据集。 仅对某些记录应用计算用于定义确定将应用字段计算的记录子集的条件。 满足所有条件的要素将包含在子集中。 要定义查询,请单击构建新查询。 必须指定输入数据集才能编辑表达式。
要将计算应用于所有记录,请将此参数留空。
了解有关构建查询的详细信息
字段计算
字段计算组包含以下参数:
要计算的字段用于指定将添加计算值的字段。 可以从现有字段列表中进行选择,也可以创建新字段。
如果选择现有字段,则将覆盖该字段内的任何现有值。
要创建新字段,请单击创建新字段,并提供以下内容:注:
“计算字段”用于创建新输出数据集。 覆盖输出数据集的字段不会影响输入数据集中的字段值。
- 字段名称 - 键入新字段的名称。 字段名称不能与图层中的现有字段名称相同,也不能包含特殊字符或空格,同时也不能为 SQL 关键字。
- 字段类型 - 从菜单中选择字段类型。 字段类型将确定支持用于计算字段的数据类型和表达式。 支持以下字段类型:
- 双精度 - 具有小数位的数。
- 整型 - 介于 -2,147,483,648 和 2,147,483,647 之间的整数(长整型)。
- 大整数 - 介于 -9,007,199,254,740,991 和 9,007,199,254,740,991 之间的整数。 当需要存储不符合整型数据类型范围的数值时,请使用此类型。
- 字符串 - 任意字符序列。
- 日期 - 日期和时间。
- 仅日期 - 将存储日期值,但不存储时间值。 当不需要时间时,例如记录许可到期的日期时,此选项将非常有用。
- 仅时间 - 将存储时间值,但不存储日期值。 时间格式取决于用户设置。 此字段数据类型可用于将此类值记录为离开时间。
字段计算表达式将定义一个 SQL 表达式,用于为要计算的字段计算值。 单击表达式
以打开 SQL 表达式编辑器窗口。 在 SQL 表达式编辑器窗口内,使用字段
、函数
和基本运算符帮助创建有效表达式。如果表达式的输出和字段类型部分兼容(例如,双精度和整型字段类型均支持数值输出,但是受到的限制不同),则系统会自动变换值以满足字段类型的要求。 变换自动进行,不会发出任何通知。
下表介绍了如何变换某些输出以与字段类型相匹配:输出 字段类型 变换 双精度
整型
舍入为最近的整数。
仅日期
日期
将 12:00 a.m. UTC 追加到每个日期
日期
仅日期
将日期和时间转换为 UTC 并存储该日期
日期
仅时间
将日期和时间转换为 UTC 并存储该时间
结果图层
结果图层组包括以下参数:
- 结果类型指定输出是中间图层还是托管要素图层。 可用选项如下:
- 创建中间数据会创建能够用作另一个工具元素的输入的临时数据集。 这是模型中所有工具的默认设置。
- 创建托管图层可为输出数据集创建新的托管图层。 如果选择此选项,则可以使用以下参数:
- 输出名称用于指定要创建并显示的图层的名称。 名称必须唯一。 如果组织中已存在具有相同名称的图层,则工具将执行失败并提示您使用其他名称。
- 如果存在同名的图层,则自动覆盖可确定是否可以在不更改输出图层的名称的情况下重新运行模型。 如果组织中尚不存在该图层,则在第一次运行模型时,将创建一个新图层,并将在后续模型运行中覆盖该图层。 默认情况下,该参数处于启用状态。
- 保存在文件夹中将指定我的内容中将用于保存结果的文件夹的名称。
- 覆盖现有图层指定将由工具输出覆盖的现有托管图层。 如果选择此选项,则还可以使用要覆盖的图层参数浏览到现有图层。
局限性
以下限制适用于该工具:
- “计算字段”仅在 ModelBuilder 中适用。 如果您未使用 ModelBuilder,则可以在 Map Viewer 中计算字段值。
- 不支持空间表达式。
- 当输入图层或表是另一个工具的输出时,查询构建器中的字段值列表不可用。
- 如果计算的字符串或数值字段值超过字段长度限制,则对于新字段,输入将显示为空值,对于现有字段,将保留输入字段值。
- 使用不兼容输入和输出字段的字段计算可能生成意外结果。 例如,使用“仅时间”字段计算“仅日期”输入时,将导致所有字段的日期为 1899-12-30。 其他不兼容字段组合包括“仅时间”输入和“日期”输出以及“仅日期”输入和“仅时间”输出。
环境
此工具不支持分析环境。
配额
此工具不会消耗配额。
输出
“计算字段”将创建输出数据变量,该变量可以是中间数据或托管数据。 除非针对计算添加了新字段,否则输出数据集与输入数据集将具有相同的几何和字段。
注:
“计算字段”用于创建新输出数据集。 覆盖输出数据集的字段不会影响输入数据集中的字段值。
许可要求
该工具需要以下用户类型和配置:
- Professional 或 Professional Plus 用户类型
- 发布者、服务商或管理员角色,或等效的自定义角色
资源
请通过以下资源了解更多详细信息:
- 如何构建查询
- 计算字段值 (Map Viewer)
- ArcGIS Data Pipelines 中的计算字段
- ArcGIS Pro 中的计算字段