属性ルールの作成

Indoors エクステンションのライセンスが付与された ArcGIS 組織で利用できます。

フロア対応マップを作成し、アプリで使用する際には、正確なフロア プラン データを作成し、維持することが重要です。 ArcGIS Pro における品質管理の方法の 1 つに、データベースに属性ルールを実装することが挙げられます。 [Indoor データセットの作成 (Create Indoor Dataset)] または [Indoors データベースの作成 (Create Indoors Database)] ツールを使用して Indoor データセットを作成するときに、フロア プラン フィーチャクラスに属性ルールのコレクションを追加できます。 Indoor データセットにフロア プランを読み込んだ後、これらの検証ルールを実行して、一意の ID、フロア対応リレーションシップ、空間の整合性など、データに関する一般的および重大な問題を確認できます。

ファイル ジオデータベースか、ブランチ バージョン対応フィーチャ サービスのデータに対し、検証属性ルールを実行できます。 方法によって、ワークフローがわずかに異なります。

[Indoor データセットの作成 (Create Indoor Dataset)] または [Indoors データベースの作成 (Create Indoors Database)] ツールを使用し、属性ルールを Indoors ワークスペースに追加すると、次のようになります。

  • Indoors データセットのフィーチャクラスに Global ID フィールドが作成されます。
  • Indoor データセットのフィーチャクラスに編集情報の記録フィールドが作成され、編集情報の記録が有効になります。
  • Indoors データセットのフィーチャクラスに検証フィールドが作成されます。 このフィールドはエラー インスペクターで管理され、最後の更新以降にフィーチャに対して属性ルールが実行されたかどうかを判断するために使用されます。
  • 4 つのデータセットが、スタンドアロン レイヤーとしてジオデータベースに追加されます。 これらのフィーチャクラスは、ポイント、ポリライン、ポリゴン、テーブル エラーに対応し、[エラー インスペクター] によって管理されます。 [Indoor データセットの作成 (Create Indoor Dataset)] ツールと [Indoors データベースの作成 (Create Indoors Database)] ツールで LEVEL_ID フィールドが追加され、フロア フィルターを使用したデータ エラーの視覚化が有効になります。 エラー レイヤーをマップに追加してエラー インスペクターを開くと、フロア対応として自動的に構成されます。
    注意:

    Error データセットは、最初の検証属性ルールがジオデータベースに追加されると作成されます。 Error データセットがデータベースにすでに存在するか、既存の Indoors ワークスペースに属性ルールをインポートする場合、データセットに LEVEL_ID フィールドを手動で追加できます。

  • 一連の検証および計算ルールが、Sites、Facilities、Levels、Units、Details フィーチャクラスに適用されます。 検証ルールは、データの問題の有無を確認するために指定したタイミングで実行されます。 適用された計算ルールは、検証フィールドの管理に使用され、フィーチャに対して検証チェックを実行するかどうかが決定されます。

最初に属性ルールなしで Indoors ワークスペースを作成した場合、後から手動でジオデータベースに属性ルールを追加できます。

既存の属性ルールを編集するか、組織の要件に合わせて新しいルールを作成できます。 属性ルール ビューから、Arcade スクリプトの編集、ルールの有効化、無効化、削除、新規追加など、ルールの管理を行えます。

注意:

ジオデータベースのフィーチャクラスの名前を変更した場合、Arcade スクリプト内の名前も編集する必要があります。

検証チェック

Indoors データセットで次の検証ルールが作成されます。

詳細

ルール名ルール タイプ説明

Unique ID

検証

このルールは、Detail ID フィールド値が詳細フィーチャに対して一意であることを確認します。 Detail ID フィールド値が一意ではない詳細フィーチャは、エラーとして返されます。

一意ではない各 Detail ID をフィーチャクラス内で一意になるよう更新します。

Valid Level ID

検証

このルールは、Level ID フィールド値が、Levels フィーチャクラスのフィーチャの Level ID フィールド値と一致するかどうかを確認します。

Levels フィーチャクラスに存在するレベル フィーチャと詳細フィーチャを関連付けるために、Level ID フィールド値を更新します。

Correct Z value

検証

このルールは、各詳細フィーチャの Z 値が、それが関連付けられているレベルに対応していることを確認します。

詳細は、レベルの任意の場所にあります (たとえば、窓は床から 3 フィート離れた場所にあるなど)。 この属性ルールは、各詳細フィーチャが、レベル フィーチャの Z 値に、詳細フィーチャの相対高さを加えた値の範囲内に存在することを確認します。 フロアに配置されていない詳細フィーチャがある場合、その HEIGHT_RELATIVE フィールドが Details フィーチャクラスに入力されていることを確認します。

レベル

ルール名:ルール タイプ説明

Unique ID

検証

このルールは、Level ID フィールド値がレベル フィーチャに対して一意であることを確認するものです。 Level ID フィールド値が一意ではないレベル フィーチャは、エラーとして返されます。 一意のレベル ID は、フロア認識の構成、ワークフローの更新、データの維持において重要です。

一意ではない各 Level ID が、フィーチャクラス内で一意になるよう更新します。

Valid Facility ID

検証

このルールは、Facility ID フィールド値が、Facilities フィーチャクラスのフィーチャの Facility ID フィールド値と一致するかどうかを確認します。

Facility ID フィールド値を更新し、レベルを Facilities フィーチャクラスの既存の施設フィーチャに関連付けます。

Missing unit(s)

検証

このルールは、各レベルで次のことを確認します。

  • レベルのユニット間で、1 メートルを超えるギャップがないこと。
  • ユニット フィーチャがレベル外にないこと。

