属性ルールの評価

データに属性ルールを追加すると、評価プロセスでデータに関するルールが検証され、ルールに従っているかどうかの確認が行われます。 使用される評価方法は、ルールのタイプとプロパティによって異なります。 次に示すように、即時評価ルールは編集操作中に即時実行され、遅延評価ルールは指定の日時に実行されます。

  • 即時評価
    • 即時計算ルール
    • 制約ルール
  • 遅延評価
    • バッチ計算ルール
    • 検証ルール
ライセンス:
Web フィーチャ レイヤーの検証属性ルールおよびバッチ計算属性ルールを評価するには、組織のメンバーに ArcGIS Advanced Editing ユーザー タイプ エクステンションのライセンスを割り当てる必要があります (ArcGIS Enterprise 11.2 以降)。

編集中の即時評価

即時計算ルールと制約ルールは、編集操作中に評価されます。 評価は、編集トリガー イベントのタイプ (挿入、更新、または削除) によってコントロールされます。 更新イベントの場合は、必要に応じてトリガー フィールド リストを指定できます。 編集トリガー イベントとトリガー フィールドはルール プロパティで定義します。 ルール プロパティを確認するには、「属性ルールの作成および管理」をご参照ください。

ArcGIS Pro またはフィーチャ サービスを使用してデータを編集すると、これらのルールが評価されます。 計算ルールでは、自動的にフィールドにデータが入力されるか、計算式に誤りがある場合にエラー メッセージが返されます。 制約ルールでは、ルール違反が見つかった場合にエラー メッセージが返されます。 編集を行うと、即時計算ルールがまず評価され、次に制約ルールが評価されます。 これらのルールを評価する前に、フィーチャに対してデフォルト値が設定されます。

次のビデオでは、編集中に即時計算ルールがトリガーされる例を示します。

Play Video

  • このビデオは、ArcGIS Pro 3.2 を使用して、作成されています。

次のビデオでは、編集中に制約ルールがトリガーされる例を示します。

Play Video

  • このビデオは、ArcGIS Pro 3.2 を使用して、作成されています。

アプリケーション評価から除外

即時計算ルールと制約ルールのルール プロパティで、[アプリケーション評価から除外] オプションを設定します。このオプションは、編集中の評価に影響します。 [アプリケーション評価から除外] オプションを無効にすると、編集の適用リクエストがデータ ソースに送信される前に、ルールの評価がローカルで実行されます。フィーチャ サービスを編集する場合のデータ ソースは ArcGIS Enterprise、フィーチャクラスまたはテーブルを直接編集する場合のデータ ソースはジオデータベースになります。 ArcGIS Pro は、ルールの評価をローカルで実行できるただ 1 つのアプリケーションです。

すべての編集が終了するまでルールを評価しない場合や編集を加えるごとにルールを評価しない場合は、このオプションを有効にして、ArcGIS Pro がルールの評価をローカルで実行しないようにします。

注意:
Arcade 式から特定の属性ルールの辞書キーワードが返されるか、式でシーケンスが使用されているか、フィールド値が計算に使用されている場合は、即時計算ルールで [アプリケーション評価から除外] オプションが true に設定されている必要があります。

遅延評価

エラー インスペクター ビューまたは [ルールの評価 (Evaluate Rules)] ツールを使用して、ユーザーが指定した日時にバッチ計算ルールと検証ルールを評価します。 評価中、バッチ計算ルールでは、自動的にフィールドにデータが入力されるか、計算式に誤りがある場合にエラー フィーチャが作成され、検証ルールでは、エラー フィーチャが作成され、ルールに違反しているフィーチャがハイライト表示されます。 両方のルール タイプを同時に評価する場合は、まずバッチ計算ルールが評価され、次に検証ルールが評価されます。 これらのルールのエラー フィーチャを検証するには、[エラー インスペクター] ビューを使用します。

次のビデオでは、[ルールの評価][エラー インスペクター] ウィンドウから実行されているときに検証ルールがトリガーされる例を示します。

Play Video

  • このビデオは、ArcGIS Pro 3.2 を使用して、作成されています。
注意:
バッチ計算ルールと検証ルールを評価するための入力ワークスペースは、属性ルールを含むデータセットが格納されているジオデータベースのタイプによって異なります。
  • ファイル ジオデータベースまたはモバイル ジオデータベース - ジオデータベースが評価対象の入力ワークスペースになります。
  • エンタープライズ ジオデータベース - [検証] 機能を備えたフィーチャ サービスを評価対象の入力ワークスペースとして使用します。 同じデータセットが複数のサービスに公開されている場合は、エラー レイヤーと検証ステータス属性がデフォルト バージョンで共有されることに注意してください。

検証ステータス属性

バッチ計算ルールと検証ルールの評価は、データセット内の検証ステータス フィールドに記録されます。 データセットに対して最初のバッチ計算ルールまたは検証ルールを作成すると、検証ステータス フィールドが追加されます。

このフィールドでは、各フィーチャの次の情報が報告されます。

  • 該当するフィーチャに計算が必要かどうか
  • 該当するフィーチャに検証が必要かどうか
  • 該当するフィーチャにエラーがあるかどうか

各フィーチャの検証ステータスには、そのフィーチャに関するルールを検証するための評価に必要な計算または検証を設定する必要があります。

フィーチャの編集時および評価中に、検証ステータス フィールドが更新されます。 データセットのバッチ計算ルールまたは検証ルールが追加または変更されると、すべての行で検証ステータスの属性値がリセットされます (これは、エンタープライズ ジオデータベースのすべてのバージョンに適用されます)。データセットが別の場所に移行された場合、作成される出力データセットで検証ステータス属性がリセットされます。

