数値地図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: output raster file
(GRASSで利用するラスターファイル名を入力します.)
OPTION: number of bytes per cell
key: bpc
required: YES
enter option >
(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 >
(データ領域の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 >
(データの大きさ(格子数)の行・列数を入力します.)
OPTION: resolution of the input (in arc seconds)
key: res
format: latres,lonres
required: YES
enter option >
(データの緯度,経度の分解能(格子の大きさ)を秒単位で入力します.
国土地理院の50mメッシュでは,それぞれ1.5,2.25です.)
OPTION: spheroid
key: spheroid
required: YES
enter option >
(変換時に参照する楕円体名を入力します.besselを用います.)
FLAG: Set the following flag?
Signed data (high bit means negative value)?(y/n) [n]
(データに負の値がある場合はyを入力します.)
以上でラスター型データファイルおよびデータのサポートファイルの一部が作成され,変換および登録が終了します.最後に,入力したデータを表示してみます.
GRASS 5.0beta6 > d.mon x1
正しく入力されているか確認しましょう