課題
RevitやPLATEAUから書き出された3D Tilesデータは、誰かが見られる状態になるまでにクリーニング・フロア割り当て・パッケージングが必要でした。そのため、モデルを書き出した本人だけがレビューできる状態が続いていました。
アプローチ
オーサリングから共有までのパイプライン全体を1つのCesiumJSシングルページアプリケーションにまとめました。URLやローカルフォルダからタイルセットを読み込み、Revitリンク付きモデルをリンクごとの建物に分割し、クリッピングプレーンでフロアを割り当て、Shapefile・GDB・GeoPackageレイヤーを重ね、フロアをまたぐ屋内ネットワークを作成し、建物を名前付きベニューにグループ化して、共有サーバーへ自己完結型パッケージとして公開します。
ライブデモ
読み取り専用 3D Tiles ビューア
Cesiumは指示があるまで起動しません。
3Dデモの読み込みにはJavaScriptが必要です。
スクリーンショット
タイルセットはURL、ローカルフォルダのピッカー、または永続化されたFile System Accessハンドルから読み込めます。Revitリンク付きのモデルは自動検出され、リンクごとの建物に分割され、建物ごとにフロアリストが生成されます。クリッピングプレーンのカットアウェイで任意の1フロアの内部を表示でき、建物をまたぐフロアセレクタで駅全体を移動できます。
PLATEAUのコンテキストはLeaflet地図プレビュー付きのカタログピッカーから取得でき、CityGMLのLOD間で重複する建物を抑制するLODフィルタと、クリックスルー選択に対応したフィーチャー単位のゴースト/非表示設定を備えています。Shapefileオーバーレイはフラットハイトのポリゴンとして描画され、File GeodatabaseやGeoPackageのレイヤーはWeb Worker内のGDALでインポートし、建物・フロアへのヒューリスティックなマッチングを行います。
屋内ネットワークはモデル上で直接作成できます。階段・エスカレータ・エレベータ・スロープ・動く歩道をフロア間接続モードでつなぎ、階段形状に沿ったウェイポイント配置と、作成したコネクタのGeoJSONエクスポートに対応しています。
セッションは自動スナップショットでバックアップ・復元でき、状態間のビジュアル差分も確認できます。公開時にはタイルセットとセッションメタデータがパッケージ化され、サーバーがミラーしてリンクで共有します。
使用技術
成果
公開はワンクリックです。タイルセット、セッションメタデータ、GIS平面図が1つのパッケージにまとめられてExpressサーバーへアップロードされ、同僚はファイルの受け渡しではなくリンクを開くだけで閲覧できます。RevitGeoSuiteは同じサーバーへパッケージをプッシュし、実行中のセッションはSSEでリアルタイムに更新されます。
RevitGeoSuiteのエクスポートパッケージは同じサーバーへプッシュされます。このビューアは、3D TilesとGIS平面図がレビューのために届く場所です。