Indoor Viewer 用シーンの準備

ArcGIS Indoors Maps エクステンションで利用できます。

必要に応じて、Indoor Viewer で検索および操作に使用する 3D シーンを作成することができます。

Indoors モデルに準拠する 3D シーンの作成方法には、次の 2 つの方法があります。

  1. Units および Details の相対高度を設定して、施設ポリゴンをテクスチャ外観に変換することで、2D マップで使用する屋内レイヤーを ArcGIS Proマルチパッチに変換します。
  2. [BIM を Indoor データセットにインポート (Import BIM To Indoor Dataset)] ツールを使用して、Revit モデルから 3D フィーチャのサブセットを [Indoor 3D データセットの作成 (Create Indoor 3D Dataset)] ツールを使用して作成した Indoor 3D データセットにインポートします。

注意:

付随する Web マップがすでに公開されている場合、Indoor Viewer は 3D モードにのみ対応します。 このため、スタンドアロン テーブルは、その Web シーンによって公開する必要はありません。

Revit モデルを使用した 3D シーンの作成

[Indoor 3D データセットの作成 (Create Indoor 3D Dataset)] ツールを使用してデータセットを作成し、[BIM を Indoor データセットにインポート (Import BIM To Indoor Dataset)] ツールを実行して Revit モデルのサブセットを Indoors モデルにインポートできます。 データを Indoor 3D データセットにインポートした後、必要に応じて、Revit モデルまたは 2D データセットから追加のデータを追加できます。

Revit モデルからインポートしたデータを使用して Indoor Viewer 用のシーンを準備するには、次の手順を実行します。

  1. ArcGIS Pro を起動し、Indoors ワークスペースを含むプロジェクトを開きます。
  2. [挿入] タブで、[新規マップ] ドロップダウン矢印をクリックして [新しいグローバル シーン] をクリックします。
  3. Levels レイヤーとその他の含めたい 2D レイヤーを追加します。
  4. 注意:

    Indoor Viewer で使用する Web マップをすでに公開している場合は、公開されているフィーチャ サービスからこれらのレイヤーを追加できます。

  5. 3D フィーチャ (Facilities 3D、Units 3D、Details 3D) をシーンに追加します。
  6. 注意:

    Revit モデルに外部フィーチャの設計オプションが複数含まれている場合、または Revit で外部フィーチャが外部として属性が付けられていない場合、Facilities 3D フィーチャが要件を満たさない場合があります。 その場合、以下で説明するルール パッケージを使用して、施設シェルを作成できます。

  7. 3D レイヤーのシンボルを構成します。
    1. 必要に応じて、[シンボル] ウィンドウのレイヤーで [エッジのある白 (テクスチャを使用)] を選択して、Details 3D レイヤーと Facilities 3D レイヤーのエッジ レンダリングを有効にします。
  8. シーンをフロア対応として構成します。
  9. データの座標系がメートル単位でない場合、次の手順を実行して、データをメートル単位の座標系に投影します。
    1. [投影変換 (Project)] ツールを実行して、水平座標系を Web メルカトル (球体補正) などのメートル座標系に投影します。
    2. Z 値の調整を 0 に設定して [Z 値の調整 (Adjust 3D Z)] ツールを実行し、鉛直座標系の単位をフィートからメートルに変換します。
  10. 屋内フィーチャをフロア対応として、Units 3D、Details 3D、その他の追加レイヤーを構成します。
  11. Facilities 3D レイヤーの名前を Facilities または Facilities_Textured に変更します。

2D フィーチャから 3D フィーチャへ変換による 3D シーンの作成

3D 用 Units を準備する前に、次の手順を実行します。

  1. ArcGIS Pro を起動し、Viewer で使用できるように準備した 2D マップを含むプロジェクトを開きます。
  2. [挿入] タブで、[新規マップ] ドロップダウン矢印をクリックして [新しいグローバル シーン] をクリックします。
  3. ベースマップとスタンドアロン テーブルを除き、完成した 2D 屋内マップからすべてのレイヤーをコピーして、作成したばかりのシーンに貼り付けます。
  4. シーンをフロア対応として構成します。

    シーンのシンボルを構成すると、フロア フィルターを使用して、サイト、施設、およびレベルを切り替えることができます。

    注意:

    Viewer アプリで使用するには、シーンをフロア対応にする必要があります。

  5. [Indoor 3D データセットの作成 (Create Indoor 3D Dataset)] ツールを実行して、Indoors ジオデータベースに 3D データセットを作成します。

    出力データセットは、既存の Indoors フィーチャ データセットと同じ空間参照を持っている必要があります。

  6. シーンの [コンテンツ] ウィンドウで、WorldElevation3D/Terrain3D レイヤーのチェックボックスをオフにして標高サーフェス レイヤーをオフにします。

