数値地図50mメッシュ(標高)の入力

 国土地理院刊行の数値地図50mメッシュのような緯度経度分割によるデータをGRASSのUTM座標系へ入力する場合はr.in.llを用います.r.in.llはバイナリー形式のラスター型データを入力するコマンドであるため,それに対応したデータを作成しなければなりません.以下では50mメッシュDEMを例として,それらの作業手順を示します.


(1)変換プログラムの入手とコンパイル

 つぎのプログラムをダウンロードし,解凍します.プログラムは2つあります.アスキー形式のラスターデータに変換するdmj2gras.fとアスキー形式のラスターデータをGRASSのバイナリ形式に変換するasc2gbin.fです.

 プログラムのダウンロード(ここをクリックしてください;1.4KByte)

 > tar -zxvf giscvprog.tar.gz ファイルの解凍

 両プログラムとも,フォートラン77の形式で書かれていますので,コンパイルが必要です.コンパイルは,それぞれつぎのように行ないます.

 > f77 dmj2gras.f -o dmj2gras.out

 > f77 asc2gbin.f -o asc2gbin.out

> はLinuxのプロンプトです.GRASSとは関係なくコンパイルできます.f77 プログラムソース.f -o 実行形.outです.赤色部分を入力します.文頭のf77はシステムにより異なり,g77の場合もあります.また,フォートランコンパイラがインストールされていない場合は,インストールして下さい.)

(2)変換プログラムを用いてGRASSのバイナリー形式に変換

 コンパイル後,dmj2gras.out,asc2gbin.outの順に実行します.なお,GRASSコマンドr.in.llに必要なパラメータはdmj2gras.outの実行時に表示されます.各実行例を以下に示します.まず,CD-ROM(一般的に,マウントが必要です)からアスキー形式でデータを抽出します.

 > dmj2gras.out

  (プログラムを起動します.システムのパスの設定により,./dmj2gras.outと入力しなければ動作しない場合があります.)

 Input file name = /cdrom/data/5235/523500.mem

            (変換するcdromのファイル名を入力します)

 Output file name = dem.asc

            (出力するアスキー形式のファイル名を入力します)

 sea area code = 0 (海コード(-9999)の標高を指定します)

 convert to meter (divide by 10)? [y]/n = y

        (もとの標高データは10倍されているので,10で割るか

        どうかの指示を与えます.デフォルトはyです.)

   (r.in.llに必要な情報(以下の緑色の文字)が次のように表示されます)

 number of byte per cell = 4

 south-west corner of lati. & long. = sw,34:40:00.75N,135:15:01.125E

 number of rows and columns of data = 200,200

 resolution of data latres,lonres = 1.5,2.25

 spheroid = bessel

つぎに,作成したアスキー形式のファイルをバイナリー形式のデータに変更します.

 > asc2gbin.out   (プログラムを起動します.システムのパスの設定により,./asc2gbin.outと入力しなければ動作しない場合があります.)

 File name for input (ascii raster format) = dem.asc 

                (アスキー形式のファイル名を入力)

 File name for output(Grass binary format) = dem.bin

                (バイナリー形式のファイル名を入力)

 ここで作成したバイナリー形式のファイル(例:dem.bin)をGRASSコマンドr.in.llを用いてUTM座標形に変換・入力します.

(3)r.in.llコマンドを用いた入力

 GRASSを起動します.つぎにr.in.llコマンドを実行します.

 GRASS 5.0beta6 > r.in.ll
 OPTION: input file
    key: input
 required: YES
 
enter option > dem.bin

  (作成したバイナリー形式のデータファイル名を入力します.)

  ----- 省 略(以降,入力の確認は省略します) -----

 OPTION: output raster file
    key: output
 required: YES
 Enter a new raster file name
 Enter 'list' for a list of existing raster files
 Hit RETURN to cancel request
 > elevation

  (GRASSで利用するラスターファイル名を入力します.)

 OPTION: number of bytes per cell
    key: bpc
 required: YES
 enter option >
4

  (1つの格子(セル)データが用いるbyte数を入力します.
   前述のプログラムを用いた場合は4byteです.)

 OPTION: one corner latitude and longitude of the input
 format: {nw|ne|sw|se},dd:mm:ss{N|S},ddd:mm:ss{E|W}
    key: corner
  format: corner,lat,lon
 required: YES
 enter option >
sw,34:40:00.75N,135:15:01.125E

  (データ領域の4隅のいずれかの緯度経度の値を書式に従って入力します.
   例では,sw(南西)の隅の値が示されています.なお,この時の値は隅の格
   子セルの中心の座標値を意味します(これはr.in.asciiとは異なります).
   従って,swの場合にはデータ領域の南西の位置座標に1格子の大きさの
   半分を足した値を指定します.)

 OPTION: number of rows and columns in the input file
    key: dimension
  format: rows,cols
 required: YES
 enter option >
200,200

  (データの大きさ(格子数)の行・列数を入力します.)

 OPTION: resolution of the input (in arc seconds)
    key: res
  format: latres,lonres
 required: YES
 enter option >
1.5,2.25

  (データの緯度,経度の分解能(格子の大きさ)を秒単位で入力します.
   国土地理院の50mメッシュでは,それぞれ1.5,2.25です.)

 OPTION: spheroid
    key: spheroid
 required: YES
 enter option >
bessel

  (変換時に参照する楕円体名を入力します.besselを用います.)

 FLAG: Set the following flag?
   Signed data (high bit means negative value)?(y/n) [n]
y

  (データに負の値がある場合はyを入力します.)

 以上でラスター型データファイルおよびデータのサポートファイルの一部が作成され,変換および登録が終了します.最後に,入力したデータを表示してみます.

 GRASS 5.0beta6 > d.mon x1
 GRASS 5.0beta6 > d.rast elevation

 正しく入力されているか確認しましょう


戻る