ID 属性ルールの生成 (Generate ID Attribute Rule) (データ管理)

サマリー

クエリーからフィールドの個別値を生成する属性ルールを作成します。

ツールは、指定された入力に基づき、ArcGIS Arcade 属性ルールを含む .csv ファイル、ワークスペースのシーケンスを生成するコードを含む Python ファイル、生成された ID を視覚化するための ID ファイルを作成します。

使用法

  • [出力フォルダー] パラメーターは、入力フィーチャクラスの名前を使用して、フォルダーを作成する場所を指定します。 [入力テーブル] パラメーター値の名前を使用する属性ルールを含む出力 .csv ファイル。 ツールを複数回実行すると、追加の .csv ファイルがフォルダーに作成されます。

  • ツールを実行後、属性ルールをインポートして、データセットに適用します。 データセットがエンタープライズ ジオデータベースの場合、出力テンプレート属性ルールを適用するにはデータ所有者である必要があります。

    属性ルールのインポートに関する詳細

  • [ID ビルダー] パラメーターの [ルックアップによるシーケンス] 値を設定する場合、属性ルールの作成時に存在する、交差するデータセットの Sequence by lookup フィールドの個別値ごとにデータベース シーケンスが生成されます。 ルールを記述した後に作成されたフィーチャは、手動で含める必要があります。

  • ターゲット フィーチャに対して ID が必要な場合は、NULL を許可しないよう ID フィールドを構成します。

パラメーター

ラベル説明データ タイプ
入力テーブル

新しいルールが適用されるデータセット。

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 - 接頭辞、シーケンス、接尾辞を結合するための任意の値。
  • IntersectClass - 交差するデータセットへの絶対パスを含む任意の値。
  • ClassIDField - フィールドの各個別値に対して一意のシーケンスを作成するために使用される任意のフィールド値。
  • ClassFilter - 交差するデータセットの行にシーケンスを適用するかどうかを決定するために使用される、任意の SQL 式。

Record Set
コード値フィールド
(オプション)

SQL 式と ID の構成を生成するために使用されるフィールド。

Field
交差によるシーケンス
(オプション)

入力フィーチャの一意 ID 値を生成するために使用される、交差データセットのフィーチャ。 交差するデータセットの任意のフィールド値が、ルックアップによるシーケンス値に使用されます。

Value Table

派生した出力

ラベル説明データ タイプ
出力ルール CSV

指定された入力に基づき、Arcade 属性ルールを含む出力 .csv ファイル。 このファイルは、データセットに属性ルールをインポートするために使用します。

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}, {intersect_class_field})
名前説明データ タイプ
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 の形式を定義するために使用される方法を指定します。

  • BUILDERID の形式は、id_builder パラメーターを使用して構築されます。
  • TABLEID の形式は、id_table パラメーターを使用して、テーブルから定義されます。
  • CODED_VALUES構成のエントリーとシーケンスは、選択したフィールドから、コード値の組み合わせのそれぞれに対して生成されます。
String
id_builder
[id_builder,...]
(オプション)

属性ルールを定義する、一連の書式設定オプション。 これには、アセットごとに異なる形式やシーケンス、パディング値、接頭辞値、接尾辞値を適用するための SQL 式が含まれます。

  • フィルター SQL - 行にシーケンスを適用するかどうかを決定するために使用される、任意の SQL 式。
  • 説明 - 属性ルールのルール設定に追加される、エントリーの任意の説明。
  • シーケンス名 - データベース シーケンスに割り当てられる名前。 エンタープライズ ジオデータベースの場合、この名前は、使用しているデータベース プラットフォームのシーケンス名の要件を満たし、データベース内で一意である必要があります。 ファイル ジオデータベースの場合、この名前はファイル ジオデータベースで一意である必要があります。
  • 開始値 - シーケンスの開始番号。 開始番号を指定しない場合、シーケンスは 1 から開始されます。 開始番号を指定する場合、0 より大きい値を指定する必要があります。
  • 増分値 - シーケンス番号の増分方法を指定します。 たとえば、シーケンスが 10 から始まり増分値が 5 の場合、シーケンスの次の値は 15、その次の値は 20 になります。 増分値を指定しない場合、シーケンスの値は 1 ずつ増えていきます。
  • 接頭辞 - シーケンス値の前に配置される任意の文字列または値。
  • 接尾辞 - シーケンス値の後に配置される任意の文字列または値。
  • パディング - 桁数を表す任意の正の数値。未使用の桁はゼロで埋められます。 たとえば、値 5 は、シーケンス値 1 を 00001 と表します。
  • 区切り文字 - 接頭辞、シーケンス、接尾辞を結合するための任意の値。
  • ルックアップによるシーケンス - フィールドの各個別値に対して一意のシーケンスを作成するために使用される任意の値。

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 - 接頭辞、シーケンス、接尾辞を結合するための任意の値。
  • IntersectClass - 交差するデータセットへの絶対パスを含む任意の値。
  • ClassIDField - フィールドの各個別値に対して一意のシーケンスを作成するために使用される任意のフィールド値。
  • ClassFilter - 交差するデータセットの行にシーケンスを適用するかどうかを決定するために使用される、任意の SQL 式。

Record Set
id_coded_value
[id_coded_value,...]
(オプション)

SQL 式と ID の構成を生成するために使用されるフィールド。

Field
intersect_class_field
[intersect_class_field,...]
(オプション)

入力フィーチャの一意 ID 値を生成するために使用される、交差データセットのフィーチャ。 交差するデータセットの任意のフィールド値が、ルックアップによるシーケンス値に使用されます。

Value Table

派生した出力

名前説明データ タイプ
out_rule_csv

指定された入力に基づき、Arcade 属性ルールを含む出力 .csv ファイル。 このファイルは、データセットに属性ルールをインポートするために使用します。

File
out_id_file

シーケンス定義の構成のテーブル。 このファイルは、definition_method パラメーターの TABLE オプションを使用し、ツールで編集および再利用できます。

File
out_seq_script

出力 Python シーケンス ファイル。 このファイルは、他のワークスペースや、データベース シーケンスを作成する権限を持つユーザーで使用できます。

File

コードのサンプル

GenerateIDAttributeRule の例 (スタンドアロン スクリプト)

次のスタンドアロン スクリプトは、GenerateIDAttributeRule 関数をスクリプティング環境で使用する方法の例を示しています。

# Name: GenerateIDAttributeRule_Example.py

# Import the system modules
import arcpy

# Set local variables
in_table = "C:/data/data.gdb/target_class"
out_folder = "C:/out/"
field = "genID"
where_clause = ""
create_seq = "CREATE"
definition_method = "BUILDER"
id_builder = "# # sequence_name 2 # # # # poly_class::lookup"
id_table = ""
id_coded_value_fields = None
intersect_class_field = "\path\to\gdb.gdb\intersecting_class lookup"

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

環境

このツールは、ジオプロセシング環境を使用しません。

関連トピック