属性ルールの概要

属性ルールを使用すると、編集の操作性を強化して、ジオデータベース データセットのデータ整合性を向上させることができます。属性ルールは、属性を自動的に設定し、編集操作中の無効な編集を制限し、既存のフィーチャに対して品質保証チェックを実行するためのユーザー定義のルールです。

属性ルールは、ドメインやサブタイプなど、ジオデータベースで使用される既存のルールを補完します。たとえば、ドメインを属性フィールドに割り当てることで、有効な値のピック リストを編集者に提供して、データ収集プロセスをサポートできます。さらに、フィールド演算の実行時に、属性ルールを使用して、ドメインに含まれない属性フィールドの値を制限することもできます。ルールがデータセットに追加されたら、編集の実行時やその後に、それらのルールを評価できます。

以下の例は、属性ルールをジオデータベースでどのように使用できるかを示したものです。

  • 編集時の時間の節約のために、新しく作成されたフィーチャについて、特定の属性値が自動的に設定されます。たとえば、新しい電柱が作成されると、assetID 属性が順序に基づいて生成されます。
  • データ整合性の向上に役立つように、ユーザー要件に基づいて編集をブロックできます。たとえば、単相変圧器の作成または更新時に、phasescurrent 属性は A、B、C のいずれかでなければなりません。
  • ユーザーが指定した時間に既存のフィーチャの特定の属性値を設定します。たとえば、既存のフィーチャの fulladdress フィールドが、いくつかのテキスト フィールドを連結することで設定されます。
  • フィールドの編集後にユーザー要件が維持されることを保証するために既存のフィーチャを確認します。たとえば、電柱の高さが 65 フィートを超えた場合、その材料は鋼鉄でなければならないことを保証するために既存のフィーチャを評価できます。この評価に合格しないフィーチャは、エラー フィーチャとしてフラグが付けられ、確認の対象になります。

ルール タイプ

属性ルールを作成するときは、使用するルール タイプを指定する必要があります。選択される属性ルール タイプは、必要なタスク、および編集プロセスのどの時点でルールを評価する必要があるかによって異なります。次に示すルール タイプの詳細を確認して、ワークフローに適用可能なルール タイプを決定します。

  • 計算 - データ収集および編集の効率を高めるために、即時計算ルールは、編集パターンに基づいて属性を自動的に設定します。これにより、新しくフィーチャが作成されるときや、既存のフィーチャが変更されるときの編集の操作性を強化できます。バッチ計算ルールは、既存のデータに関してユーザーが指定した日時に評価されます。
  • 制約 - 高品質のデータが GIS に入力されることを保証するために、制約ルールは、ユーザー定義の要件によってデータ入力を制御します。これにより、編集操作中の無効なデータ入力が防止されるため、データ整合性を確保できます。既存のデータの不整合を検出するには、整合チェック ルールを使用します。
  • 整合チェック - 指定した属性要件またはジオメトリ要件に違反するフィーチャを確認できるように、整合チェック ルールは既存のデータ内のエラーをハイライト表示します。これにより、影響を受けるフィーチャに対する認識を高めて、データ整合性を向上させることができます。

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

属性ルール ビュー

属性ルールは、[属性ルール] ビューと呼ばれる独自の表形式のビュー内で表示、作成、および管理されます。[属性ルール] ビューにアクセスするには、直接 [カタログ] または [コンテンツ] ウィンドウでデータセットのショートカット メニューを使用します。また、リボンの [属性ルール] ボタンをクリックしてこのビューにアクセスすることもできます。このボタンは、マップ ビューでアクティブなレイヤーが選択されているときか、[フィールド] ビューまたは [サブタイプ] ビューを使用しているときに [データ] タブの [設計] グループで使用可能になります。

このビューの使用方法の詳細については、「属性ルールの作成および管理」をご参照ください。

属性ルールの作成

属性ルールは、入力フィーチャクラスまたはテーブルに対してデータ所有者として作成されます。ルールは、[属性ルール] ビューで [属性ルールの追加 (Add Attribute Rule)] ツールを使用して作成するか、[属性ルールのインポート (Import Attribute Rules)] ツールを使用してインポートすることができます。ルールの適用対象をルール定義の特定のサブタイプに絞ることができます。これは、ルールをデータセット内のフィーチャのサブセットのみに適用する場合に役立ちます。

