生成 ID 属性规则 (数据管理)

摘要

创建可生成查询中字段的唯一值的属性规则。 工具会输出一个 .csv 文件,包含基于输入参数生成的 ArcGIS Arcade 属性规则、包含在工作空间中生成序列的代码的 Python 文件和可视化生成的 ID 的 ID 文件。

使用情况

  • 输出文件夹参数用于指定使用输入要素类名称创建的文件夹位置。 包含属性规则的输出 .csv 文件将使用输入表参数值的名称。 如果多次运行该工具,其他 .csv 文件将在同一文件夹中创建。

  • 工具运行后,请导入属性规则并将其应用到相应数据集中。 如果数据集位于企业级地理数据库中,您必须是数据所有者才能应用输出的模板属性规则。

    了解关于属性规则导入的详细信息

参数

标注说明数据类型
输入表

将应用新规则的数据集。

Table View
输出文件夹

用于保存输出 .csv 文件的文件夹。 文件名称将取自输入表参数值。

Folder
字段

将应用该规则的现有字段的名称。

Field
表达式
(可选)

SQL 表达式用于限制应用属性规则的行。

SQL Expression
创建序列
(可选)

指定数据库序列是否将在指定的工作空间中创建。

  • 选中 - 将创建数据库序列。 这是默认设置。
  • 未选中 - 将不创建数据库序列。

Boolean
定义类型
(可选)

指定将用于定义 ID 格式的方法。

  • 构建器ID 格式将使用 ID 构建器参数进行构建。
  • ID 格式将使用 ID 定义表参数从表中定义。
  • 代码值将为所选字段的每个编码值组合生成一个配置条目和序列。
  • 构建器ID 格式将使用 id_builder 参数进行构建。
  • ID 格式将使用 id_table 参数从表中定义。
  • 代码值将为所选字段的每个编码值组合生成一个配置条目和序列。
String
ID 构建器
(可选)

一组将定义属性规则的格式选项。 这包括一个 SQL 表达式,该表达式将用于为每个资产应用不同的格式和序列以及填充、前缀和后缀值。

  • 过滤器 SQL - 可选的 SQL 表达式,用于确定是否将序列应用于行。
  • 描述 - 将添加到属性规则中的规则设置中的条目的可选描述。
  • 序列名称 - 将被分配给数据库序列的名称。 对于企业级地理数据库,该名称必须符合当前使用的数据库平台的序列名称要求,并且在数据库中必须唯一。 对于文件地理数据库,该名称在文件地理数据库中必须唯一。
  • 起始值 - 序列的起始编号。 如果不提供起始编号,序列将从 1 开始。 如果您确实提供了起始编号,则其必须大于 0。
  • 增量值 - 描述序号的递增方式。 例如,如果序列从 10 开始且增量值为 5,则序列中的下一个值为 15,之后下一个值为 20。 如果未指定增量值,则序列增量值将为 1。
  • 前缀 - 可选字符串或值,将放置在序列值之前。
  • 后缀 - 可选字符串或值,将放置在序列值之后。
  • 填充 - 可选正数,表示数字的位数,其中将使用零来填充未使用的位。 例如,值 5 代表序列值 1 为 00001。
  • 分隔符 - 用于连接前缀、序列和后缀的可选值。

字符串的预览将显示在地理处理窗格中,其中包含在格式选项中输入的值。

Value Table
ID 定义表
(可选)

定义 ID 格式的表或记录集。 这包括 SQL 表达式,该表达式将用于为每个资产应用不同的格式和序列以及填充、前缀和后缀值。

表必须包含以下字段:

  • WhereClause - 可选的 SQL 表达式,用于确定是否将序列应用于行。
  • Description - 将添加到属性规则中的规则设置中的条目的可选描述。
  • SequenceName - 将被分配给数据库序列的名称。 对于企业级地理数据库,该名称必须符合当前使用的数据库平台的序列名称要求,并且在数据库中必须唯一。 对于文件地理数据库,该名称在文件地理数据库中必须唯一。
  • StartingValue - 序列的起始编号。 如果不提供起始编号,序列将从 1 开始。 如果已指定,起始编号必须大于 0。
  • IncrementValue - 描述序号的递增方式。 例如,如果序列从 10 开始且增量值为 5,则序列中的下一个值为 15,之后下一个值为 20。 如果未指定增量值,则序列增量值将为 1。
  • Prefix - 可选字符串或值,将放置在序列值之前。
  • Suffix - 可选字符串或值,将放置在序列值之后。
  • Padding - 可选正数,表示数字的位数,其中将使用零来填充未使用的位。 例如,值 5 代表序列值 1 为 00001。
  • Separator - 用于连接前缀、序列和后缀的可选值。

Record Set
编码值字段
(可选)

用于生成 ID 的 SQL 表达式和配置的字段。

Field

派生输出

标注说明数据类型
输出规则 CSV

输出 .csv 文件包含基于输入的 Arcade 属性规则。 该字段用于将属性规则导入到数据集。

File
ID 定义表

序列定义配置的表。 该工具可以使用定义类型参数的选项来编辑和重复使用该文件。

File
Python 序列脚本

