ねこ さま
こちらizayoiです。
実は自分はざっくり計算の場合はQGISで結構体積を出していたりします。
(正確にやろうとするとやっぱりCivil3DというCADソフトを使いますけど)
最初に、標高が入っているラスタを平面直角系に変換しておいてください。
①まずは標高ラスタ(5mメッシュでも10mメッシュでもよい)をポリゴン化します。
プロセッシングツールボックスで、「ラスタピクセルをポリゴンに」コマンドを使うと楽です。
②山の面積を出したい部分、つまり出したい部分の外周線ポリゴンを作ります。
図ですと茶色の部分ですね。
③ベクタ→空間演算ツール→クリップで
入力レイヤを、ラスタから変換したポリゴン
オーバーレイレイヤを山の外周線ポリゴン
でクリップします。
そうすることで標高を持ったポリゴンが山の外周線通りに切り取られます。
④クリップしたポリゴンに対して
プロセッシングツールボックスから
「ジオメトリ属性の追加」で図形の面積などを追加する。
計算に使用するCRSはレイヤ座標系を使えばよいかなと。
⑤面積が追加されたレイヤが出力されるので、フィールド計算機を使い、面積×標高でポリゴン一つ当たりの体積が計算できます。
あとは表計算ソフトで足し算をすればざっくりですが山の体積が出せます。(または、フィールド計算機で sum( "体積" ) をやってもいいかもだけど、表計算ソフトと小数点4~5桁目ぐらいからが微妙に違うのがたまに気になる。)
もしも標高がマイナスになる場合には、面積を合計する前に、絶対値をとることを忘れないようにしてください。
サンプルファイルをアップロードしておきます。
国土地理院の国土数値情報の10mメッシュ(10B)より標高ラスタを作り、作業を行ったものです。
場所は富士山周辺で、山の外周線は適当です。
参考になれば。