eyecatch

QGISでPLATEAUデータを活用しよう〜災害リスク情報のテーブル結合・3D表示〜

投稿日: 最終更新日:
この記事はQGIS 3.34を使用しています。 現在のLTRは3.40です。

この記事でわかること


  • 災害リスク情報をテーブル結合する方法
  • PLATEAUデータを使用した空間分析の方法
  • QGISで3D表示する方法

こんな人におすすめ


  • 災害リスク情報をQGISで活用したい方
  • QGISでPLATEAUデータを使った空間分析や3D表示を行いたい方
  • QGISでPLATEAUデータが宙に浮いてしまった方

はじめに

この記事では、PLATEAU 3D都市モデルが持つ災害リスク情報をテーブル結合する方法や空間分析の例、3D表示する方法についてご紹介します。

PLATEAUについて知りたい方やPLATEAU 3D都市モデルをQGISに追加する方法について知りたい方は以下の記事をご覧ください。

付属のデータをテーブル結合して利用する

災害リスク情報のレイヤは建築物モデルに付属していますが、そのままでは地図上に描画できないため、Buildingレイヤにテーブル結合する必要があります。

まず、「QGISにPLATEAUの3D都市モデルを追加しよう〜PLATEAU QGIS Plugin〜」で実践したように、QGISに3D都市モデルを追加します(この先の操作にも関連するため、3D都市モデル 川崎市(2022年度)データ の建築物モデルを追加することを推奨します)。

追加できたら、「Building」レイヤを右クリックしてプロパティを開き、「テーブル結合」タブに移動します。緑色の[+]を押下するとポップアップウィンドウが表示されます。

[テーブル結合]タブに移動し、[+]ボタンを押下してウィンドウを起動する
[テーブル結合]タブに移動し、[+]ボタンを押下してウィンドウを起動する

「ベクタ結合を追加」ウィンドウでは、以下のように設定しましょう。

  1. 結合するレイヤ:結合したい災害リスク情報レイヤを選択する
  2. 統合基準の属性値:「parent」を指定する
  3. ターゲット属性:「id」を指定する
  4. 属性名の接頭辞:チェックを入れてわかりやすい名前をつける(末尾に_(半角アンダーバー)を入れておくと、属性テーブルでカラム名が見やすくなる)
  5. [OK]を押下する
レイヤの結合情報と属性名の接頭辞を設定する
レイヤの結合情報と属性名の接頭辞を設定する

レイヤプロパティを閉じて「Building」レイヤの属性テーブルを確認すると、属性情報が追加されていることが確認できます。カラム名は、先ほど指定した接頭辞の後に災害リスク情報レイヤのカラム名が追加されています。

Building / RiverFloodingRisk 1 L2(想定最大規模)レイヤの属性情報が結合された
Building / RiverFloodingRisk 1 L2(想定最大規模)レイヤの属性情報が結合された

属性情報が追加されていることが確認できたので、地図上で可視化してみましょう。

災害リスク情報の「RiverFloodingRisk 1 L2(最大想定規模)」では、「rank」により洪水浸水想定の規模が定義されています。

1

0.5m未満

2

0.5m以上3m未満

3

3m以上5m未満

4

5m以上10m未満

5

10m以上20m未満

6

20m以上

川崎市多摩区生田周辺の洪水浸水想定を見てみると、五反田川沿いの地域で最大「5m以上10m未満」の浸水が想定されていることがわかります。

洪水浸水想定の「rank」によって色分け(OpenStreetMapを背景に、「3D都市モデル 川崎市(2022年度)データ(国土交通省)」を加工して作成(©︎OpenStreetMap contributors))
洪水浸水想定の「rank」によって色分け(OpenStreetMapを背景に、「3D都市モデル 川崎市(2022年度)データ」(国土交通省)を加工して作成(©︎OpenStreetMap contributors))

空間分析:各ポリゴンから最も近いポイントの情報を結合する

追加したデータを使用して空間分析をしてみましょう。今回は、川崎市がオープンデータとして公開している応急給水拠点のデータを使用して、「どの応急給水拠点に最も近いか」を基準に建築物モデルを分類・色分けします。

応急給水拠点のデータはCSV形式になっており、内容を見てみると位置情報(緯度・経度)の列を持っていることが確認できます。

