サイトマップ
お知らせ、メモ
案内板
うちのヘッドライン
 




トップ  >  こんなときどうする  >  テスト用のDEMデータを作るには

テスト用のDEMデータを作るには

DEM解析のプログラムなんかをテストするためにはデータが必要ですが、 DEMデータが手に入らないときはテスト用のDEMを自前で作るしかありません。

GIMPでDEM画像を作る

GIMPのパターン作成メニューの中に「平野地形図」というのがあります。 これを使ってDEM画像をまず作ります。 メインメニューの「拡張」−「Scriptu-Fu」−「パターン」−「平野地形図」 を選択します。



画像幅、高さはそれぞれ画像サイズ、ランダム種は乱数の初期値ですが、 あまり出来上がりに影響がなさそうに見えます。

詳細度は高ければ細かく地形が変化します。

X、Y拡大縮小は縦と横の比率を決めます。



実行すると以下のようにDEM画像が作成されます。



なぜかレイヤーが2つできるようなので、片方を捨てます。 また、カラーモードがRGBでできるので、グレーに変換しておきます。

できた画像はTIFF形式で保存しておきます。

DEM画像をGRASSに取り込み

できたDEM画像をGRASSに取り込みます。 そのまま取り込んでもいいのですが、TFWを作ってそれらしい座標値と地上解像度をいれておいてもいいでしょう。

一方、取り込む側のGRASSには、新規にプロジェクトを作っておきます。 リージョンの設定で地上解像度をTFWに合わせておくようにしておいたほうがいいですが、取り込みのときに取り込む画像側の設定に上書きすることもできます。



さらにそれらしく

ついでに高さを割り付けなおします。 例として、画像内の高さを30m〜70mに割り付けたいとします。

r.mapcalcで、以下のように入力します。 ("A"のところに取り込んだDEMデータを指定しています)




下図は、できたDEMにカラーバーをのせて表示しています。 高さが正しく割り付けられています。


このままでは255階調しかないため、階段状の地形になってしまいます。 そこで、何らかの方法で連続的な値にする必要があります。 もう少しいい方法があるかと思われますが、とりあえず以下のような方法でもできます

、v.randomでリージョン内にランダムの点を発生させます。 あらかじめ、リージョンを画像に合わせておきます。 点の密度はあまり高くするとぎざぎざが残ってしまうので、注意します。 また、-zオプションはいりません。 下図の例では1000x1000ピクセルに対して5000点を発生させています。



次にv.drapeでこの点データをDEMデータにのせます。

最後にこの点群からv.surf.bsplineもしくはv.surf.idwで地形データを作成します。 下図は、できた地形データをNVIZで表示してみたところです。


凹陥地対策

凹かん地があると困る場合もあるかと思われます。 そのような場合はたとえば以下のようにして凹かん地を消すことができます。

まず、GIMPのグラデーションツール(放射状)を使って下図のような画像を作ります。



この例では左下が最も低い放射状になっていますが、 グラデーション画像の作り方でイロイロな地形も作れると思います。

この画像をGRASSに取り込んで、r.mapcalcで画像演算を行います。 いろいろ合成式はあると思いますが、 元のDEM画像をA、グラデーション画像をBとして、A+BXで、Xの値はいろいろ試してみます。 r.mapcalcを実行後は、高さを再度割り付けなおす必要があります。 後は、上記と同様の手法で地形データが出来上がります。 下図の例では、r.mapcalcの計算をA+5Bとして作成した例です。 わかりやすいように1m間隔の等高線も合わせて表示しています。



下図は、NVIZで表示してみたところです。




クリエイティブ・コモンズ・ライセンス
This documents by Yamate,N is licensed under a Creative Commons 表示 - 継承 3.0 非移植 License.
login