計算内容または有効なフィーチャ構成を定義するために、Arcade スクリプト式がルール定義の一部として使用されます。Arcade は、ArcGIS プラットフォーム全体にわたって使用できる移植性のある式言語です。

他の 属性ルール タイプを作成するための要件とグローバル変数については、「Arcade プロファイル」をご参照ください。属性ルールのスクリプト式の作成を開始するための追加リソースとして、「Arcade 基本操作ガイド」および「Arcade 関数インデックス」をご参照ください。

属性ルール スクリプト式の作成の詳細

メモ:
データセットに属性ルールを追加すると、後方互換性に影響があります。
  • 属性ルールは、データセットに追加された後に、ArcMap または ArcGIS Pro 2.0 以前のリリースとの互換性がなくなります。クライアントとジオデータベースのバージョンが異なる場合の利用可能な機能については、「クライアントとジオデータベースの互換性」をご参照ください。
  • 新しい Arcade 関数は、ArcGIS クライアントのどのリリースが属性ルールを含むデータセットにアクセスできるかに影響を与えます。詳細については、「スクリプト条件式における Arcade の互換性」をご参照ください。

属性ルールの管理

属性ルールがジオデータベースのデータセットに対して設定されたら、いくつかの方法を使用して、これらのルールを確認および管理できます。[属性ルール] ビューでは、プロパティを表示したり、既存の属性ルールを変更したり、ルールを作成したりできます。また、[属性ルール] ツールセットのジオプロセシング ツールも、データセットの属性ルールの管理または特定のタスクのスクリプトの作成に使用できます。

データセットに対して arcpy.Describe 関数を使用すると、属性ルール プロパティを印刷できます。また、[属性ルールのエクスポート (Export Attribute Rules)] ツールを使用し、エクスポートされた CSV ファイルのコンテンツを表示して、属性ルール プロパティを表示することもできます。

データセットに対して属性ルールを一時的に無効にするには、[属性ルール] ビューを使用するか、[属性ルールの無効化 (Disable Attribute Rules)] および [属性ルールの有効化 (Enable Attribute Rules)] ツールを使用します。属性ルールを無効化すると、そのルールはトリガー イベントを実行しません。これにより、一括データ読み込みのパフォーマンスが向上するため、ルールの実行を一時停止しなければならない場合に便利です。

属性ルールは、ジオデータベース内のフィーチャクラスまたはテーブルのプロパティとして作成されます。属性ルールは、ジオデータベースのデータセットとともにデータ転送プロセスに含めることができます。コピーおよび貼り付け操作を行うか、[XML ワークスペース ドキュメントのエクスポート (Export XML Workspace Document)] および [XML ワークスペース ドキュメントのインポート (Import XML Workspace Document)] ツールを使用します。既存のデータセット間で属性ルールを転送する場合は、[属性ルールのエクスポート (Export Attribute Rules)] および [属性ルールのインポート (Import Attribute Rules)] ツールを使用します。[属性ルールのエクスポート (Export Attribute Rules)] ツールは、CSV ファイルを使用して属性ルールの定義を格納します。[フィーチャクラス → フィーチャクラス (Feature Class To Feature Class)][テーブル → テーブル (Table To Table)] などのデータ移行方法は、元のデータセット内の属性ルールを転送しません。

メモ:

シーケンスは [XML ワークスペース ドキュメントのエクスポート (Export XML Workspace Document)] ツールからは除外されます。シーケンスを参照する属性ルールは、[XML ワークスペース ドキュメントのインポート (Import XML Workspace Document)] の実行中、ターゲット ジオデータベースのデータには追加されません。

属性ルールの評価とエラー フィーチャの管理

データセットに対する属性ルールの評価は、編集操作中に実行するか、既存のデータに関してユーザーが指定した日時に実行することができます。属性ルールの評価は、ルール タイプとプロパティに応じて異なる時間に実行されます。

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

属性ルールの評価の詳細

バッチ計算ルールおよび整合チェック ルールの評価により、エラーが生成され、属性ルールに違反するデータがハイライト表示されます。各エラーは、エラー レイヤーにエラー フィーチャとして格納されます。エラー フィーチャは、品質保証ワークフローで [エラー インスペクター] から確認できます。

属性ルール エラーの管理の詳細