制約属性ルール
制約ルールは、フィーチャで許容される属性構成と一般的なリレーションシップを指定します。 計算ルールとは異なり、制約ルールは属性の設定には使用されません。フィーチャ上で特定の条件が満たされたことを確認するために使用されます。
次のビデオでは、制約ルールの作成方法を紹介します。
- このビデオは ArcGIS Pro 3.2 で作成されました。
制約ルールは、属性ルール ビューのルールの追加グループにある 制約ルール ボタン
をクリックして作成できます。 ルールは、「属性ルールの追加」ツールか、「属性ルールのインポート」ツールで作成することもできます。
注意:
レビューアー ルール
ボタンにより、制約ルールと検証ルールの作成をサポートする構成可能なチェックのギャラリーにアクセスできます。 これは ArcGIS Data Reviewer ライセンスで利用できます。
制約ルールは、ルールが満たされたかどうかを示す true または false 結果を返します。
True - 指定したスクリプト条件式が満たされ、フィーチャが作成されます。
False - 指定したスクリプト式が満たされていないため、フィーチャは作成されません。
評価の順序
制約ルールは、特定のトリガー イベント (挿入、更新、削除) に基づく編集操作時に評価されます。 制約ルールの評価順序は評価順序値 (別名「順序」) によって制御されます。
ヒント:
制約ルールは、ルールに違反するようなデータの編集を防ぐためのものです。 このことを踏まえて、内容が異なるルールを作成します。 中にはより複雑なものもあり、そのために評価時間が長くなります。 パフォーマンスを考慮する際には、まずよりシンプルなルールから評価することをおすすめします。 こうすることで、シンプルなルールが複雑な制約ルールよりも順序リストで前の方に配置されている場合に、より早い段階でエラーを評価できるようになります。
属性ルールの評価順序を変更すると、評価にコストがかかるルールを把握するのに役立ちます。
更新イベントの場合は、必要に応じてトリガー フィールド リストを設定できます。 制約ルール違反がある場合、ユーザー定義されたエラー番号とメッセージが返され、フィーチャの編集はロールバックされます。 エラー番号とメッセージは、ルールの作成中に指定されます。 既存のデータに関するデータの不整合を検出するには、検証ルールを使用します。
例
以下の例は、制約属性ルールをジオデータベースでどのように使用できるかを示したものです。
フィーチャ文字列属性値はすべて大文字でなければなりません。
フィーチャ文字列属性値は、指定した数の文字数でなければなりません。
接地属性が Delta に設定されたシングル フェーズのオーバーヘッド変圧器の場合、フェーズ値 AB、BC、AC が有効です。 接地が Wye に設定されている場合、フェーズ値 A、B、C が有効です。
高さが 65 フィート以上の電柱は、鉄のみでできています。
属性ルール タイプを作成するための要件とグローバル変数については、「Arcade プロファイル」をご参照ください。 属性ルールのスクリプト式を作成する際には、「Arcade 基本操作ガイド」および「Arcade 関数インデックス」を追加リソースとして使用できます。
詳細については、「属性ルール スクリプト式の例」をご参照ください。