ArcGIS Indoors Maps エクステンションで利用できます。
Indoor Viewer で検索および操作に使用する 3D シーンを作成することができます。
Indoors モデルに準拠する 3D シーンを作成するには、次のいずれかを実行します。
- Units および Details の相対高度を設定して、施設ポリゴンをテクスチャ外観に変換することで、2D マップで使用する屋内レイヤーを ArcGIS Pro でマルチパッチ フィーチャに変換します。
- フロア プランを含む BIM データ ファイルのタイプに適切なインポート ツールを使用して 3D フィーチャのサブセットをインポートします。 Revit モデルの場合は [BIM を Indoor データセットにインポート (Import BIM To Indoor Dataset)] ツール、.ifc ファイルの場合は [IFC を Indoor データセットにインポート (Import IFC to Indoor Dataset)] ツールを使用します。
注意:
付随する Web マップが公開されている場合、Indoor Viewer は 3D モードにのみ対応します。 このため、スタンドアロン テーブルをその Web シーンとともに公開する必要はありません。
BIM データを使用した 3D シーンの作成
[Indoor 3D データセットの作成 (Create Indoor 3D Dataset)] ツールを使用して、3D フィーチャと 2D フロア プランの保守を目的としたデータセットを作成し、[BIM を Indoor データセットにインポート (Import BIM To Indoor Dataset)] ツール (Revit モデルの場合) または [IFC を Indoor データセットにインポート (Import IFC to Indoor Dataset)] ツール (IFC ファイルの場合) を使用してデータをインポートできます。 データをインポートした後、他の BIM データまたは 2D データセットからさらにデータを追加することもできます。
インポートされた BIM データを使用して Indoor Viewer 用のシーンを作成するには、次の手順に従います。
- ArcGIS Pro を起動し、Indoors ワークスペースを含むプロジェクトを開きます。
- [挿入] タブで、[新規マップ] ドロップダウン矢印をクリックして [新しいグローバル シーン] をクリックします。
- Levels レイヤーとその他の含めたい 2D レイヤーを追加します。
注意:
Indoor Viewer で使用する Web マップを公開している場合は、公開されているフィーチャ サービスからこれらのレイヤーを追加できます。
- 3D レイヤー (Facilities 3D、Units 3D、Details 3D) をシーンに追加します。
注意:
Revit モデルに外部フィーチャの設計オプションが複数含まれている場合、または Revit モデルで外部フィーチャが外部として属性が付けられていない場合、Facilities 3D レイヤーが要件を満たさない場合があります。
必要に応じて、以下で説明するルール パッケージを使用して、施設シェルを作成できます。
- 3D レイヤーのシンボルを構成します。
必要に応じて、[シンボル] ウィンドウのレイヤーで [エッジのある白 (テクスチャを使用)] を選択して、Details 3D レイヤーと Facilities 3D レイヤーのエッジ レンダリングを有効にします。
- シーンをフロア対応として構成します。
- データの座標系がメートル単位でない場合、次の手順を実行して、データをメートル単位の座標系に投影します。
- [投影変換 (Project)] ツールを実行して、水平座標系を Web メルカトル (球体補正) などのメートル座標系に投影します。
- [Z 値を調整] パラメーターを 0 に設定して [Z 値の調整 (Adjust 3D Z)] ツールを実行し、鉛直座標系の単位をフィートからメートルに変換します。
- 屋内フィーチャをフロア対応として、Units 3D レイヤー、Details 3D レイヤー、その他の追加レイヤーを構成します。
- Facilities 3D レイヤーの名前が、Indoor Viewer で認識される、次のいずれかのレイヤーの命名規則に一致していることを確認します。
- Facilities
- Facilities Textured
- Facilities3D
- Facilities 3D
BIM からインポートされた 3D データがシーンに設定されます。
2D フィーチャから 3D フィーチャへ変換による 3D シーンの作成
3D 用ユニットを準備する前に、2D フィーチャを 3D フィーチャに変換する必要があります。
フロア対応シーンから Indoor 3D データセットを作成するには、次の手順に従います。
- ArcGIS Pro を起動し、Viewer で使用できるように準備した 2D マップを含むプロジェクトを開きます。
- [挿入] タブで、[新規マップ] ドロップダウン矢印をクリックして [新しいグローバル シーン] をクリックします。
- ベースマップとスタンドアロン テーブルを除き、完成した 2D 屋内マップからすべてのレイヤーを、作成したばかりのシーンにコピーします。
- シーンをフロア対応として構成します。
シーンのシンボルを構成すると、フロア フィルターを使用して、サイト、施設、およびレベルを切り替えることができます。
注意:
Viewer アプリで使用するには、シーンをフロア対応にする必要があります。
- [Indoor 3D データセットの作成 (Create Indoor 3D Dataset)] ツールを実行して、Indoors ジオデータベースに 3D データセットを作成します。
出力 3D データセットは、既存の Indoors フィーチャ データセットと同じ空間参照を持っている必要があります。 空間参照が異なると、フィーチャが正しく配置されない場合があります。
- シーンの [コンテンツ] ウィンドウで、WorldElevation3D/Terrain3D レイヤーのチェックボックスをオフにして、標高サーフェス レイヤーをオフにします。
2D フィーチャからインポートされた 3D データがシーンに設定されます。
3D 用ユニットの準備
3D シーン用ユニットを準備するには、次の手順に従います。
- [コンテンツ] ウィンドウで Units レイヤーを右クリックし、[プロパティ] をクリックします。
[レイヤー プロパティ] ダイアログ ボックスが表示されます。
- [標高] タブで、[フィーチャ] パラメーターを [絶対高度] に設定します。
- [フィーチャの高さ表現に使用する高度値] パラメーターを [ジオメトリ Z 値] に設定します。
- [カートグラフィック オフセット] パラメーターを [0.50] に設定し、[鉛直単位] パラメーターを [メートル] に設定します。
- [フィルター設定] タブで、[Where]、[ユーザー タイプ]、[が値を含まない] を使用してフィルターを作成し、階段ユニットまたはエレベーター ユニットを表すフィールド値を指定します。
- [適用] をクリックします。
- [OK] をクリックします。
- 次の手順に従って、[3D レイヤー → マルチパッチ フィーチャクラス (Layer 3D to Feature Class)] ツールを実行します。
- [入力フィーチャ レイヤー] パラメーターで、Units レイヤーを選択します。
- [出力フィーチャクラス] パラメーターで、出力ファイルに「Units_Multipatch」という名前を付けて、Indoor 3D フィーチャ データセットを出力場所として選択します。
Web シーンの Units レイヤーは、「Units3D」または「Units」という名前でなければなりません。 このステップでは、出力フィーチャクラスは異なる名前でもかまいませんが、ユニットのシーン レイヤーは有効な名前を持っている必要があります。
- [実行] をクリックします。
- シーンから Units 3D レイヤーまたは Units レイヤーを削除してください。
- 次の手順に従って、[アペンド (Append)] ツールを実行します。
- [入力データセット] パラメーターで、Units_Multipatch レイヤーを選択します。
- [ターゲット データセット] パラメーターで、Units 3D レイヤーを選択します。
- [フィールド マッチング タイプ] パラメーターで、[フィールド マップを使用してフィールドの違いをリコンサイル] オプションを選択します。
- [フィールド マップ] パラメーターの UNIT_ID、USE_TYPE、NAME、NAME_LONG、LEVEL_ID、AREA_GROSS フィールドがマッピングされていることを確認します。
追加のフィールドが Units3D フィーチャクラスに存在する場合は、そのフィールドをマッピングできます。
- [実行] をクリックします。
- シーンから Units_Multipatch レイヤーを削除します。
- [フロア] プロパティを LEVEL_ID に設定し、Units 3D レイヤーをフロア対応にします。
- Units 3D レイヤーのポップアップを有効にします。
構成されたポップアップは、使用可能なすべての属性を含んでいる必要があります。 含まれていない場合は、目的の属性を表示するようにポップアップを構成します。
Units 3D レイヤーは、データが設定され、3D シーンで使用できるようになりました。
3D シーン用の詳細の準備
3D シーン用詳細を準備するには、次の手順に従います。
- [Details] レイヤーを右クリックし、[プロパティ] をクリックします。
[レイヤー プロパティ] ダイアログ ボックスが表示されます。
- [標高] タブで、[フィーチャ] パラメーターを [絶対高度] に設定します。
- [フィーチャの高さ表現に使用する高度値] パラメーターを [ジオメトリ Z 値] オプションに設定します。
- [カートグラフィック オフセット] パラメーターを [0.50] メートルに設定します。
- [フィルター設定] タブで、[ユーザー タイプが値を含む] フィルターを使用し、シーンで立ち上げフィーチャとして表示したい詳細フィーチャを表すフィールド値を指定します (壁、ドア、窓、柱など)。
注意:
エレベーター、階段、アノテーション フィーチャは含まれません。
- [適用] をクリックします。
- [OK] をクリックして [レイヤー プロパティ] ダイアログ ボックスを閉じます。
- 次の手順に従って、Details レイヤーの立ち上げを設定します。
- [フィーチャ レイヤー] タブの [立ち上げ] グループの [フィーチャ立ち上げタイプ] パラメーターで、[最小高度] オプション を選択します。
- [立ち上げの式] ボタン をクリックします。
[式の設定] ダイアログ ボックスが表示されます。
- [式] テキスト ボックスにフィーチャを立ち上げる高さを入力して、[OK] をクリックします。
フィーチャをレベルの高さのおよそ 50% の高さに立ち上げることをお勧めします。 これにより、レベルの全高である壁によって遮られている屋内の詳細を表示せずに、レベルの詳細を視覚化できます。
- [ユニット] パラメーターを適切な計測単位に設定します。
- 次の手順に従って、[3D レイヤー → マルチパッチ フィーチャクラス (Layer 3D to Feature Class)] ツールを実行します。
- [入力フィーチャ レイヤー] パラメーターで、Details レイヤーを選択します。
- [出力フィーチャクラス] パラメーターで、出力ファイルに「Details_Multipatch」という名前を付けて、Indoor 3D フィーチャ データセットを出力場所として選択します。
- シーンから Details ライン レイヤーを削除します。
注意:
Details_Multipatch レイヤーと Details 3D レイヤーだけを残します。
Details 3D レイヤーは、データが設定され、3D シーンで使用できるようになりました。
詳細をフィーチャクラスに分割
視覚化をより詳細に制御するために、詳細を複数のフィーチャクラスに分割できます。 壁、ドア、窓、その他の詳細フィーチャをさまざまなレイヤーに分割して、それぞれに異なるシンボルを使用することができます。
壁、ドア、窓、その他の詳細フィーチャの詳細を 4 つの異なるフィーチャクラスに分割するには、次の手順を実行します。
注意:
あるいは、詳細フィーチャを複数の 3D フィーチャクラスに分割しない場合、[アペンド (Append)] ツールを実行し、3D として視覚化するすべての詳細フィーチャを含めるためのクエリを使用して、Details_Multipatch レイヤーの詳細フィーチャを Details 3D レイヤーに追加できます。
- 次の手順に従って、[アペンド (Append)] ツールを実行します。
- [入力データセット] パラメーターで、Details_Multipatch レイヤーを選択します。
- [式] パラメーターで [ユーザー タイプが値を含む] クエリを設定し、ガラス製でない壁または柱を表すフィールド値を指定します。
- [ターゲット データセット] パラメーターで、Walls 3D レイヤーを選択します。
- [フィールド マッチング タイプ] パラメーターで [フィールド マップを使用してフィールドの違いをリコンサイル] を選択します。
LEVEL_ID フィールドがマッピングされているフィールド マップが表示されます。 次の追加マッピングを含めます。
- WALL_ID フィールドを DETAIL_ID フィールドにマッピングします。
- WALL_TYPE フィールドを USE_TYPE フィールドにマッピングします。
追加のフィールドが Walls3D フィーチャクラスに存在する場合は、そのフィールドをマッピングできます。
- [実行] をクリックします。
- Walls 3D レイヤーの [フロア] プロパティを Level ID フィールドに設定して、Walls 3D レイヤーをフロア対応にします。
- Details_Multipatch レイヤーで手順 1 ~ 2 を繰り返して、ドア フィーチャの詳細を分割します。 式を設定して、ドアに適用される USE_TYPE フィールド値を含め、Doors 3D レイヤーをターゲット データセットとして選択します。
- Details_Multipatch レイヤーで手順 1 ~ 2 を繰り返して、窓の詳細を分割します。 式を設定して、窓に適用される USE_TYPE フィールド値を含め、Windows 3D レイヤーをターゲット データセットとして選択します。
- Details_Multipatch レイヤーで手順 1 ~ 2 を繰り返して、3D シーンで視覚化する追加のフィーチャの詳細を分割します。 式を設定して、これらのフィーチャを表す USE_TYPE フィールド値を含め、Details 3D レイヤーをターゲット データセットとして選択します。
- 必要に応じて、ドア フィーチャと窓フィーチャの透過表示を変更します。
- 透過表示を更新するレイヤーを選択します。
- [フィーチャ レイヤー] コンテキスト タブの [効果] グループで、[透過表示] パラメーターを [70%] に設定します。
- 公開する前に、Details_Multipatch レイヤーと未使用の 3D レイヤーをシーンから削除します。
3D 詳細は、複数の 3D レイヤーに整理され、データが設定されて、3D シーンで使用できるようになりました。
施設ポリゴンの 3D 外観への変換
施設ポリゴンを 3D テクスチャ外観に変換するには、次の手順に従います。
- [Facilities] レイヤーを右クリックして [プロパティ] をクリックします。
[レイヤー プロパティ] ダイアログ ボックスが表示されます。
- [標高] タブで、[フィーチャ] パラメーターを [絶対高度] に設定します。
- [フィーチャの高さ表現に使用する高度値] パラメーターを [ジオメトリ Z 値] オプションに設定します。
- [カートグラフィック オフセット] パラメーターを [0.50] メートルに設定し、[OK] をクリックします。
- [コンテンツ] ウィンドウで Facilities レイヤーのシンボルをクリックし、[シンボル] ウィンドウを開きます。
[ポリゴン シンボルの書式設定] ウィンドウが表示されます。
- [プロパティ] タブをクリックします。
- [レイヤー] ボタン をクリックして [プロシージャル塗りつぶし] を選択します。
- [ルール] をクリックしてプロシージャル ルール パッケージ (*.rpk) を割り当て、Indoors プロダクト データ ファイルに含まれているシンボル フォルダーの Indoors_TexturedFacade.rpk ファイルを選択します。
注意:
独自のルール パッケージや、テクスチャ処理済みのマルチパッチ建物モデルを使用して、さらにカスタマイズすることができます。 提供されているサンプル ルール パッケージは、相対高度と地上レベルの属性を使用して、単純な 3D テクスチャ外観を持ち、フロアで分割された建物を作成します。
プロシージャル塗りつぶしパラメーターが表示されます。 各パラメーターにマウス ポインターを合わせると、その値によって完成した建物の外観がどのように変わるかの情報が表示されます。
[ポリゴン シンボルの書式設定] ウィンドウの [属性] セクションで、データベース接続シンボルで示され、次の画面に表示されているように、HEIGHT_RELATIVE および LEVELS_ABOVE_GROUND 属性が施設ポリゴンから直接読み込まれます。
- [プロシージャル塗りつぶし] パラメーターの変更後、[適用] をクリックすると、シーン内で結果を表示できます。
- [ジオメトリ オプション] セクションで、ポリゴンの単純化、一時保存、窓のサイズの変更などを行うオプションを使用できます。
- [適用] をクリックして、3D テクスチャ外観モデルを作成します。
- 次の手順に従って、[3D レイヤー → マルチパッチ フィーチャクラス (Layer 3D to Feature Class)] ツールを実行します。
- [入力フィーチャ レイヤー] パラメーターで、Facilities レイヤーを選択します。
- [出力フィーチャクラス] パラメーターで、「Facilities_Multipatch」という名前を設定し、Indoor 3D フィーチャ データセットに格納します。
Facilities_Multipatch レイヤーがシーンに追加されます。
- 次の手順に従って、[アペンド (Append)] ツールを実行します。
- [入力データセット] パラメーターで、Facilities_Multipatch レイヤーを選択します。
- [ターゲット データセット] パラメーターで、Facilities 3D レイヤーを選択します。
- [フィールド マッチング タイプ] パラメーターで、[フィールド マップを使用してフィールドの違いをリコンサイル] オプションを選択します。
- [フィールド マップ] パラメーターの FACILITY_ID、NAME、NAME_LONG、SITE_ID フィールドがマッピングされていることを確認します。
追加のフィールドが Facilities3D フィーチャクラスに存在する場合は、そのフィールドをマッピングできます。
- [実行] をクリックします。
- Facilities 3D レイヤーの名前を次のいずれかに変更します。
- Facilities
- Facilities Textured
- Facilities3D
- Facilities 3D
注意:
Web シーンの Facilities 3D レイヤーの名前は、上記の選択肢のいずれかである必要があります。
- シーンから Facilities ポリゴン レイヤーと Facilities_Multipatch レイヤーを削除します。
- テクスチャ処理済みの Facilities レイヤーのポップアップを有効にします。
構成されたポップアップは、使用可能なすべての属性を含んでいる必要があります。 含まれていない場合は、目的の属性を表示するようにポップアップを構成します。
- シーンの [屋内レイヤー] プロパティを設定して、シーンをフロア対応にします。
- [施設] パラメーターに [テクスチャ処理済みの施設] を選択します。
- [フロア] パラメーターに [レベル] を選択します。
[表示オプション] セクションにより、屋根、壁、窓のスタイルとテクスチャをカスタマイズできます。
Facilities 3D レイヤーは、データが設定され、3D シーンで使用できるようになりました。
エッジ レンダリングの有効化
Indoors のユニットおよび壁は、ArcGIS Pro で表示した場合や、シーン レイヤーとして公開された場合、色が褪せて見えることがあります。 エッジ レンダリングを有効にしてマルチパッチ フィーチャのエッジとコントラストを強化するには、次の手順に従います。
- Details フィーチャと Units フィーチャを含む 3D レイヤーの [コンテンツ] ウィンドウで必要に応じてレイヤーを展開し、レイヤーの下にある色の四角形をクリックして、[メッシュ シンボルの書式設定] ウィンドウを開きます。
- [ギャラリー] タブをクリックし、[エッジのある白 (テクスチャを使用)] を選択します。
Viewer アプリで使用できるように、ArcGIS 組織にシーンを共有できます。