東京都の点群データをゲームエンジン上で ArcGIS に統合してみた - ArcGIS Maps SDKs for Game Engines 2.2 新機能

351
0
3 weeks ago

東京都の点群データをゲームエンジン上で ArcGIS に統合してみた - ArcGIS Maps SDKs for Game Engines 2.2 新機能

 

こちらは、ArcGIS アドベントカレンダー2025 19 日目の記事です。他の記事もぜひご覧ください。

 

はじめに

ArcGIS Maps SDKs for Game Engines は、米国時間 12/3 に新しいバージョン 2.2 がリリースされました。(Unity / Unreal Engine)

本バージョンでは、待望の点群(ポイント クラウド)レイヤーがサポートされ、表示することが可能になりました。

そこで今回は、東京都が公開している区部点群データを利用して、ArcGIS Maps SDK for Unity に点群を表示したいと思います。(区部点群データは、は東京都デジタルサービス局デジタルサービス推進部デジタルサービス推進課によって作成され、CC-BY-4.0 ライセンスで公開されています。ライセンスに関する詳細はこちらをご覧ください。)

 

また本記事では、点群からポイント クラウド データセットを作成するため、ArcGIS Pro 3D Analyst ライセンスが必要になります。ライセンスをお持ちでない方は、ArcGIS Online で共有されているデータをお使いいただくことで、点群の表示を行うことができます。詳しくは、記事の末尾をご覧ください。

 

データの取得

まず、公開されている区部点群データをダウンロードします。G空間情報センターにアクセスし、「東京都デジタルツイン実現プロジェクト 区部点群データ」と検索するか、こちら からデータセットにアクセスします。いくつかあるデータから、「オリジナルデータ(DSM)及びグラウンドデータ(DEM)」を選択し、東京タワーの含まれる範囲を選択します。範囲が選択された状態で左にあるダウンロード アイコンを押下するとダウンロードが開始します。

選択範囲の例とダウンロード ボタン選択範囲の例とダウンロード ボタン

 

複数の範囲を選択していると、それぞれの範囲が別のzip 形式でダウンロードされます。これらを展開すると .las というファイルが確認できます。これが点群のファイルです。このままだとバラバラな上、ArcGIS Maps SDKs for Game Enginesでレイヤーとして扱えないため、ArcGIS Pro でデータを整理し、シーン レイヤー パッケージ(.slpk)として出力していきます。

 

データを整理する

ここからは、ArcGIS Pro を用いて点群データをまとめ、.slpk として出力していきます。また、ArcGIS Pro を利用するにあたり、基本的な操作は割愛させていただきます。詳しくは、ArcGIS リソース集や、米国Esri が提供するドキュメントをご覧下さい。

 

ArcGIS Pro でプロジェクトを作成し、不要なレイヤーを削除します。その後、[カタログ]から先程ダウンロードした .las ファイルを選択し、シーンに読み込みます。

点群レイヤーの読込点群レイヤーの読込

 

このままでは、まだバラバラのレイヤーなので、ジオプロセシング ツールの [LAS データセットの作成] を利用して、1つのレイヤーにまとめます。

入力ファイルに、シーンに存在するレイヤーを指定し、任意の名前を[出力 LAS データセット]に指定します。その後、座標系に「GCS_WGS_1984」を設定し、実行します。(座標系は任意のもので構いませんが、ゲームエンジンで座標指定する際に GCS_WGS_1984 を指定するため、ここではこの値を設定しています。)

実行すると、指定した名前のレイヤーが出力されるので、LAS データセットの作成に使ったレイヤーを削除します。

LAS データセットの作成LAS データセットの作成

  

これで、レイヤーを1つにまとめる事ができました。しかし、デフォルトのシンボル表示が [標高] となっており、実際の見た目と異なると思いますので、シンボルを [RGB] に変更します。また、シンボル スケールも気持ち大きくしておくと、ゲームエンジン上で表示した際に、きれいに表示されます。

シンボルの変更(RGB)シンボルの変更(RGB)

 

最後に、メタデータを編集して、著作権情報を入力します。

レイヤーの [プロパティ] から[メタデータ]の項を開き、[著作権]の欄に入力してください。

著作権の入力著作権の入力

 

ここまで来たら、あとは出力するだけです。ジオプロセシング ツールの [点群シーン レイヤー コンテンツの作成] を利用して、.slpk を出力してください。

点群シーン レイヤー コンテンツの 作成点群シーン レイヤー コンテンツの 作成

 

ゲームエンジンで表示する

データの準備が完了したので、いよいよゲームエンジン上に点群を表示していきます!

とは言えレイヤーを表示するだけなので、非常に簡単です。地図の表示は、ArcGIS 開発リソース集をご確認ください。

 

レイヤーを追加する際は、[Layers] タブの下部、[+ Add New] からポップアップを開き、ファイルを指定してください。このとき、[Type] を [ArcGIS Point Cloud Layer] に変更するのを忘れずに!

レイヤーの追加レイヤーの追加

 

また、著作権の表示は、Package Manager からサンプルをインポートし、AttributionDisplay.prefab を導入すると簡単に行うことができます。

サンプルのインポートサンプルのインポート

 

AttributionDisplay.prefabAttributionDisplay.prefab

 

下記のように表示することが可能です。著作権も表示されています。

点群レイヤー表示例点群レイヤー表示例

 

おわりに

本稿では、ArcGIS Maps SDK for Unity で点群を表示してみました。今回はローカルにおいた .slpk を読み込みましたが、オンライン上のレイヤーをお使いいただくことも可能です。

例えば、3D City Experience Lab. が公開しているデータを ArcGIS Pro を用いて編集した、「ShibuyaUnderground_webmercator」などすぐにお使いいただける国内データもございます。

皆さんもぜひ、ゲームエンジンでお持ちの点群データを表示してみてください。

 

また、アドベント カレンダー 23 日目には、同じく新機能である3D ビルディング シーン レイヤーに付与されているフィーチャの属性情報を取得します。  こちらもお見逃しなく!   

 

参考リンク:

ArcGIS Maps SDKs for Game Engines

ArcGIS Pro ヘルプ

ArcGIS Developers 開発リソース集 (Unity)

ArcGIS Developers 開発リソース集 (Unreal Engine)

Version history
Last update:
3 weeks ago
Updated by:
Contributors