位置情報の列を持つことを確認
位置情報の列を持つことを確認

CSVテキストレイヤの追加

位置情報を持つCSV形式のデータは、QGISに簡単に取り込むことができます。

メニューバーより[レイヤ]→[レイヤを追加]→[CSVテキストレイヤを追加]の手順でデータソースマネージャを起動します。以下のように設定して、レイヤを追加しましょう。

  1. ファイル名:追加するCSVファイルを選択する
  2. レイヤ名:適宜設定する(ここでは「water」と設定)
  3. 文字コード:適宜設定する(Shift-JIS/UTF-8を試して文字化けしない方を選択)
  4. X値:経度
  5. Y値:緯度
  6. ジオメトリのCRS:適宜設定する(今回は、CSVファイル内に記載されているEPSGコード(EPSG : 4612)に設定)
  7. [追加]ボタンを押下する
各種設定を確認して、CSVテキストレイヤを追加する
各種設定を確認して、CSVテキストレイヤを追加する

追加したレイヤを右クリックして「レイヤの領域にズーム」すると、川崎市の応急給水拠点のポイントレイヤが追加されたことが確認できます。

川崎市の「応急給水拠点」レイヤが追加された(OpenStreetMapを背景に、「3D都市モデル 川崎市(2022年度)データ(国土交通省)」及び「応急給水拠点一覧(川崎市、クリエイティブ・コモンズ・ライセンス表示 2.1)」を加工・改変して作成(©︎OpenStreetMap contributors))
川崎市の「応急給水拠点」レイヤが追加された(OpenStreetMapを背景に、「3D都市モデル 川崎市(2022年度)データ」(国土交通省)及び「応急給水拠点一覧(川崎市、クリエイティブ・コモンズ・ライセンス表示 2.1)」を加工・改変して作成(©︎OpenStreetMap contributors))

各建築物モデルに対して最近傍の応急給水拠点を抽出

データの準備ができたので、分析をしてみましょう。

ツールバーの歯車マークを押下して、プロセシングツールボックスを起動します。検索窓で「最近傍」と検索し、「ベクタ一般」トグルの中に「属性の最近傍結合」という機能があるので、ダブルクリックして起動します。

「属性の最近傍結合」は、入力レイヤに対して空間的に最も近い地物の属性情報を結合し、新規レイヤを作成する機能です。今回は、入力レイヤとして「Building(PLATEAU建築物モデル)」を指定し、これに「water(応急給水拠点)」レイヤの属性を結合します。

  1. 入力レイヤ:Building(PLATEAU建築物モデル)
  2. 第2の入力レイヤ:water(応急給水拠点)
  3. [実行]を押下する
レイヤを指定して[実行]を押下する
レイヤを指定して[実行]を押下する

最近傍結合されたレイヤが「出力レイヤ」という名称で追加されるので、レイヤプロパティを開いてシンボロジを設定します。

  1. プルダウン:「単一定義」から「カテゴリ値による定義」に変更
  2. 値(Value):給水拠点
  3. [分類]を押下すると給水拠点ごとにランダムに色分けされる
  4. [OK]を押下して設定を適用する
値(Value)に「給水拠点」を設定して色分けをする
値(Value)に「給水拠点」を設定して色分けをする

マップキャンバスを確認すると、最近傍の応急給水拠点を基準に色分けされていることが確認できます。

Buildingsレイヤが最近某の応急給水拠点を基準に色分けされた(OpenStreetMapを背景に、「3D都市モデル 川崎市(2022年度)データ(国土交通省)」及び「応急給水拠点一覧(川崎市、クリエイティブ・コモンズ・ライセンス表示 2.1)」を加工・改変して作成(©︎OpenStreetMap contributors))
Buildingsレイヤが最近傍の応急給水拠点を基準に色分けされた(OpenStreetMapを背景に、「3D都市モデル 川崎市(2022年度)データ」(国土交通省)及び「応急給水拠点一覧(川崎市、クリエイティブ・コモンズ・ライセンス表示 2.1)」を加工・改変して作成(©︎OpenStreetMap contributors))

QGISでPLATEAUを3D表示する

