属性ルールの評価

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

  • 即時評価
    • 即時計算ルール
    • 制約ルール
  • 遅延評価
    • バッチ計算ルール
    • 整合チェック ルール
詳細:

ユーティリティ ネットワーク[サブネットワークの更新 (Update Subnetwork)] または [接続属性の更新 (Update Is Connected)] ツールで行われた編集は、ジオデータベース機能を回避することがあり、属性ルールの即時評価が引き起こされません。詳細については、「サブネットワークの更新」および「孤立したフィーチャの識別」をご参照ください。

編集中の即時評価

即時計算ルールおよび制約ルールは、編集操作 (挿入、更新、または削除) で自動的に評価されます。即時評価が実行される特定の編集操作は、ルール プロパティのトリガー イベントで定義します。ルール プロパティを確認するには、「属性ルール ビュー」をご参照ください。

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

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

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

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

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

遅延評価

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

メモ:
バッチ計算ルールと整合チェック ルールを評価するための入力ワークスペースは、属性ルールを含むデータセットが格納されているジオデータベースのタイプによって異なります。
  • ファイル ジオデータベース - ジオデータベースが評価対象の入力ワークスペースになります。
  • エンタープライズ ジオデータベース - [整合チェック] 機能を備えたフィーチャ サービスを評価対象の入力ワークスペースとして使用する必要があります。[整合チェック] 機能を備えたフィーチャ サービスとしてデータを共有する方法の詳細

整合チェック ステータス属性

バッチ計算ルールと整合チェック ルールの評価は、データセット内の [整合チェック ステータス] フィールドに記録されます。データセットに対して最初のバッチ計算ルールまたは整合チェック ルールを作成すると、[整合チェック ステータス] フィールドが追加されます。このフィールドでは、各フィーチャの次の情報が報告されます。

  • 該当するフィーチャに計算が必要かどうか
  • 該当するフィーチャに整合チェックが必要かどうか
  • 該当するフィーチャにエラーがあるかどうか

各フィーチャでは、そのフィーチャに関するルールを検証するための評価に必要な計算または整合チェックを設定する必要があります。フィーチャが編集されたとき、評価中、またはデータセットに新しいバッチ計算ルールまたは整合チェック ルールが追加されたときに、[整合チェック ステータス] フィールドが更新されます。バッチ計算ルールまたは整合チェック ルールがデータセットに追加されると、整合チェック ステータスがリセットされて、すべてのフィーチャの評価が必要になります。たとえば、データセットにバッチ計算ルールと整合チェック ルールを追加すると、[必要な計算、必要な整合チェック、エラーのいずれもありません] という整合チェック ステータスが更新されて、[計算と整合チェックが必要で、エラーはありません] になります。

コード説明

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. エラー フィーチャが作成されて [エラー インスペクター] に表示されます。エラーを表示および管理するには、「属性ルールのエラーの管理」をご参照ください。