QGIS3で兵庫県の「DSM」から3D地図を描画する

兵庫県がオープンデータで「DSM」を公開しているので,QGISで3D地図を描画します.

QGISのversionは3.18です.

2〜3は,「QGIS3で兵庫県の「DSM」から標高で色分けした地図を描画する (opens new window)」と同じ内容です.

全国630店舗以上!もみほぐし・足つぼ・ハンドリフレ・クイックヘッドのリラクゼーション店【りらくる】

# 1:ファイル構成

hyogo_lesson
└── DSM_05of89 <- ダウンロードしたDSMファイル,名前変更
    ├── DSM_05OF891_1g.txt
    ├── DSM_05OF892_1g.txt
    ├── DSM_05OF893_1g.txt
    ├── DSM_05OF894_1g.txt
    │
    ├── geotiff
    │   └── DSM_05OF891_1g_geotiff.tif
    └── shp
        ├── DSM_05OF891_1g_shp.shp
        └── (省略)

# 2:DSMとは

DSMは、建物、橋などの構造物の高さを含めた標高値で,市街の3D地図を作成する際は,このデータを使用します.

DSM は、建物、樹木、橋などの高さを含めた標高値を表示するデータモデルのことを指します。
地表面だけでなく、その上に存在する地物の高さを加味した標高データが必要な場合は、DSM データを入手する必要があります。
引用元:GIS 基礎解説 標高データ (opens new window)


# 3:データの入手

兵庫県の数値地形データダウンロードページ (opens new window)にアクセスして、DSMのデータをダウンロードします.



本稿では,地面の高さと建物の高さをわかりやすくするために,神戸市中央区の南京町やポートタワーがあるメッシュID「05OF89」を選択します.

メッシュIDの選択は兵庫県_DSMダウンロードページ (opens new window)に移動した後,下記の地図上のメッシュを選択してダウンロードできます.

データの中身は,以下のように空白区切りで「Y座標(経度) X座標(緯度) 高度」となっています.

78000.500 -145499.500 2.72
78001.500 -145499.500 2.23
78002.500 -145499.500 2.22
78003.500 -145499.500 2.40
78004.500 -145499.500 2.07

ファイル構成は以下の通りです.

05of89
├── DSM_05OF891_1g.txt
├── DSM_05OF892_1g.txt
├── DSM_05OF893_1g.txt
└── DSM_05OF894_1g.txt

# 4:DSMデータをQGISに読み込む

ダウンロードしたDSMデータをQGIS3に読み込みます.

DSMデータはテキストファイルですので,メニューバーの「レイヤ->レイヤの追加->CSVテキストレイヤの追加」を選択します.

入力の設定は以下の通りです.

  • 文字コードはShift_JIS.日本の公共データはだいたいこれ.
  • ファイル形式は「カスタム区切り」の「空白」を選択
  • レコードとフィールドのオプションは「フィールド型の検出する」のみ.
  • X属性はfield_1,Y属性はfield_2,Z属性はfield_3
  • ジオメトリのCRSは「EPSG:2447」を指定

読み込みが完了すると,長方形が表示されます.拡大すると,1mメッシュ間隔でポイントが表示され,ポイントデータであることが確認できます.



# 5:プラグインのインストール

ここでは,ラスター変換等を実行する「Processing」と3D地図の描画する「QGIS2threejs」 をメニューバーの「プラグインの管理とインストール」からインストールします.



# 6:geotiffへの変換

3D地図を描画するには,ラスタデータにする必要があるため,地図情報を持った画像ファイルのgeotiffに変換する必要があります.

geotiffに変換する場合は,textファイルで読み込んだレイヤーから変換しようとすると,エラーが発生します.



そこで,一旦shpファイルで保存してからラスター(geotiff)に変換してみます.

shpファイルの保存は,保存したいレイヤーのメニューから「エクスポート -> 新しいファイル名で地物を保存」で実行できます.(ここではファイル名を/hyogo_lesson/shp/DSM_05OF891_1g_shp.shpとしてます)

shpファイルの保存後は自動で保存したshpファイルの読み込みが開始されます.

ラスター(geotiff)の変換は,メニューバーの「ラスタ」から「変換→ベクタのラスタ化」で実行します.

メニューバーの「ラスタ」に「変換」がない場合は,「プラグインの管理とインストール」で「Processing」がインストールされているか,確認してください.



ここでは,shpファイルから読み込んだレイヤーを選択します.また,変換完了後,自動的に保存したgeotiffは読み込まれます.

設定は以下の通りです.(ここではファイル名を/hyogo_lesson/geotiff/DSM_05OF891_1g_geotiff.geotiffとしてます)

  • 入力レイヤ:shpから読み込んだポイントデータを指定
  • 焼き込み値の属性(フィールド):高さのフィールド(field_3)
  • 出力ラスタサイズの単位:地理単位
  • 水平方向の解像度:1(元のDSMが1mメッシュ単位なので)
  • 鉛直方向の解像度:1(元のDSMが1mメッシュ単位なので)
  • 出力領域:右のボタンをクリックし、「レイヤの領域を使う」を選択
  • 出力バンドに指定のnodata値を割り当てる:-9999
  • 出力ファイル:保存先とファイル名を指定



読み込まれたgeotiffは,以下のような白黒で描画されます.



# 7:3Dの都市景観図を描く

作成したDSMラスタを使って,空中写真図をベースとした3D図を描画してみます.

XYZ Tilesに空中写真図が登録されてない場合は,XYZ Tilesを右クリックし、「新しい接続を選択」を開きます.

ウィンドウで名前を適当に入力(ここでは全国最新写真)、URLに「https://cyberjapandata.gsi.go.jp/xyz/seamlessphoto/{z}/{x}/{y}.jpg」をコピペして [ OK ] をクリックすると,登録できます.



空中写真図は,XYZ Tilesから読み込み(ここでの名前は全国最新写真),一番上のレイヤーにし,QGIS2threejsを開きます.

レイヤのDSMラスタ(下図では出力ファイル)にチェックを入れると,3D地図が描画されます.


# 8:まとめ

QGISで兵庫県の「DSM」の3D地図を描画しました.

3D地図は兵庫県のDSMマップ (opens new window)で参照できます.

「DSM」1m間隔でデータを記述しているので,ビルのような高い構造物がでこぼこの山のように描画されます.

次回では,構造物の形も考慮して描画できるようにします.

# 参考サイト

GIS 基礎解説 標高データ (opens new window)

【実習編】~兵庫県オープンデータ「DSM」をQGISで描画しよう~ (opens new window)

兵庫県_全域数値地形図_ポータル (opens new window)

兵庫県_DSM (opens new window)

全国630店舗以上!もみほぐし・足つぼ・ハンドリフレ・クイックヘッドのリラクゼーション店【りらくる】

QGIS3で兵庫県の「DEM」と「DSM」から構造物の3D地図を描画する

QGIS3で兵庫県の「DEM」と「DSM」から構造物の3D地図を描画する

QGIS3で兵庫県の「DSM」の3D地図を描画しましたが,構造物の凸凹の地図が棒がされるので,構造物も考慮した3D地図を描画します.

QGISのversionは3.18です.

QGIS3で兵庫県の「DSM」から標高で色分けした地図を描画する

QGIS3で兵庫県の「DSM」から標高で色分けした地図を描画する

兵庫県がオープンデータで「DSM」を公開しているので,QGISで標高で色分けした地図を描画します.

QGISのversionは3.18です.