输出 Python 序列文件。 该文件可在其他工作空间中使用,或由任何有权限创建数据库序列的用户使用。

File

arcpy.management.GenerateIDAttributeRule(in_table, out_folder, field, {where_clause}, {create_seq}, {definition_method}, {id_builder}, {id_table}, {id_coded_value})
名称说明数据类型
in_table

将应用新规则的数据集。

Table View
out_folder

用于保存输出 .csv 文件的文件夹。 文件名称将取自 in_table 参数值。

Folder
field

将应用该规则的现有字段的名称。

Field
where_clause
(可选)

SQL 表达式用于限制应用属性规则的行。

SQL Expression
create_seq
(可选)

指定数据库序列是否将在指定的工作空间中创建。

  • CREATE将创建数据库序列。 这是默认设置。
  • NO_CREATE将不创建数据库序列。
Boolean
definition_method
(可选)

指定将用于定义 ID 格式的方法。

String
id_builder
[id_builder,...]
(可选)

一组将定义属性规则的格式选项。 这包括一个 SQL 表达式,该表达式将用于为每个资产应用不同的格式和序列以及填充、前缀和后缀值。

  • Filter SQL - 可选的 SQL 表达式,用于确定是否将序列应用于行。
  • Description - 将添加到属性规则中的规则设置中的条目的可选描述。
  • Sequence Name - 将被分配给数据库序列的名称。 对于企业级地理数据库,该名称必须符合当前使用的数据库平台的序列名称要求,并且在数据库中必须唯一。 对于文件地理数据库,该名称在文件地理数据库中必须唯一。
  • Starting Value - 序列的起始编号。 如果不提供起始编号,序列将从 1 开始。 如果您确实提供了起始编号,则其必须大于 0。
  • Increment Value - 描述序号的递增方式。 例如,如果序列从 10 开始且增量值为 5,则序列中的下一个值为 15,之后下一个值为 20。 如果未指定增量值,则序列增量值将为 1。
  • Prefix - 可选字符串或值,将放置在序列值之前。
  • Suffix - 可选字符串或值,将放置在序列值之后。
  • Padding - 可选正数,表示数字的位数,其中将使用零来填充未使用的位。 例如,值 5 代表序列值 1 为 00001。
  • Separator - 用于连接前缀、序列和后缀的可选值。

Value Table
id_table
(可选)

定义 ID 格式的表或记录集。 这包括 SQL 表达式,该表达式将用于为每个资产应用不同的格式和序列以及填充、前缀和后缀值。

表必须包含以下字段:

  • WhereClause - 可选的 SQL 表达式,用于确定是否将序列应用于行。
  • Description - 将添加到属性规则中的规则设置中的条目的可选描述。
  • SequenceName - 将被分配给数据库序列的名称。 对于企业级地理数据库,该名称必须符合当前使用的数据库平台的序列名称要求,并且在数据库中必须唯一。 对于文件地理数据库,该名称在文件地理数据库中必须唯一。
  • StartingValue - 序列的起始编号。 如果不提供起始编号,序列将从 1 开始。 如果已指定,起始编号必须大于 0。
  • IncrementValue - 描述序号的递增方式。 例如,如果序列从 10 开始且增量值为 5,则序列中的下一个值为 15,之后下一个值为 20。 如果未指定增量值,则序列增量值将为 1。
  • Prefix - 可选字符串或值,将放置在序列值之前。
  • Suffix - 可选字符串或值,将放置在序列值之后。
  • Padding - 可选正数,表示数字的位数,其中将使用零来填充未使用的位。 例如,值 5 代表序列值 1 为 00001。
  • Separator - 用于连接前缀、序列和后缀的可选值。

Record Set
id_coded_value
[id_coded_value,...]
(可选)

用于生成 ID 的 SQL 表达式和配置的字段。

Field

派生输出

名称说明数据类型
out_rule_csv

输出 .csv 文件包含基于输入的 Arcade 属性规则。 该字段用于将属性规则导入到数据集。

File
out_id_file

序列定义配置的表。 该工具可以使用 definition_method 参数的 TABLE 选项来编辑和重复使用该文件。

File
out_seq_script

输出 Python 序列文件。 该文件可在其他工作空间中使用,或由任何有权限创建数据库序列的用户使用。

File

代码示例

GenerateIDAttributeRule 示例(独立脚本)

下面的独立脚本演示了如何在脚本环境中使用 GenerateIDAttributeRule 函数。

# Name: GenerateIDAttributeRule_Example.py
# Description: GenerateIDAttributeRule of a template attribute rule in a file geodatabase

# Import the system modules
import arcpy

# Set local variables
in_table = "C:/data/data.gdb"
out_folder = "C:/out/"
field = "ID"
where_clause = ""
create_seq = "CREATE"
definition_method = "BUILDER"
id_builder = "# # 2 2 # # # #"
id_table = r"in_memory\record_set1"
id_coded_value_fields = None

arcpy.management.GenerateIDAttributeRule(
   in_table,
   out_folder,
   field,
   where_clause,
   create_seq,
   definition_method,
   id_builder,
   id_table,
   coded_value_fields
)

环境

此工具不使用任何地理处理环境。

相关主题