以下の例をご参照ください。

  • データセットに検証ルールだけを追加する場合、検証ステータスは 2: No calculation required, validation required, no error に更新されます。
  • データセットにバッチ計算ルールだけを追加する場合、検証ステータスは 4: Calculation required, no validation required, no error に更新されます。
  • データセットにバッチ計算ルールと検証ルールを追加する場合、検証ステータスは 6: Calculation required, validation required, no error に更新されます。

コード説明

0

必要な計算、必要な検証、エラーのいずれもありません。

1

必要な計算と必要な検証はなく、エラーがあります。

2

必要な計算はなく、検証が必要で、エラーはありません。

3

必要な計算はなく、検証が必要で、エラーがあります。

4

計算が必要で、必要な検証とエラーはありません。

5

計算が必要で、必要な検証はなく、エラーがあります。

6

計算と検証が必要で、エラーはありません。

7

計算と検証が必要で、エラーがあります。

検証ステータス コード値ドメイン

エラー レイヤー

[エラー インスペクター] でバッチ計算ルールと検証ルールを評価するには、属性ルール エラー レイヤーをマップに追加する必要があります。 レイヤーのショートカット メニューにある [エラー レイヤーの追加] オプションを使用して、ジオデータベース内のエラー データセットのグループ レイヤーを追加するか、フィーチャ サービスのグループ レイヤーを追加します。

エラー レイヤーのグループ レイヤーは、次のデータセットで構成されます。

  • GDB_ValidationPointErrors
  • GDB_ValidationLineErrors
  • GDB_ValidationPolygonErrors
  • GDB_ValidationObjectErrors

[エラー レイヤーの追加] オプションは、これらのルールをジオデータベース内に作成した後または [検証] 機能が有効になっている Web フィーチャ レイヤーの一部として 4 つのエラー データセットを共有した後で使用可能になります。 エラー レイヤーのグループ レイヤーは、ルールの評価とエラー フィーチャの検証を行うためのソースとして [エラー インスペクター] で使用されます。

最初のバッチ計算ルールまたは検証ルールをジオデータベース内に作成すると、エラー データセットが作成されます。 これらのエラー データセットには、ルールの評価中に作成されたすべてのエラーが格納されます。

注意:
空間誤差を格納するエラー データセットは、WGS84 空間参照を使用して作成します。

エラー インスペクターを使用してルールを評価

ArcGIS Pro[エラー インスペクター] を使用して、バッチ計算ルールと検証ルールを評価できます。 [エラー インスペクター] のソースは、ジオデータベース内のエラー レイヤーにするか、[検証] 機能を備えたフィーチャ サービスにする必要があります。

    [エラー インスペクター] を使用してルールを評価するには、次の手順に従います。
  1. [挿入] タブの [プロジェクト] グループで、[新しいマップ] 新規マップ をクリックします。
  2. [マップ] タブの [レイヤー] グループで、[データの追加] をクリックします。 データ ソースを参照し、評価対象のフィーチャクラスまたはテーブルを選択します。 [OK] をクリックします。
    • データが、フィーチャ サービスとして [検証] 機能と共有されている場合、データ ソースは [ポータル] ポータル の下にあります。
    • ジオデータベースのデータの場合、データ ソースは [プロジェクト][コンピューター] にあります。
  3. [コンテンツ] ウィンドウで、該当するレイヤーを右クリックして [エラー レイヤーの追加] グループ レイヤー をクリックします。

    関連するエラー レイヤーが 1 つのグループ レイヤーとして追加され、[エラー インスペクター] でのルールの評価に使用されます。

  4. [編集] タブの [編集の管理] グループで、[エラー インスペクター] エラー インスペクター をクリックします。

    [エラー インスペクター] ツールバーで [ソース] オプションを選択して、マップ ビュー内のエラー レイヤーを参照します。

    ソース オプションは、マップ ビュー内のエラー レイヤーを参照します。
  5. 必要に応じて、[ソース] ドロップダウン ボタンをクリックして、値を変更するエラー レイヤーを選択します。
  6. [ルールの評価] ボタン 範囲の検証 のドロップダウン矢印 ドロップダウン ボタン をクリックして、ルールを評価するオプションを展開します。
    1. [ルール タイプ] で、次の評価対象を少なくとも 1 つ選択します。

      • バッチ計算ルール
      • 検証ルール

    2. [範囲] で、次のオプションのいずれかを選択します。

      • [表示範囲] - マップの表示範囲を評価します。
      • [全範囲] - ソースがフィーチャ サービスの場合は、そのフィーチャ サービスの全範囲を評価します。 ソースがジオデータベースの場合は、ワークスペース内の属性ルールを含むデータの全範囲を評価します。

    3. [オプション] で、次のいずれかを選択します。
      • このバージョンで変更 - 現在のブランチ バージョンで編集した内容を評価します。 このオプションは、ソースが [バージョン管理] 機能を備えたフィーチャ サービスであり、ブランチ バージョンに関連付けられている場合にのみ使用できます。 このオプションは、デフォルト バージョンを使用してルールを評価する場合は使用できません。
      • [非同期に実行] - サービスに対して評価ルールを非同期に実行します。 このオプションを選択すると、長時間のプロセスに対応できるシステムの ValidationTools ジオプロセシング サービスが使用されます。 このオプションは、ソースが [検証] 機能を備えたフィーチャ サービスの場合にのみ使用できます。
  7. 作業が終了したら、ドロップダウン ボタン ドロップダウン ボタン をクリックして、これらのオプションを折りたたみます。
  8. [ルールの評価] ボタン 範囲の検証 をクリックします。
  9. エラー フィーチャが作成されて [エラー インスペクター] に表示されます。 エラーを表示および管理するには、「属性ルールのエラーの管理」をご参照ください。