西之島3D/excel
国土地理院から不定期に公開されている西之島噴火関連は興味深い。
地球の活動を少しでも体感したいと思い、その中の「標高データ」を利用させてもらう事にした。
(3Dプリンターで出力可能なデータ(VRML,STL)もあるそうだが、私は持っていない)
ツールはエクセルの等高線グラフ機能。

標高データはテキスト(.txt)になっている。
圧縮(.zip)されている時はダウンロード後、右ボタン「すべて展開」をクリック。
↓1行目には見出しが入っている。


テキスト(.txt)をそのままエクセルに取り込むか、csvファイル(.csv)に変更しエクセルとして開いても良いのだが、制限以上のデータ数の場合がある。
(データ行数はメモ帳でもok)
ついでにメッシュにした時のxとyの数を知りたい。


ということで、テキストの件数とxyの数を調べるvbaを作ってみた。
他にも使えるようパス・テキスト名とタイトル見出し行を指定するようにした。


xは経度、yは緯度を指す値だろうか?、、結果は見出しを除いたデータ件数661,725、x数765、y数865となった。


エクセルには行列数の制限があるとともに、グラフの系列制限がある。
系列の最大数を超えない数に読み込めば、西之島3Dを全体表示できる。
xyをそれぞれ1/3に間引き(スキップ2)する事にした。


読み込みマクロでは,xを列にyを行にしたマトリックス、z値をメッシュにして配置。
こうしておけば、等高線グラフをすぐに作成する事ができる。


間引きのx数は割り切れたが、y数割り切れないので丸めルーチンが必要。


z値は標高、z値を計測していないポイントは-9999で表わされ、海面だと思われる。
実際マイナス標高の所もあるので、グラフ作成上の都合で-0.1と置き換えた。


別のシートに等高線グラフを挿入。


データ範囲をセットしていないので、「データの選択」をクリック。


1列目と1行目にはそれぞれxとyの値なので、範囲の開始はr2c2、終了はr290c256。
xの数が系列数となる。


縦軸の最小値・最大値・目盛間隔を固定。


グラフの表示順番と向きを考えよう。
横軸オプションの「軸を反転する」をonにして、


3D回転のXを270°にしてみる。


と、20m単位に色別された西之島3Dができあがった。(つもりかもw)


3D回転でYを45°にしたもの。





トップページ
inserted by FC2 system