PLATEAU QGISプラグイン(以下「本プラグイン」という)は、QGISでPLATEAUのCityGMLファイルを読み込み、QGIS上に表示するためのプラグインです。データは一時スクラッチレイヤとして読み込まれます。
本プラグインでは「3D都市モデル標準製品仕様書 第3.0版」に対応するCityGMLファイルを指定する必要があります。
本プラグインの動作環境は以下の通りです。本プラグインを実行するには、QGIS(バージョン 3.28)がインストールされている必要があります。
OS:Windows10、Windows11 QGIS:バージョン3.28 QGISのインストールについては、以下を参照ください
本プラグインは、QGISの公式プラグインリポジトリで公開されており、以下の手順でダウンロードが可能です。
QGISを起動
- メニュータブの[プラグイン]から[プラグインの管理とインストール]を選択します。
- 表示画面の左側のタブから[すべて]を選択します。
- 表示画面の上部の入力欄に「plateau」と入力します。
- 一覧に表示された「PLATEAU 3D City Models」を選択します。
- 表示画面下部の[インストール]を選択します。
- メニュータブの[プラグイン]および、[プラグインツールバー]にインストールされたプラグインが表示されます。
インストールされたプラグインが表示されない場合、以下の手順によりプラグインを有効化する必要があります。
- 表示画面の左側のタブから[インストール済]を選択します。
- 本プラグイン左側のチェックボックスをチェックします。
- 本プラグインが有効化されます。
本プラグインのアンインストール手順は以下の通りです。
- メニュータブの[プラグイン]から[プラグインの管理とインストール]を選択します。
- 表示画面の左側のタブから[インストール済]を選択します。
- 本プラグイン(PLATEAU 3D City Model Plugin)を選択します。
- 表示画面右下の[アンインストール]を選択します。
- 本プラグインがアンインストールされます。
本プラグインはCityGMLファイルを読み込み、一時スクラッチレイヤとしてQGIS上に表示します。 変換にあたっては、「日本測地系2011における経緯度座標系と東京湾平均海面を基準とする標高の複合座標参照系(EPSG:6697)」ではQGISで適切に表示できない可能性があるため、「EPSG:6668 (JGD2011)」の緯度経度の座標参照系や、「平面直角座標系」などのメートルを距離単位とする座標参照系に変換することを推奨します。
本プラグインにはCityGMLデータが必要です。CityGMLデータは以下のサイトからダウンロードできます。
ダウンロードしたZIPファイルを解凍後に作成されるフォルダー内のすべてのファイルが必要となります。 なお、解凍後のフォルダ構成は変更しないようにしてください。変更すると属性が適切に読み込めないことがあります。
- メニュータブの[プロセシング]から[ツールボックス]を選択、ツールボックスが表示されたら、[Project PLATEAU]をダブルクリックし、[PLATEAU 3D都市モデルを読み込む]をダブルクリックしプラグインを起動します。
- 本プラグインの設定画面において、各項目を設定します。
- PLATEAU CityGMLファイル
読み込み対象のCityGMLファイルを指定します。
- 読み込むLOD
同一の都市オブジェクトに複数のLOD (詳細度) が用意されている場合は、デフォルトでは最も単純なLODのみを読み込みます。目的に応じて選択してください。
- 地物を構成する部分ごとにレイヤを分ける[オプション]
オプションを有効にすると、一部のモデルのLOD2以上において、壁や屋根、車道や歩道といった意味的な部分に分けて地物を読み込みます。有効にすると生成される地物の数が大幅に増える可能性があります。
- 3次元データを強制的に2次元化する[オプション]
オプションを有効にすると、3次元の情報を捨てて平面データとして読み込みます。高さをもたないモデル (都市計画決定情報など) はこのオプションにかかわらず常に平面として読み込みます。
- 既存の同名レイヤに追記する[オプション] (デフォルトでチェック)
オプションを有効にすると、既存のレイヤに追記されます。
- 変換先CRS[オプション]
変換先のCRSを指定します。(デフォルトではEPSG:6668 (JGD2011))
- [実行]を押下して処理を実行
「実行」を押下すると処理が開始します。処理が完了すると、QGISのレイヤパネルに読み込まれたデータが表示されます。
災害リスク情報を持つ建築物モデルを読み込むと、建築物モデルとは別のレイヤ(テーブル形式のレイヤ)として出力されます。 このレイヤは、災害リスク情報が持つ属性である[description]と[scale]の単位で分割して出力されます。
- description
- 災害リスク情報の属性を付与する元となる図又はデータの名称。
- scale
- 洪水浸水想定区域内に存在する建築物に、浸水想定区域がもつ属性を与える際に、想定最大規模降雨あるいは計画規模降雨のいずれにより作成されたかの区分。
「3D都市モデル(Project PLATEAU)沼津市(2021年度)」CityGML(v2)の建築物モデルを読み込んだ例
災害リスク情報を建築物モデルを付与するためには、以下の手順を実行します。
- レイヤパネルより、[Building]レイヤを右クリックして、[プロパティ]を選択します。
- 左のタブより[テーブル結合]を選択します。
- 下部より[+]ボタンをクリックします。
-
プルダウンで以下の通り選択します。
- [結合するレイヤ]には、建築物モデルに付与したい災害リスク情報のレイヤを選択
- [結合基準の属性]には、[parent]を選択
- [ターゲット属性]には、[id]を選択
-
オプションで[属性名の接頭辞]にチェックを入れて、値を適宜修正します。
-
[OK]をクリックします。
- 設定した内容が登録されていることを確認します。
- [適用]をクリックしてから、[OK]をクリックします。
- レイヤパネルより、[Building]レイヤを右クリックして、[属性テーブルを開く]を選択します。
- 属性テーブルの右側に、5で設定した[属性名の接頭辞]+ [災害リスク情報の属性名]の名称で、属性が付与されていることを確認します。
- メニュータブの[プロセシング]から[ツールボックス]を選択、ツールボックスが表示されたら、[Project PLATEAU]をダブルクリックし、[PLATEAU 地形モデルをメッシュとして読み込む]をダブルクリックしプラグインを起動します。
- 本プラグインの設定画面において、各項目を設定します。
- PLATEAU CityGMLファイル
読み込み対象のCityGMLファイル(地形モデル)を指定します。
- 出力メッシュファイル[オプション]
出力するフォルダを指定します。指定しない場合は、一時スクラッチレイヤとして読み込まれます。
- [実行]を押下して処理を実行
処理が完了すると、QGISのレイヤパネルに読み込まれたデータが表示されます。
地形モデルはメッシュレイヤとして出力されます。ラスタに変換したい場合は、以下の手順を実行します。
- メニュータブの[プロセシング]から[ツールボックス]を選択、ツールボックスが表示されたら、[メッシュ]をダブルクリックし、[メッシュデータをラスタライズ]をダブルクリックしプラグインを起動します。
- 設定画面において、各項目を設定します。
- 入力メッシュ
[TINRelief(プラグインでインポートした地形モデルを選択)]を設定します。
- データセットグループ
右の[…]より[現在アクディブなデータセットグループ]を設定
- ピクセルサイズ
ラスタのピクセルサイズを設定します。地形モデルは緯度経度のデータとして作成されているため、約10m(0.4秒)のラスタを作成する場合は[0.00011111]を入力します(1 / 60 / 60 * 0.4 = 0.00011111度)。
- 出力ラスタ
出力するフォルダを指定します。指定しない場合は、一時スクラッチレイヤとして読み込まれます。
- [実行]を押下して処理を実行
処理が完了すると、QGISのレイヤパネルに読み込まれたデータが表示されます。
バッチプロセスで複数のファイルを同時に読み込むと大量のメモリを消費する可能性があります。
メモリ不足となるとQGISがクラッシュする可能性があるため、メモリ使用量をご確認の上で実行してください。
- メニュータブの[プロセシング]から[ツールボックス]を選択、ツールボックスが表示されたら、[Project PLATEAU]をダブルクリックし、[PLATEAU 3D都市モデルを読み込む]をダブルクリックしプラグインを起動します。
- [バッチプロセスで実行]をクリック
-
パラメータタブにおいて、以下の項目を読み込みたいCityGMLの数だけ設定します。
- PLATEAU CityGMLファイル
- 地物を構成する部分ごとにレイヤーを分ける (デフォルト いいえ)
- 3次元データを強制的に2次元化する (デフォルト いいえ)
- 既存の同名レイヤに追記する (デフォルト はい)
- 変換先CRS (デフォルトで EPSG:6668 (JGD2011))
- 完了時にレイヤを読み込む
チェックを入れます。
- 「実行」を押下して処理を実行
処理が完了すると、QGISのレイヤパネルに読み込まれたデータが表示されます。
1.[オートフィル]を選択します。 2.[ファイル]を選択します。
3.フォルダーから読み込みたいCityGMLファイルを複数選択します。
一番上の行の選択項目がすべての行に反映されます。
1.1番上の行の選択項目を設定し、[オートフィル]を選択します。 2.[フィルダウン]を選択します。
3.選択列の項目が1番目の値にすべて変更されます。
- メニュータブの[プロセシング]から[ツールボックス]を選択し、ツールボックスが表示されたら、[Project PLATEAU]をダブルクリックし、[PLATEAU 地形モデルをメッシュとして読み込む]をダブルクリックしプラグインを起動します。
- [バッチプロセスで実行]をクリックします。
-
パラメータタブにおいて、以下の項目を読み込みたいCityGMLの数だけ設定します。
- PLATEAU CityGMLファイル
- 出力メッシュファイル (デフォルト空白)
- 完了時にレイヤを読み込む
チェックを入れます。
- [実行]を押下して処理を実行
処理が完了すると、QGISのレイヤパネルに読み込まれたデータが表示されます。
1.[オートフィル]を選択します。 2.[ファイル]を選択します。
3.フォルダーから読み込みたいCityGMLファイルを複数選択します。
QGISでは上記の手順でインポートしたPLATEAUのCityGMLファイルを3Dで表示することが可能です。
ここでは、QGISプラグインのQGIS2threejsを使用して3D表示する方法を紹介します。
- メニューバーより[プラグイン]、[プラグインの管理とリポジトリ]の順にクリックします。
- 左のタブから[すべて]を選択して、検索ワード入力欄に[threejs]と入力して、一覧より[QGIS2threejs]を選択して、下部の[インストール]をクリックします。
- [QGIS2threejs]はプロジェクトの座標系を投影座標系に変更する必要があります。画面右下の[EPSG:○○○○]ボタンをクリックして、プロジェクトの座標系を[EPSG:3857]などの投影座標系に変更します。
- レイヤパネルで、背景地図のみの表示に変更しておきます。
- ツールバーより[QGIS2threejs]のアイコンをクリックしてプラグインを起動します。
- 左上の[Layres]より[FlatPlane]とPLATEAUのCityGMLファイル(ここでは[Building])にチェックを入れることで、3Dでマップが表示されます。
- 標高データがある場合は、左上の[Layres]で、[FlatPlane]のチェックを外し、標高データにチェックを入れることで、CityGMLデータが地形から浮かずに表示されます。
標高データは、上記の通り地形モデルからラスタライズして作成するか、QGISプラグインのElevationTile4JPなどで入手することが可能です。
QGISには標準機能で3D表示するための[3Dマップビュー]という機能が存在します。[3Dマップビュー]の使用方法は、QGIS公式ドキュメントを参照してください。