HydroSHEDSは水文流出解析用にあらかじめ加工された地形データで、世界中をカバーしています。ここから対象流域のデータを抜き出して、RRIで使用できるように変換する方法を説明します。
HydroSHEDSデータのダウンロード
山口県の厚狭川流域を例にします。HydroSHEDSのデータは世界をいくつかの地域に分割しており、日本はAsiaに含まれていますので、Conditioned DEM, Flow Direction, Flow Accumulation については3sのAsia、HydroBASINSについてはAsiaをダウンロードします。ついでにHydroRiverのAsiaもダウンロードしておくと川を探しやすいでしょう。
ダウンロードしたものを解凍し、QGISで表示します。
データ全体を表示すると、アジア全部を表示することになってPCによってはすごく時間がかかっちゃうよ。対象流域周辺を表示させておいてから、ダウンロードしたデータの表示をチェックした方がいいね。
対象流域ポリゴンの抽出
HydroBASINSは流域分割する河川規模に応じてレベル1から12のファイルに分かれています。対象流域を適切に表しているレベルをGIS上で選択し、対象流域のポリゴンだけをエクスポートしましょう。この時、HydroRIVERSも表示しておくと選びやすいかもしれません。
下図では、地物選択①でレベル11の対象流域をクリック②し、レイヤパネルでレベル11のレイヤを右クリック③して「エクスポート」ー「新規ファイルに選択地物を保存」でAsaBasin.shpとして保存④しました。
対象流域ラスタの切り抜き
続いて、ツールボックスでclip①を見つけ、AsaBasin.shpをマスクとして、as_con_3s, as_acc_3s, as_dir_3sの各レイヤをClip②していきます。それぞれAsa_con_3s.tif, Asa_acc_3s.tif, Asa_dir_3s.tifとして保存④します。「マスクレイヤの領域に切り抜き範囲を一致させる」「入力ラスタの解像度を保持」にはチェック③を入れておきましょう。下図ではas_con_3sを処理していますが、acc, dirについても同様に繰り返します。
ESRI Ascii形式に変換
有料のArcGISならRaster to ASCIIツールで一発なんだけど、QGISだと一手間かかってしまうのよね。
QGISにもExport ESRI Arc/Info Rasterというそれらしいツールがあるんだけど、説明は見つからないし、どうにもちゃんと動かせないんだ。知っている人がいたら教えてね!
RRIは地形データをESRI Ascii形式で入力します。そうたくんが言うように、いまのところ直接変換する方法が見つかっていないので、r.out.asciiツールを使います。下図の方法でcon, dir, accの3つをすべてasciiに変換しましょう。
このツールの出力はESRI Asciiとヘッダ部分が違うだけなので、ヘッダをテキストエディタで書き換えて対応します。ESRI Asciiのヘッダに必要な情報は、ラスタの左下の緯度経度、ラスタのセルの列数、行数、およびセルのサイズ(度)です。これらの値は、セルのサイズを除き、当該レイヤを右クリックして「プロパティ」ー「情報」から読み取ることができます。
下図はAsa_con_3sの情報です。これより、左下の緯度経度は131.0708333333332689, 34.0166666666666515 、セルの列数は256、セルの行数は321とわかります。またセルのサイズは(131.2841666666666072ー131.0708333333332689)÷ 256=0.000833333となります。
ちなみに十進緯度経度は小数点以下7桁目が1違うと約1cmの誤差なので、上の計算ほど桁数に神経質にならなくてもいいのよ。
下図のように、左の1~6行のヘッダ部分を、右のものに書き換えてしまいます。con, acc, dirすべて同じヘッダで大丈夫です。
作成したAsciiファイルはQGISのブラウザでは見えていませんが、メニューの「レイヤ」-「レイヤを追加」-「ラスタレイヤを追加」からQGISに直接追加できます。
読み込めたら、念のためにオリジナルと同じに見えるか確かめておきましょう。
以上で3つのESRI Ascii形式地形データ (Asa_con_3s_asc.txt, Asa_acc_3s_asc.txt, Asa_dir_3s_asc.txt)が準備できました。 Have fun!
コメント