制約ルールは、フィーチャで許容される属性構成と一般的なリレーションシップを指定します。計算ルールとは異なり、制約ルールは属性の設定には使用されません。フィーチャ上で特定の条件が満たされたことを確認するために使用されます。
制約ルールは、[属性ルール] ビューで [制約ルール] ボタン をクリックすることで作成されます。ルールは、[属性ルールの追加] ツールか、[属性ルールのインポート] ツールで作成することもできます。制約ルールは、ファイルまたはエンタープライズ ジオデータベースのデータセットで作成できます。
制約ルールは、ルールが満たされたかどうかを示す true または false 結果を返します。
- True - 指定したスクリプト条件式が満たされ、フィーチャが作成されます。
- False - 指定したスクリプト条件式が満たされていないため、フィーチャは作成されません。
詳細については、「属性ルール スクリプト条件式の例」をご参照ください。
制約ルールは、ルール プロパティで指定された特定のトリガー イベント (挿入、更新、削除) の編集操作中に即座に評価されます。制約ルール違反がある場合、ユーザー定義されたエラー番号とメッセージが返され、フィーチャの編集はロールバックされます。エラー番号とメッセージは、ルールの作成中に指定されます。既存のデータに関するデータの不整合を検出するには、整合チェック ルールを使用します。
例
以下の例は、制約属性ルールをジオデータベースでどのように使用できるかを示したものです。
- フィーチャ文字列属性値はすべて大文字でなければなりません。
- フィーチャ文字列属性値は、指定した数の文字数でなければなりません。
- 接地属性が Delta に設定されたシングル フェーズのオーバーヘッド変圧器の場合、フェーズ値 AB、BC、AC が有効です。接地が Wye に設定されている場合、フェーズ値 A、B、C が有効です。
- 高さが 65 フィート以上の電柱は、鉄のみでできています。
他の 属性ルール タイプを作成するための要件とグローバル変数については、「Arcade プロファイル」をご参照ください。属性ルールのスクリプト式の作成を開始するための追加リソースとして、「Arcade 基本操作ガイド」および「Arcade 関数インデックス」をご参照ください。