ドローンでDEMを作成すると、送電線や水面反射で変な値になることも多いですよね。できるだけ簡単に修正して、遊水池の貯水量を求める方法を解説します。
使用したDEMについて
下図は、使用したDEMとオルソ画像です。最も水位が低くなる時にdji Mavic proで撮影し、Metashape proでオルソとDEMを作成しました。
対象の遊水池はフラップゲートで南側(図の下側)の海とつながっており、その範囲もDEMに写っていたので、あらかじめ遊水池の範囲だけになるようDEMをクリップしてあります。
DEMの赤丸で囲った範囲に標高が高い部分や極端に標高が低い部分がありますが、送電線や水面反射の影響です。
DEMレイヤを右クリックしてプロパティを調べると、下図のようにピクセルの1辺は0.198673mです。
水際の標高を読み取る
まず、水面高を求めておきましょう。水際であることが明確に読み取れる部分を選び、「地物情報表示」ツールで水際部分をクリックすると、下図右の-1.445249のように、その場所の標高を読み取ることができます。これを何か所かで繰り返して平均し、水面高は-1.45mと定めました。
ラスタをポイントシェープファイルに変換する
ラスタを使って容量を求める方法はいろいろ考えられますが、ここではデータの編集も必要になるので、編集が容易なポイントシェープファイルに変換してしまいます。
ツールボックスから、「ラスタのベクタ化(pixels to points)」を探し、ポイントシェープファイルとして保存します。
保存した結果は下図のようになりました。レイヤを右クリックし、「プロパティ」ー「シンボロジ」で、-1.5mより低い部分は青色に、-0.5mより高い部分は灰緑色になるように設定し、ポイントの枠線は無しにしてサイズを1mmにしました。また半透明にして下のオルソレイヤが透けて見えるようにしてあります。
ポイントシェープファイルを編集して送電線や反射の影響を除く
メニューの「編集」ー「選択」メニューで明らかに標高がおかしい範囲をポリゴンなどで囲んで選択し、属性テーブルのフィールド計算機で選択したフィーチャ標高フィールド値を修正します。今回の課題では、この遊水池の最低水面から上の容量を求めたいので、水際部より少し下の-1.5mを標高として与えることにしました。
属性テーブルの左下で「選択した地物を表示」にし、ツールバーから「フィールド計算機を開く」をクリックして、式に-1.5を直接書き込みます。
下図は修正が終わった状態です。
遊水池の容積を求める
遊水池の容積を簡単に求めてみましょう。選択ツールバーから「値で地物を選択」をクリックし、値が-1.5以下のポイントを選択します。
すると、ウインドウ下辺のステータスバーに、選択された要素の数が951925個であると表示されています。
次に、同じく-1.0以下の要素を選択してみましょう。すると、選択された要素の数が1155267個であると表示されます。
ピクセルの1辺は0.198673mでしたから、1要素あたりの面積は0.039471㎡。水位-1.5mの時の水面積は37572.5㎡、水位-1mの時の水面積は45599.5㎡になります。従って、この遊水池の水位が-1.5mからー1.0に上昇するまでに、(45599.5+37572.5)÷2×(-1.0-1.5) ≒ 20800㎥の水を貯めることができることになります。
この計算例では-1.5mから-1.0mの間を一気に計算したけど、例えば0.1m刻みで計算してやればもう少し正確な計算ができるわよ!
ラスタのままで処理するより簡単でしょ? Have fun!
コメント