3D 用ユニットの準備

3D 用ユニットを準備するには、次の手順を実行します。

  1. [Units] レイヤーを右クリックし、[プロパティ] をクリックします。

    [レイヤー プロパティ] ダイアログ ボックスが表示されます。

  2. [標高] タブで、[フィーチャ] パラメーターを [絶対高度] に設定します。
  3. [フィーチャの高さ表現に使用する高度値] パラメーターを [ジオメトリ Z 値] オプションに設定します。
  4. [カートグラフィック オフセット] パラメーターを [0.5] に設定し、[鉛直単位][メートル] に設定します。
    レイヤー プロパティ ダイアログ ボックスでフィーチャの標高を構成します。
  5. [フィルター設定] タブでフィルターを [Where] [ユーザー タイプ] [が値を含まない] に設定し、階段ユニットまたはエレベーター ユニットを表すフィールド値を指定します。
  6. [適用] をクリックします。
  7. [OK] をクリックします。
  8. [3D レイヤー → マルチパッチ フィーチャクラス (Layer 3D to Feature Class)] ツールを実行します。
    1. [入力フィーチャ レイヤー] パラメーターで、Units レイヤーを選択します。
    2. [出力フィーチャクラス] パラメーターで、「Units_Multipatch」という名前を設定し、Indoor 3D フィーチャ データセットに格納します。

      Web シーンのユニット レイヤーは、「Units3D」または「Units」という名前でなければなりません。 このステップでは、出力フィーチャクラスは異なる名前でもかまいませんが、ユニットのシーン レイヤーは有効な名前を持っている必要があります。

    3. [実行] をクリックします。
  9. シーンから Units 3D レイヤーまたは Units レイヤーを削除してください。
  10. [アペンド (Append)] ツールを実行します。
    1. [入力データセット] パラメーターで、Units_Multipatch レイヤーを選択します。
    2. [ターゲット データセット] パラメーターで、Units 3D レイヤーを選択します。
    3. [フィールド マッチング タイプ] パラメーターで、[フィールド マップを使用してフィールドの違いをリコンサイル] オプションを選択します。
    4. [フィールド マップ] パラメーターの UNIT_IDUSE_TYPENAMENAME_LONGLEVEL_IDAREA_GROSS フィールドがマッピングされていることを確認します。

      追加のフィールドが Units3D フィーチャクラスに存在する場合は、その追加のフィールドをマッピングできます。

    5. [実行] をクリックします。
  11. シーンから Units_Multipatch レイヤーを削除します。
  12. [フロア] プロパティを LEVEL_ID に設定し、Units 3D レイヤーをフロア対応にします。
  13. Units 3D レイヤーのポップアップを有効にします。

    構成されたポップアップは、使用可能なすべての属性を含んでいる必要があります。

3D 用詳細の準備

3D 用詳細を準備するには、次の手順を実行します。

  1. [Details] レイヤーを右クリックし、[プロパティ] をクリックします。

    [レイヤー プロパティ] ダイアログ ボックスが表示されます。

  2. [標高] タブで、[フィーチャ] パラメーターを [絶対高度] に設定します。
  3. [フィーチャの高さ表現に使用する高度値] パラメーターを [ジオメトリ Z 値] オプションに設定します。
  4. [カートグラフィック オフセット] パラメーターを [0.5] メートルに設定します。
  5. [フィルター設定] タブで、フィルターを [ユーザー タイプが値を含む] に設定し、シーンで立ち上げフィーチャとして表示したい詳細フィーチャを表すフィールド値を指定します (壁、ドア、窓、柱など)。
    注意:

    エレベーター、階段、およびアノテーション フィーチャは含まれません。

  6. [適用] をクリックします。
  7. [OK] をクリックして [レイヤー プロパティ] ダイアログ ボックスを閉じます。
  8. Details レイヤーの立ち上げを設定します。
    1. [フィーチャ レイヤー] タブの [立ち上げ] グループの [フィーチャ立ち上げタイプ] パラメーターで、[最小高度] オプション 最小高度 を選択します。
    2. [立ち上げの式] ボタン 立ち上げの式 をクリックします。

      [式の設定] ダイアログ ボックスが表示されます。

    3. [式] テキスト ボックスにフィーチャを立ち上げる高さを入力して、[OK] をクリックします。

      フィーチャをレベルの高さのおよそ 50% の高さに立ち上げることをお勧めします。 これにより、レベルの全高である壁によって遮られている屋内の詳細を表示せずに、レベルの詳細を視覚化できます。

    4. [ユニット] パラメーターを適切な計測単位に設定します。
  9. [3D レイヤー → マルチパッチ フィーチャクラス (Layer 3D to Feature Class)] ツールを実行します。
    1. [入力フィーチャ レイヤー] パラメーターで、Details レイヤーを選択します。
    2. [出力フィーチャクラス] パラメーターで、「Details_Multipatch」という名前を設定し、Indoor3D フィーチャ データセットに格納します。
  10. シーンから Details ライン レイヤーを削除します。
    注意:

    Details_Multipatch レイヤーと Details 3D レイヤーだけを残します。

