
3Dプリンターに使える地形のデータを作る その2
『その1』では、DEMをQGIS上で可視化するところまでやりました。
今回は、作成したDEMを市町村などの形にくりぬいて、3Dプリンターで出力できるデータ形式であるstlに変換するまでの手順をご紹介します。
行政区域データをダウンロードする
前回は標高情報を持つデータである『DEM』をダウンロードしましたが、今回は都道府県や市町村の緯度経度情報を持つ『shp(シェープ)ファイル』をダウンロードしましょう。
国土交通省が公開している『国土数値情報ダウンロードサービス』を見てみましょう。
都道府県の輪郭だけでなく、公共施設や河川、高速道路や土地利用に関するものまで、色々なデータをダウンロードすることができます。都道府県や市町村のデータは、『政策区域』→『行政地域』→『行政区域(ポリゴン)』にあります。

行政区域は都道府県別にダウンロードできます。欲しいデータがある都道府県を選択し、最新版をダウンロードします。

ファイルの中身はこんな感じ。GIS上で地図上に可視化できるのは『shp』ですが、他の拡張子のファイルも同じディレクトリ上にある必要がありますので、1つのファイルに含まれるこちらの1セットのうち1部だけを削除したり移動させたりしないようにしましょう。

QGISでshpを開く
行政区域のファイルをダウンロードできたら、shpファイルをQGISで表示します。shpファイルを選択して、ドラッグでQGISの『レイヤ』ウィンドウに持ってきます。

DEMと岡山県のshpとで座標系が違ったので、下のようなウィンドウが出てきました。WGS84のうち利用できた一番上のものを選択してOKすると

無事岡山県と西粟倉村のDEMが同じ画面で表示されました!

さて、岡山県のデータから西粟倉村だけ抜き出してみましょう。
※ここからはもとのデータをいじることになります。岡山県のデータを取っておきたい場合は、あらかじめフォルダ上でコピーしたファイルを使いましょう!
岡山県のレイヤーをクリックした状態で、図の水色の表マークをクリックすると『属性テーブル』が開きます。


一番左の『173』をクリックして西粟倉村を選択してから、図の三角形が向かい合ったマークの『選択部分を反転する』をクリック。

西粟倉以外が選択されている状態で鉛筆マークの『編集モード切替』→ゴミ箱マークの『削除』をクリック

西粟倉村だけのデータになりました。もう一度鉛筆マークを押して編集を保存すると…

西粟倉村だけが切り取られました!

DEMを切り抜く
データはそろいました。いよいよ切り抜きます!
ツールバーの『ラスタ』→『抽出』→『マスクレイヤによる切り抜き』を選びます。

新しいウィンドウが開くので、
『入力レイヤ』にDEMのファイルを、『マスクレイヤ』に切り抜きたい形のデータ(今回は西粟倉村)を選択します。

出力されたレイヤ以外のチェックを外したら、西粟倉村の形に切り取られたDEMができたことが分かります。黒い部分は、レイヤーを右クリックして『プロパティ』→『透過性』から透明にする処理ができるそうですが、このままでも大丈夫です。

切り取ったDEMをファイルとして保存するには、出力されたファイルを右クリックして『エクスポート』→『地物の保存』で保存します。
3Dプリンターで出力できるstl形式にする
DEMをstlという形式で出力するためには、QGISに『DEMto3D』というプラグインを入れる必要があります。
※『QGIS2threejs』を紹介しているサイトなどもありますが、現在のバージョンではstl形式にする機能がないので、今回は『DEMto3D』を使います。
ツールバーの『プラグイン』→『プラグインの管理とインストール』から『DEMto3D』を検索してインストールします。

インストールした『DEMto3D』を開きます。ツールバーの『ラスタ』→『DEMto3D』→『DEM 3D printing』を選択します。

下のウィンドウが表示されます。
オレンジの枠の虫眼鏡マークを押すとXY座標が自動で入力されます。
『Spacing』は推奨されている値の0.2で問題ないでしょう。
『Width』はイメージする完成形の土台の横の長さをmm単位で入力します。選択したDEMの比率から、自動的に土台の縦の長さである『Length』も入力されます。
『Vertical exaggeration』では、高さの拡大量(倍数)を設定できます。最大10倍で、数字が大きいほど標高差を大げさに(?)表現できます。
『Terrain inversion』にチェックを入れると、標高の高いところが低くなり、低いところが高くなり、標高差が逆転します。
『Height』は、模型上での標高0m地点を何mにするか、という値です。『Lowest point』の値にそろえるのが無難でしょう。
『Base height』は3Dプリンターで出力する際に土台部分を何mmの高さにするかの値です。

設定出来たら『Export to STL』!!!!!!
指定したフォルダにstlデータが完成しました。

早速開いてみましょう。私のパソコン(Windows10)では『ペイント3D』というもともと入っていたソフトウェアで開くことができました


stl形式にしたものをまだ3Dプリンターでは出力できていませんが、ひとまずデータが出来ました!
プラグインの『DEMto3D』で最後に設定する値(特に『Vertical exaggeration』)で完成するデータから受ける印象も大きく変わります。ぜひ色々試してみてください!
(清水)