QGISでは、「高さ」を属性情報に持つデータを3次元で視覚化することができます。標高データ(DEM)、ベクタデータ、3次元点群データなどに対応しています。

QGISの標準機能として実装されていますが、今回はプラグインを使用して3D表示します。

Qgis2threejsのインストール

「Qgis2threejs」は、3D表示機能を持つQGIS公式のプラグインリポジトリに登録されたプラグインです。

メニューバーより、[プラグイン]→[プラグインの管理とインストール]からダイアログを開きます。[全プラグイン]タブを開き、検索バーで「three」と検索します。すると、「Qgis2threejs」がヒットするので、選択して[インストール]をクリックします。これでインストールは完了です。

プラグインのインストール画面
プラグインのインストール画面

プラグインを使用して3D表示する

新規プロジェクトを用意し、3次元データを保持した状態でPLATEAU建築物モデルをQGISに追加します。これまでと同様に、OpenStreetMapも追加しましょう。

3D表示をするには、プロジェクトのCRSをメートル単位の座標系に設定する必要があります。

QGISの画面下部にあるステータスバーの[EPSG XXXX]を押下して、設定画面を起動します。

QGIS画面右下の[EPSG : XXXX]を押下
QGIS画面右下の[EPSG : XXXX]を押下

以下のように設定して、プロジェクトのCRSを EPSG : 3857 などのメートル単位の座標系に変更します。

  1. フィルタ:「3857」と入力
  2. [投影座標系]→[メルカトル]の順にトグルを展開し、「WGS84/Pseudo-Mercator EPSG:3857] を選択する
  3. [OK]を押下して設定を適用する
座標参照系を「EPSG:3857」に変更
座標参照系を「EPSG:3857」に変更

ツールバーのアイコンを押下して、プラグインを起動します。

青空のようなウィンドウが起動するので、[Flat Plane]と[Building]にチェックを入れると、OpenStreetMapと建築物モデルが表示されます。

「Flat Plane」と「Building」にチェックを入れる(OpenStreetMapを背景に、「3D都市モデル 川崎市(2022年度)データ(国土交通省)」加工・して作成(©︎OpenStreetMap contributors))
「Flat Plane」と「Building」にチェックを入れる(OpenStreetMapを背景に、「3D都市モデル 川崎市(2022年度)データ」(国土交通省)を加工して作成(©︎OpenStreetMap contributors))

マウスホイールを使って表示を拡大・縮小することができます。また、左クリックしながら角度を変えて見ることができます。

3D表示を確認してみると、建築物モデルが宙に浮いてしまっているので設定を変更します。

横から見ると、宙に浮いてしまっている(OpenStreetMapを背景に、「3D都市モデル 川崎市(2022年度)データ(国土交通省)」加工・して作成(©︎OpenStreetMap contributors))
横から見ると、宙に浮いてしまっている(OpenStreetMapを背景に、「3D都市モデル 川崎市(2022年度)データ」(国土交通省)を加工して作成(©︎OpenStreetMap contributors))

Layersパネルで「Building」を右クリックして「Properties…」を開きます。

Typeを「Polygon」から「Extruded」に変更し、[OK]を押下して設定を適用します。

Typeを「Extruded」に変更する
Typeを「Extruded」に変更する

地図を確認すると、建築物モデルが宙に浮いた状態が解消されています。

建物が宙に浮いた状態が解消された(OpenStreetMapを背景に、「3D都市モデル 川崎市(2022年度)データ(国土交通省)」加工・して作成(©︎OpenStreetMap contributors))
建物が宙に浮いた状態が解消された(OpenStreetMapを背景に、「3D都市モデル 川崎市(2022年度)データ」(国土交通省)を加工して作成(©︎OpenStreetMap contributors))

おわりに

この記事では、災害リスク情報レイヤをテーブル結合したり、空間分析や3D表示の方法をご紹介しました。

QGISにPLATEAU 3D都市モデルを取り込み、様々な分析や表示方法にチャレンジしてみてください。

この記事を書いた人
QGIS LAB編集部
QGIS LAB編集部

QGIS LABは、オープンソースのGISソフトウェア「QGIS」に関する総合情報メディアです。「位置と情報で世界を変える」をコンセプトに、位置情報で世界を拓くための知識と技術をお届けします。

関連する記事