詳細の分割

視覚化をより詳細に制御するために、詳細を複数のフィーチャクラスに分割できます。 壁、ドア、窓、その他の詳細フィーチャをさまざまなレイヤーに分割して、それぞれに異なるシンボルを使用することができます。

壁、ドア、窓、その他の詳細フィーチャの詳細を 4 つの異なるフィーチャクラスに分割するには、次の手順を実行します。

注意:

詳細フィーチャを複数の 3D フィーチャクラスに分割しないようにする場合、[アペンド (Append)] ツールを実行し、3D として視覚化するすべての詳細フィーチャを含めるためのクエリを使用して、Details_Multipatch レイヤーを Details 3D レイヤーに追加できます。

  1. [アペンド (Append)] ツールを実行します。
    1. [入力データセット] パラメーターで、Details_Multipatch レイヤーを選択します。
    2. [式] パラメーターでクエリを [ユーザー タイプが値を含む] に設定し、(非ガラス) 壁または柱を表すフィールド値を指定します。
    3. [ターゲット データセット] パラメーターで、Walls 3D レイヤーを選択します。
    4. [フィールド マッチング タイプ] パラメーターで、[フィールド マップを使用してフィールドの違いをリコンサイル] オプションを選択します。

      LEVEL_ID フィールドがすでにマッピングされているフィールド マップが表示されます。 次の追加マッピングを含めます。

      1. WALL_ID フィールドを DETAIL_ID フィールドにマッピングします。
      2. WALL_TYPE フィールドを USE_TYPE フィールドにマッピングします。

      追加のフィールドが Walls3D フィーチャクラスに存在する場合は、その追加のフィールドをマッピングできます。

    5. [実行] をクリックします。
  2. Walls 3D レイヤーの [フロア] プロパティを Level ID フィールドに設定し、Walls 3D レイヤーをフロア対応にします。
  3. Details_Multipatch レイヤーで手順 1 ~ 2 を繰り返して、ドアの詳細を分割します。 式を設定して、ドアに適用される USE_TYPE フィールド値を含め、Doors 3D レイヤーをターゲット データセットとして選択します。
  4. Details_Multipatch レイヤーで手順 1 ~ 2 を繰り返して、窓の詳細を分割します。 式を設定して、窓に適用される USE_TYPE フィールド値を含め、Windows 3D レイヤーをターゲット データセットとして選択します。
  5. Details_Multipatch レイヤーで手順 1 ~ 2 を繰り返して、3D シーンで視覚化する追加のフィーチャの詳細を分割します。 式を設定して、これらのフィーチャを表す USE_TYPE フィールド値を含め、Details 3D レイヤーをターゲット データセットとして選択します。
  6. 必要に応じて、ドア フィーチャと窓フィーチャの透過表示を変更します。
    1. 透過表示を更新するレイヤーを選択します。
    2. [フィーチャ レイヤー] コンテキスト タブの [効果] グループで、[透過表示] パラメーターを [70%] に設定します。
  7. 公開する前に、Details_Multipatch レイヤーと未使用の 3D レイヤーをシーンから削除します。

施設ポリゴンの 3D 外観への変換

