要提高数据质量,对于托管要素图层中的字段,可以为编辑者提供字段可接受值的列表或范围。 例如,假设托管要素图层将存储与城市各处放置的城市公用垃圾箱相关的信息。 您的城市将使用容量介于 15 到 50 加仑范围的塑料箱和铝箱。 为了防止编辑者输入错误的值并避免拼写错误,可以为包含两个值(塑料和铝)的材料字段创建一个选取列表,然后针对垃圾箱的容量字段设置最小值为 15,最大值为 50。
作为托管要素图层的所有者或默认管理员角色的成员,您可以为文本、数值(整数、小整数、双精度)和日期时间(日期、仅日期和仅时间)字段创建可接受属性值的列表。 还可以为数值和日期时间(日期、仅日期和仅时间)字段定义可能的最小值和最大值。
创建域列表
定义值列表时,需要设置代码(存储在 ArcGIS Online 中的值)和标注(用户在 ArcGIS Online 中访问值列表和属性表时显示的值)。
要定义列表,您具有以下几种选项:
- 键入代码和标注值。
- 让 ArcGIS Online 查询字段以使用所有现有唯一值填充列表。
代码和标注的列表相同。 您可以为每个代码提供不同的标注值。 也可以将标注和代码值对添加到列表中。
- 从逗号分隔值 (CSV) 文件 导入标注和代码值。
分别为列 Label 和 Code 命名。 如果文件不包含具有这些名称的列,则将使用文件中的前两列。 文件中的所有其他字段将被忽略。
因为这是一号分隔值文件,所以包含逗号的数值将被读取为单独的值。 数值中不要包含逗号。 例如,数值字段的代码可以是 1000000,但不能是 1,000,000;后者将被读作三个单独的值:1、000 和 000。
对于字符串字段类型,.csv 文件中的代码值必须短于字段定义的最大长度。
.csv 文件中日期和时间值的字段值必须采用以下格式:
字段数据类型 支持的格式 日期 YYYY/MM/DD hh:mm:ss 或 YYYY-MM-DD hh:mm:ss
如果存在毫秒,它们将被丢弃。
仅日期 YYYY-MM-DD 仅时间 24 小时制时间的格式为 hh:mm:ss
注:
日期字段数据类型以协调世界时间 (UTC) 格式存储,但以浏览器使用的本地时间显示。 有关详细信息,请参阅托管要素图层的日期值存储和日期字段的显示方式。
如果可能的值数量有限,则创建编辑者可用于填充字段的值列表十分有用。
请按照以下步骤为托管要素图层中的字段创建有效值列表:
- 打开托管要素图层的项目页面,然后单击数据选项卡打开属性表。
- 单击字段按钮
。
- 如果托管要素图层包含多个子图层,请使用图层下拉菜单以选择包含所需字段的子图层。
- 单击字段的显示名称以打开该字段的设置。
- 滚动至域部分,然后单击入门。
- 选择列表,然后单击下一步。
- 选择以下选项之一来定义域列表:
- 输入值 - 提供所有标注和相应代码。
- 查找值 - 字段中存储的现有唯一值以标注和代码的形式显示。 根据需要更改标注。
注:
使用查找值选项时,只会显示表中的前 2,000 个唯一值。
- 导入值 - 提供包含标注和代码的 .csv 文件。
- 单击下一步。
- 对于所需的每个附加标注和代码对,请执行以下操作之一:
- 要将新对添加到列表末尾,请单击添加值并键入另一个标注及其对应的代码。
单击添加值可在列表末尾添加标注和代码对。 - 要在现有对之前插入新对,请选中标注和代码对旁边的框,单击旁边的选项按钮
,单击在上方添加,然后填充新标注和代码。
从“选项”菜单中选择“在上方添加”可在所选行上方插入一行。 - 要在现有对之后插入新对,请选中标注和代码对旁边的框,单击旁边的选项按钮
,单击在下方添加,然后填充新标注和代码。
从“选项”菜单中选择“在下方添加”可在所选行上方插入一行。
- 要将新对添加到列表末尾,请单击添加值并键入另一个标注及其对应的代码。
- 要更改顺序,请在列表中上下拖动标注和代码对。
- 要删除一个标注和代码对,请单击标注和代码对旁边的选项按钮
,然后单击删除。
从“选项”菜单中选择“删除”可删除选定的行。 - 要删除多个标注和代码对,请选中要删除的每个对旁边的框,然后单击管理域窗口顶部的删除所选项。
要选择所有标注和代码对,请选中标注(显示值)旁边的框。
- 完成定义字段的建议值列表后,请单击保存。
如果列表包含错误(例如,您导入的 .csv 文件具有空标注或代码、包含同名标注或代码,或者定义的代码超过了字段的最大长度或精度),则会返回一条消息,表明存在错误并且域将不会保存。
要识别和纠正域列表中的错误,请启用显示错误切换按钮。 当所有错误都得到纠正后,再次单击保存。
值列表可供编辑者使用。
如果字段允许空值,则除了您定义的值之外,显示给用户的值列表还将包含无值选项。
编辑域列表
可以更改现有值列表的内容和外观。 例如,您可能会发现城市中铝制垃圾桶的数量要多于塑料垃圾桶,而且您希望该值是编辑者在列表中看到的第一个值。 或者,您可能会发现还需要其他值。 例如,如果垃圾桶列表需要考虑钢制垃圾桶,则可以对该列表进行编辑以添加此新值。
还可以更改列表中的现有标注值。 更改标注值后,当用户在 ArcGIS Online 中查看值列表和属性表时,将看到新的标注。
警告:
可以更改现有代码值,但是如果已使用此代码的字段中存在数据,则不建议执行该操作。 更改代码值时,将不会在表中更新现有属性值。 还可以删除列表中的值,但是属性表中的现有值将随代码一同显示,而非随标注一同显示。 例如,如果删除塑料,PL 值,则用户在 ArcGIS Online 中查看属性表时将看到 PL。
请按照以下步骤对托管要素图层中字段的有效值列表进行编辑:
- 打开托管要素图层的项目页面,然后单击数据选项卡打开属性表。
- 单击字段按钮
。
- 如果托管要素图层包含多个子图层,请使用图层下拉菜单以选择包含所需字段的子图层。
- 单击字段的显示名称以打开该字段的设置。
- 滚动至域部分,然后单击编辑。
- 或者,在搜索字段中输入标注或代码名称以查找要编辑的域。
- 可以选择执行以下任意编辑操作:
- 将标注和代码对拖动到其他位置以对其进行重新排序。
- 单击查找值将图层中当前未包含在域中的所有唯一值添加到域列表中。
- 单击添加值并键入新标注和代码以将其添加到列表末尾。
- 要在现有对之前插入新标注和代码对,请选中标注和代码对旁边的框,单击旁边的选项按钮
,单击在上方添加,然后填充新标注和代码。
从“选项”菜单中选择“在上方添加”可在所选行上方插入一行。 - 要在现有对之后插入新对,请选中标注和代码对旁边的框,单击旁边的选项按钮
,单击在下方添加,然后填充新标注和代码。
从“选项”菜单中选择“在下方添加”可在所选行上方插入一行。 - 要更改标注或代码值,可以在相应的字段中输入新值。
- 要删除一个标注和代码对,请单击标注和代码对旁边的选项按钮
,然后单击删除。
从“选项”菜单中选择“删除”可删除选定的行。 - 要删除多个标注和代码对,请选中要删除的每个对旁边的框,然后单击管理域窗口顶部的删除所选项。
提示:
要选择所有标注和代码对,请选中标注(显示值)旁边的框。
- 完成编辑字段的建议值列表后,请单击保存。
删除值列表
在添加或更新属性值时,如果不再需要限制编辑者提供的值(例如,如果垃圾桶材料列表太长,编辑者在现场更新信息时无法使用),则可以删除值列表。 在执行未来编辑操作时,编辑者将不会再看到值列表。
警告:
属性表中的现有值保留在表中,但将随代码一同显示,而非随标注一同显示。 例如,如果从材料字段中删除值列表,则用户在 ArcGIS Online 中查看属性表时将看到 PL 和 AL。
请按照以下步骤删除值列表:
- 打开托管要素图层的项目页面,然后单击数据选项卡打开属性表。
- 单击字段按钮
。
- 如果托管要素图层包含多个子图层,请使用图层下拉菜单以选择包含所需字段的子图层。
- 单击字段的显示名称以打开该字段的设置。
- 滚动至域部分,然后单击编辑。
- 单击管理域窗口底部的删除列表。
- 单击删除列表,确认要删除值列表。
域列表不会被发送到回收站;它们会被立即删除。
设置最小值和最大值
您可以为小整数、整数、双精度、日期、仅日期或仅时间字段定义有效最小值和最大值的范围。 当编辑者添加或更新字段值时,如果输入的值超出范围,则将收到一条警告。 如果编辑者继续进行编辑,则该字段将恢复为之前的值。
请按照以下步骤为字段设置最小值和最大值范围:
- 打开托管要素图层的项目页面,然后单击数据选项卡打开属性表。
- 单击字段按钮
。
- 如果托管要素图层包含多个子图层,请使用图层下拉菜单以选择包含所需字段的子图层。
- 单击字段的显示名称以打开该字段的设置。
- 滚动至域部分,然后单击入门。
- 选择范围,然后单击下一步。
- 在最小值字段中提供允许的最小值。
- 在最大值字段中提供允许的最大值。
- 完成定义字段的值范围后,请单击保存。
可以增大或减小字段的有效值范围。 如果减小范围,则位于新范围之外的字段中的现有值将保留在表中。 如果这些值不再有效,则必须手动对其进行编辑。
设置或编辑域列表或范围时的注意事项
使用值或范围时,请注意以下几点:
- 对于数值字段和日期时间字段,可以定义列表或范围,但不能同时定义两者。 如果定义其中一个,则无法配置另一个。
- 无法为诸如 shape_area、shape_length、FID 和 ObjectID 等系统字段配置列表或者设置最小值和最大值。
- 在 ArcGIS Online 中,只能为托管要素图层配置域列表和范围;无法为托管要素图层视图或 ArcGIS Server 要素图层配置域列表或范围。 如果在托管要素图层中创建托管要素图层视图,则列表或范围域将应用于视图中的图层,但无法在视图中对其进行更改。 要将列表或范围域应用于 ArcGIS Server 要素图层,必须在发布要素图层之前定义地理数据库中数据的域。 有关详细信息,请参阅 ArcGIS Pro 帮助中的创建和管理属性域。
- 如果 ArcGIS Pro 或 ArcMap 包含编码值域,则从这些内容中的数据发布托管要素图层时,这些域会在 ArcGIS Online 中显示为列表域。 但是,仅能针对各个字段应用和修改 ArcGIS Online 中的列表;在一个字段上更改列表不会更改其他字段上的域值。
- 对于 ArcGIS Server 要素图层,可以将字段上的编码值域和范围属性域分别作为列表和最小值和最大值查看,但无法在 ArcGIS Online 中编辑它们。
- 如果从中发布托管要素图层的 ArcGIS Pro 或 ArcMap 包含的子类型带有其他字段的关联属性域,则无法在 ArcGIS Online 中查看或编辑属性域。
- 如果为已应用类型(唯一值符号)样式的字段创建列表,请确保列表中的值与为关联的编辑模板定义的唯一值相同。