ラベル | 説明 | データ タイプ |
ターゲット テーブル | 属性ルールの適用先となるテーブルまたはフィーチャクラス。 データセットには、ルール定義で指定されているすべてのフィーチャが存在する必要があります。 | Table View |
入力ファイル | インポートするルールを格納している .csv ファイル。 | File |
派生した出力
ラベル | 説明 | データ タイプ |
インポートする属性ルール | 更新された入力データセット。 | Table View; Raster Layer; Mosaic Layer |
カンマ区切り値ファイル (.csv) からデータセットに属性ルールをインポートします。
データセットに属性ルールをインポートした場合、そのデータセットの最小クライアント バージョンは ArcGIS Pro 2.1 になります。 すなわち、データセットは ArcGIS Desktop では使用できなくなります。
このツールでは、データセット内にまだ存在していないルールのみがインポートされます。既存のルールは更新されません。 データセットに適用されるルールの一意性は、ルールの定義ではなく、ルール名によって決定されます。 たとえば、フィーチャクラスに Rule A と Rule B という 2 つのルールがあるとします。入力 .csv ファイルが Rule B と Rule C という名前のルールをインポートしようとする場合、Rule C はインポートされますが Rule B はインポートされません。Rule B という名前のルールがデータセットに対してすでに存在しているからです。
インポート中にエラーが発生した場合、エラーの起きた特定の列と行がエラー メッセージに示されます。 .csv ファイル内の残りの有効な属性ルールはインポートされます。
このツールは、[属性ルールのエクスポート (Export Attribute Rules)] ツールと組み合わせて使用できます。
ArcGIS Data Reviewer ツールを使用して作成されたルールをインポートするには、Data Reviewer エクステンションのライセンスが必要です。 インポートした .csv ファイルに Data Reviewer ベースのルールがあり、Data Reviewer エクステンションのライセンスを利用できない場合には、警告が返されます。
インポート中に警告が返された場合、問題が発生した特定の行が警告メッセージに示されます。 .csv ファイル内の残りの有効な属性ルールはインポートされます。
ArcGIS Pro 3.4 以降のクライアントから属性ルールをエクスポートすると、.csv に TRIGGERINGFIELDS 列が含まれます。 以前の ArcGIS Pro バージョンを使用して属性ルールをインポートするには、インポートする前にこの列が .csv から削除されていることを確認してください。
インポートされた .csv には、以下の列が含まれる必要があります。
列 | 説明 | 例 |
---|---|---|
NAME | ルールの名前。 | constraintRuleOP |
DESCRIPTION | ルールの説明。 | 動作圧は 300 未満でなくてはなりません。 |
TYPE | 属性ルールのタイプ。 | CONSTRAINT、CALCULATION |
SUBTYPE | データセットにサブタイプがあり、サブタイプがルール定義で使用されている場合、これがルールが適用されるサブタイプ名 (つまり説明) になります。 | すべて |
FIELD | 該当する場合は、ルールの適用先のフィールド名。 | CONDITION |
ISEDITABLE | 属性フィールドが編集可能かどうかを定義するブール値。 | true または false |
TRIGGERINSERT | ルールのトリガー イベントが挿入編集用に設定されているかどうかを定義するブール値。 | true または false |
TRIGGERDELETE | ルールのトリガー イベントが削除編集用に設定されているかどうかを定義するブール値。 | true または false |
TRIGGERUPDATE | ルールのトリガー イベントが更新編集用に設定されているかどうかを定義するブール値。 | true または false |
SCRIPTEXPRESSION | ルールを定義する ArcGIS Arcade スクリプト式。 | $feature.OPERATINGPRESSURE < 300 |
ERRORNUMBER | 該当する場合は、ルールのエラー番号。 | 99 |
ERRORMESSAGE | 該当する場合は、ルールのエラー メッセージ。 | 動作圧が無効です。 値は 300 未満である必要があります。 |
EXCLUDECLIENTEVALUATION | ルールがすべてのクライアントとシンプル クライアントのどちらをサポートするのかを定義するブール値。 | true または false |
ISENABLED | 属性ルールを有効にするかどうかを決定するブール値。 | true または false |
BATCH | バッチ検証に対応したルールにするかどうかを決定するブール値。 | true または false |
SEVERITY | エラーの重要度を定義する整数値 (1 ~ 5)。 | 2 |
TAGS | ルールを識別する一連の文字列値。 | 動作圧 |
CATEGORY | ルール カテゴリを定義するシステム生成の整数値 (該当する場合)。 この値はシステムで生成されるため、変更してはなりません。 | 6 |
CHECKPARAMETERS | Data Reviewer ベースのルールの構成を定義するシステム生成の JSON 値。 この値はシステムで生成されるため、変更してはなりません。 | {"ReviewerRuleType": "0", "minimumangle": "60"} |
TRIGGERINGFIELDS | 属性ルールをトリガーする編集が行われるフィールドを表すフィールド値のリスト。 注意:[] として定義された空の配列は、すべてのフィールドがトリガー フィールドとして表します。 トリガー フィールドが指定されていない場合、すべてのフィールドがトリガー フィールドとしてリストされます。 | ["RoadCondition", "NumberOfLanes", "RoadType"] |
ラベル | 説明 | データ タイプ |
ターゲット テーブル | 属性ルールの適用先となるテーブルまたはフィーチャクラス。 データセットには、ルール定義で指定されているすべてのフィーチャが存在する必要があります。 | Table View |
入力ファイル | インポートするルールを格納している .csv ファイル。 | File |
ラベル | 説明 | データ タイプ |
インポートする属性ルール | 更新された入力データセット。 | Table View; Raster Layer; Mosaic Layer |
arcpy.management.ImportAttributeRules(target_table, csv_file)
名前 | 説明 | データ タイプ |
target_table | 属性ルールの適用先となるテーブルまたはフィーチャクラス。 データセットには、ルール定義で指定されているすべてのフィーチャが存在する必要があります。 | Table View |
csv_file | インポートするルールを格納している .csv ファイル。 | File |
名前 | 説明 | データ タイプ |
out_table | 更新された入力データセット。 | Table View; Raster Layer; Mosaic Layer |
.csv ファイルから Building という名前のフィーチャクラスに属性ルールをインポートします。
import arcpy
arcpy.management.ImportAttributeRules("C:\\MyProject\\MyDatabase.sde\\pro.USER1.Building",
"C:\\MyProject\\expAttrRules.csv")