エラーのあるレベルのユニットで、ユニット フィーチャが欠落していないか、またはレベルの境界外に存在してはならないユニットがあるかどうかを決定します。

Facilities

ルール名:ルール タイプ説明

Unique ID

検証

このルールは、施設フィーチャに対して Facility ID フィールド値が一意であることを確認します。 一意の Facility ID は、フロア認識の構成、ワークフローの更新、データの維持において重要です。

一意ではない各 Facility ID が、フィーチャクラス内で一意になるよう更新します。

Valid Site ID

検証

このルールは、Site ID フィールド値 (Null ではない場合) が、Sites フィーチャクラスのフィーチャの Site ID フィールド値と一致するかどうかを確認します。

Site ID フィールド値を更新し、レベルを Sites フィーチャクラスの既存のサイト フィーチャに関連付けます。 Sites フィーチャクラスにサイト フィーチャがない場合、Facilities フィーチャクラスのフィーチャの Site ID フィールドが Null であることを確認します。

Overlapping geometry

検証

このルールは、施設が別の施設とオーバーラップしていないことを確認します。

施設ジオメトリが重複しないよう更新します。

Sites

ルール名:ルール タイプ説明

Unique ID

検証

このルールは、Site ID フィールド値がサイト フィーチャに対して一意であることを確認するものです。 一意のサイト ID は、フロア認識の構成、ワークフローの更新、データの維持において重要です。

一意ではない各 Site ID が、フィーチャクラス内で一意になるよう更新します。

Units

ルール名:ルール タイプ説明

Unique ID

検証

このルールは、Unit ID フィールド値がユニット フィーチャに対して一意であることを確認するものです。 Unit ID フィールド値が一意ではないユニット フィーチャは、エラーとして返されます。 一意のユニット ID は、フロア プランの更新やデータの維持において重要です。

注意:

一意でないユニット ID がある場合、[入室者フィーチャの更新 (Update Occupant Features)] ツールを使用して入室者データをインポートすることはできません。

一意ではない各 Unit ID が、フィーチャクラス内で一意になるよう更新します。

Valid Level ID

検証

このルールは、Level ID フィールド値が、Levels フィーチャクラスのフィーチャの Level ID フィールド値と一致するかどうかを確認します。

Levels フィーチャクラスの既存のレベル フィーチャと詳細フィーチャを関連付けるために、Level ID フィールド値を更新します。

Correct Z value

検証

このルールは、各詳細フィーチャの Z 値が、それが関連付けられているレベルに対応していることを確認します。

詳細は、レベルの任意の場所にあります (たとえば、窓は床から 3 フィート離れた場所にあるなど)。 この属性ルールは、各詳細フィーチャが、レベル フィーチャの Z 値に、レベル フィーチャの相対高さを加えた値の範囲内に存在することを確認します。

Overlapping geometry

検証

このルールは、ユニットが同じレベルにある別のユニットとオーバーラップしていないことを確認します。

ユニット ジオメトリが重複しないよう更新します。

ユニットに別のユニットが含まれる

検証

このルールは、ユニットが別のユニットに完全に含まれていないことを確認します。 これには、次のようなシナリオがあります。

  • 重複するユニットがあります。 この場合、重複するユニットを削除します。
  • 大きいユニットの中に、小さいユニットが完全に含まれています。 この場合、[クリップ (Clip)] ツールを使用して、大きいユニットから小さいユニットを切り取ることができます。

検証属性ルールの作成

Indoors ワークスペースに検証属性ルールを作成するには、次の手順を実行します。

  1. ArcGIS ProIndoors ワークスペースを開きます。
  2. Indoors ワークスペースがエンタープライズ ジオデータベースである場合、ブランチ バージョニングを有効にします。
    1. [カタログ] ウィンドウで、エンタープライズ ジオデータベース コネクションを右クリックし、[ジオデータベース コネクション プロパティ] をクリックします。

      [ジオデータベース コネクションプロパティ] ダイアログ ボックスが表示されます。

    2. [バージョニング タイプ][ブランチ] オプションを選択します。
    1. [OK] をクリックします。
  3. [属性ルールの作成] パラメーターをオンにして、[Indoors データベースの作成 (Create Indoors Database)] または [Indoor データセットの作成 (Create Indoor Dataset)] ツールを実行します。

属性ルールを追加したら、検証チェックを実行し、フロア プラン データのエラーを特定できます。

既存の Indoors ワークスペースに属性ルールを追加する

既存の Indoor データセットのフィーチャクラスに属性ルールを追加するには、次の手順を実行します。

  1. Indoor データセットに Global ID を追加します。
  2. Indoor データセットの編集情報の記録を有効化します。
  3. Indoors ワークスペースがエンタープライズ ジオデータベースである場合、ブランチ バージョニングを有効にします。
    1. [カタログ] ウィンドウで、エンタープライズ ジオデータベース コネクションを右クリックし、[ジオデータベース コネクション プロパティ] をクリックします。

      [ジオデータベース コネクションプロパティ] ダイアログ ボックスが表示されます。

    2. [バージョニング タイプ][ブランチ] オプションを選択します。
    1. [OK] をクリックします。
  4. [属性ルールの追加 (Import Attribute Rules)] ツールを実行し、各フィーチャクラスに属性ルールを追加します。

    ルールは、<Installation location>\Resources\AttributeRules\Indoors\<Feature class name>.csvArcGIS Pro のインストールに .csv ファイルとして格納されます。

属性ルールを追加したら、検証チェックを実行し、フロア プラン データのエラーを特定できます。