施設ポリゴンを 3D テクスチャ外観に変換するには、次の手順を実行します。

  1. [Facilities] レイヤーを右クリックして [プロパティ] をクリックします。

    [レイヤー プロパティ] ダイアログ ボックスが表示されます。

  2. [標高] タブで、[フィーチャ] パラメーターを [絶対高度] に設定します。
  3. [フィーチャの高さ表現に使用する高度値] パラメーターを [ジオメトリ Z 値] オプションに設定します。
  4. [カートグラフィック オフセット] パラメーターを [0.5] メートルに設定し、[OK] をクリックします。
  5. [コンテンツ] ウィンドウで Facilities レイヤーのシンボルをクリックし、[シンボル] ウィンドウを開きます。

    [ポリゴン シンボルの書式設定] ウィンドウが表示されます。

  6. [プロパティ] タブをクリックします。
  7. [レイヤー] ボタン レイヤー をクリックして [プロシージャル塗りつぶし] を選択します。
    ポリゴン シンボルの書式設定ウィンドウのプロパティ タブにあるストロークと塗りつぶしの設定
  8. [ルール] をクリックしてプロシージャル ルール パッケージ (*.rpk) を割り当て、Indoors 製品データ ダウンロードに含まれているシンボル フォルダーの Indoors_TexturedFacade.rpk ファイルを選択します。
    注意:

    独自のルール パッケージや、テクスチャ処理済みのマルチパッチ建物モデルを使用して、さらにカスタマイズすることができます。 提供されているサンプル ルールは、相対高度と地上レベルの属性を使用して、単純な 3D テクスチャ外観を持ち、フロアで分割された建物を作成します。

    プロシージャル塗りつぶしパラメーターが表示されます。 各パラメーターにマウス ポインターを合わせると、その値によって完成した建物の外観がどのように変わるかの情報が表示されます。

    [ポリゴン シンボルの書式設定] ウィンドウの [属性] セクションで、青いデータベース接続シンボルで示されるように、HEIGHT_RELATIVE および LEVELS_ABOVE_GROUND 属性が施設ポリゴンから直接読み込まれます。

    ポリゴン シンボルの書式設定ウィンドウの属性セクション

  9. [表示オプション] セクションにより、屋根、壁、および窓のスタイルとテクスチャをカスタマイズできます。

  10. [プロシージャル塗りつぶし] パラメーターの変更後、[適用] をクリックすると、シーン内で結果を表示できます。
  11. [ジオメトリ オプション] セクションで、ポリゴンの単純化、一時保存、窓のサイズの変更などを行うオプションを使用できます。
  12. [適用] をクリックして、3D テクスチャ外観モデルを作成します。
  13. [3D レイヤー → マルチパッチ フィーチャクラス (Layer 3D to Feature Class)] ツールを実行します。
    1. [入力フィーチャ レイヤー] パラメーターで、Facilities レイヤーを選択します。
    2. [出力フィーチャクラス] パラメーターで、「Facilities_Multipatch」という名前を設定し、Indoor 3D フィーチャ データセットに格納します。

      Facilities_Multipatch レイヤーがシーンに追加されます。

  14. [アペンド (Append)] ツールを実行します。
    1. [入力データセット] パラメーターで、Facilities_Multipatch レイヤーを選択します。
    2. [ターゲット データセット] パラメーターで、Facilities 3D レイヤーを選択します。
    3. [フィールド マッチング タイプ] パラメーターで、[フィールド マップを使用してフィールドの違いをリコンサイル] オプションを選択します。
    4. [フィールド マップ] パラメーターの FACILITY_IDNAMENAME_LONGSITE_ID フィールドがマッピングされていることを確認します。

      追加のフィールドが Facilities3D フィーチャクラスに存在する場合は、その追加のフィールドをマッピングできます。

    5. [実行] をクリックします。
  15. Facilities 3D レイヤーの名前を次のいずれかに変更します。
    • Facilities
    • Facilities Textured
    • Facilities3D
    • Facilities 3D

    注意:
    Web シーンの Facilities 3D レイヤーの名前は、上記の選択肢のいずれかである必要があります。

  16. シーンから Facilities ポリゴン レイヤーと Facilities_Multipatch レイヤーを削除します。
  17. テクスチャ処理済みの Facilities レイヤーのポップアップを有効にします。

    構成されたポップアップは、使用可能なすべての属性を含んでいる必要があります。

  18. シーンの [屋内レイヤー] プロパティを設定して、シーンをフロア対応にします。
    1. [施設] パラメーターに [テクスチャ処理済みの施設] を選択します。
    2. [フロア] パラメーターに [レベル] を選択します。

エッジ レンダリングの有効化 (オプション)

Indoors のユニットおよび壁は、ArcGIS Pro で表示した場合や、シーン レイヤーとして公開された場合、色が褪せて見えることがあります。 マルチパッチ フィーチャのエッジとコントラストを強化するため、エッジ レンダリングを有効にすることができます。

  1. Details フィーチャと Units フィーチャを含む 3D レイヤーの [コンテンツ] ウィンドウで必要に応じてレイヤーを展開し、白いシンボルをクリックして、[メッシュ シンボルの書式設定] ウィンドウを開きます。
  2. [ギャラリー] タブをクリックし、[エッジのある白 (テクスチャを使用)] を選択します。

Viewer アプリで使用できるように、シーンを ArcGIS 組織に共有できるようになりました。