作業方法を忘れないための自分用メモの観点が強いです。
材料
- 国土地理院からダウンロードしたDEMデータ(.xml)
- planet Explorerからダウンロードしたplanet doveの衛星画像
- https://www.planet.com/explorer/
- 座標系はEPSG:32651 (使用するデータにより異なります!!!)
- QGIS 3.28 "フィレンツェ"
手順
1.xmlデータをベクタデータ(points)に変換する
基盤地図情報ビューアを使用します。説明書は↓
特にこれのpp16「標高メッシュをシェープファイルへ出力」が参考になると思います。
この作業で、標高の情報を持つポイントデータを得られれば成功です。
2.ポイントデータをラスタへと変換
ここからはQGISでの作業です。
プロセシングツールボックスより「ベクタをラスタ化(rasterize)」を選択。
パラメータは以下の通り
- 入力レイヤ:先ほど作成したポイントデータ.shp
- 出力ラスタサイズの単位:地理単位
- 水平、鉛直方向の解像度:15(=ポイントデータの間隔の1.5倍を目安に)
- ラスタ化:出力したいファイルへのパス
これでラスタ型のDEMが作成されました。
3.DEMラスタ、衛星画像ラスタの座標系とセルサイズを揃える
DEMラスタのセルサイズは15m、座標系は2458
衛星画像ラスタのセルサイズは3m、座標系は32651
これだと解析も何もないですね。
衛星画像のデータの座標系等はあまりいじりたくないので、DEMラスタを衛星画像ラスタに合わせていきます。
作業前に、衛星画像ラスタのCRS、セルサイズ(=解像度)と「幅、高さ」をメモっておきましょう
QGISメイン画面左のレイヤをダブルクリック→ⓘ情報を選択すれば表示されます
余裕があれば領域もメモ
上のメニューから「ラスタ(R)」→「ラスタを揃える」を選択。なぜかプロセシングツールボックスにはありません。
「サイズ、範囲、CRSなどを揃えるラスタ」の右にある+ボタンをクリックし、
- 入力ラスタ:2で作成したラスタ型DEMを指定
- 出力ファイル名:「ブラウズ」から自分が出力ファイルを保存したいパスを指定
- リサンプリング方法:こだわりがなければ多分最近傍でいいと思います
- セルサイズに応じてスケール:チェックを入れる(自分は入れない場合で試せていません。コメント欄で教えて)
その後、OKを押した後のパラメータは以下の通り
- 座標参照系:チェックを入れ、衛星画像ラスタのCRSを選択する
- セルサイズ:チェックを入れ、衛星画像のセルサイズを入力。単位はおそらくメートルです
- グリッドオフセット:チェックを入れ、どちらにも0を入力
- 切り抜く範囲:チェックを入れ、「次をもとに計算」の「レイヤ」から衛星画像ラスタを選択。
すべてしっかりと入力できていれば、「出力サイズ」に表示される数字が事前にメモっておいた衛星画像ラスタの幅×高さと一致するはずです。
座標系、セルサイズ、範囲が同じなので当然と言えば当然
これが異なる場合はここからの作業もうまくいかないはずなのでどこかを見直そう
4.結合(GDAL_merge)
ここまでくればあとは簡単なはず。
プロセシングツールボックスから結合(gdal_merge)を選択
- 入力レイヤ:作成した2個のラスタだけにチェック。「衛星画像→DEMデータ」の順にチェックすると、完成したラスタの最後のバンドにDEMデータが入るのでわかりやすいです
- 各ファイルを別のバンドに格納する:チェックを入れる
- 出力データ型:細かい方に合わせた方がいいと思います
出力レイヤにパスを指定し、OKを押す。
できたレイヤが表示されるので、これを確認して終了です。
気になる点
作業1の後、DEMのポイントデータの属性名が「標高」という2バイト文字を使って記されているのが気になった。
まあ意外と大丈夫かもしれないけど私は念のためelevationという1バイト文字に変更しておきました。
変更は「プロパティ→属性を管理→名前」をダブルクリックでできます