
3-5.GRASSのモジュール
第4回目の講義です.今回はGRASSのモジュールと各コマンドの機能を説明します.GISでの処理は,基本的にコマンドを順に操作していくことになります.そのためには個々のコマンドで何ができるかを知る必要があり,コマンド群の中から適当なものを見つけだすという作業が重要になります(コマンドになければ作る場合もありますが…).そこで,コマンドの実際の操作法ではなく,コマンドの機能を今回と次回に分けて説明します.なお,ここで示したものは,機能のほんの一部です.
実習ではGRASSの基本操作を引き続き説明します.
GRASSの主要な機能は,基本的に以下に示す7つのモジュールに分類することができます(図15).

図15.GRASSのモジュール
[画像表示モジュール]
ラスター,ベクトル,サイト,凡例やスケールおよび注釈などのグラフィクス表示のためのモジュールです.2次元ばかりでなく3次元的に表示する機能もあります.また,ヒストグラムの作成や断面図表示のための機能,カラーテーブルの対話型修正,複数のラスターあるいはベクトルマップレイヤーのカテゴリーの対話型での問い合わせを行える機能も含まれています.このモジュールは基本的にdisplay(表示)の頭文字『d.』で始まるコマンド群に対応しています.
[ファイル・地域管理モジュール]
データベース中のファイルの削除・名前の変更,対象地域の大きさや分解能の設定などファイルや地域の全般的にわたる管理を行なうモジュールです.また,ユーザーリファレンスマニュアルとオンラインヘルプを呼び出す機能もこれに含まれています.このモジュールは
general(一般)の頭文字『g.』で始まるコマンド群に対応しています.[画像処理モジュール]
画像処理(イメージプロセッシング)としての操作(画像の修正,画像分類,主成分分析,色の生成,およびグループ管理など)を行うモジュールです.リモートセンシングなどで良く用いられる人工衛星画像(TM,MSSおよびSPOTなど)の入力などをサポートする機能や人工衛星画像や航空写真画像を実際の地図に張りつける際に必要な位置合わせの機能等も含まれています.このモジュールは
image(画像)の頭文字『i.』で始まるコマンド群に対応しています.[ラスタープログラムモジュール]
ラスター地図レイヤーのデータ入力,演算,解析,出力およびラスター間の処理等を行うモジュールです.推論規則に基いた推論エンジンやベイズの統計値に基づくエキスパートシステム,ブール解析などを行う機能なども含まれています.また,曲面の生成(補間),傾斜分布図の作成,ラスターからベクトルへの変換,レポートの作成など実用的で非常に幅広い機能があります.このモジュールはraster(ラスター)の頭文字『r.』で始まるコマンド群に対応しています.
[ベクトルプログラムモジュール]
ベクトル地図レイヤーのデータ入力,演算,解析,出力を行うモジュールです.デジタイザー(マウスでも可)を用いた実際の地図からの入力・編集等の作業を行うための機能も含まれています.また,CADの標準ファイル形式のDXFや世界的に有名なGISであるARC/INFOのファイル形式arcなどへの入出力変換もサポートしています.このモジュールは
vector(ベクトル)の頭文字『v.』で始まるコマンド群に対応しています.[サイトプログラムモジュール]
サイト(地点)データの入出力,解析等を行うモジュールです.ランダムに配置するサイト(データ点)から,色々な補間法を用いて曲面を推定し,ラスターデータを作成する機能も含まれています.このモジュールは
site(サイト)の頭文字『s.』で始まるコマンド群に対応しています.[ハードコピー出力モジュール]
基本的にプリンターに出力するためのモジュールです.(設定が行なわれていれば)プリンターにカラーチャートやラスター・ベクトル地図などを出力します.なお,Postscript(ポストスクリプト)プリンターへ出力するためのファイルを作成する機能やVRML(バーチャルリアリティモデル)ファイルを作成する機能も含まれています.このモジュールは,
print(プリント)の頭文字『p.』始まるコマンド群に対応しています(ポストスクリプトファイル作成の場合は『ps.』で始まります).これらのモジュールの個々のコマンド(ソフトウェア)は基本的にC言語で書かれており,UNIXのシェルスクリプトプログラムとコントリビュートプログラムのセットから構成されています.また,すべてソースが公開されています.さらに,これらはラスター,ベクトル,イメージを用いる他のプログラムからも使えるなど,多様な操作にも能力を発揮します.
GRASSの各機能をモジュール別に主要なコマンドの説明として示します.なお,ここに示したのコマンドのほんの1部です.
----- 画像表示のための準備(表示フレームの作成) -----
d.mon
:グラフィックモニター(表示フレーム)の立ち上げと制御を行なう.各種の地図レイヤーを表示するグラフィックモニターのスタート,選択,ストップができる.モニターはx0からx5までと,CELLと呼ばれる画面に表示せずに直接ファイル化するものがある.CELLを用いることにより,画面の画素数の制約を超えた画像が作成できる.----- データの表示・消去 -----
d.rast
:アクティブな表示フレーム(d.monで選択(select)されたグラフィック画面)上にラスター地図レイヤーを表示,またはオーバーレイ(重ね書き)する.オーバーレイオプションはアクティブな表示フレームにすでに表示されている上にラスターレイヤーを重ねて表示する際に使う.d.sites
:アクティブな表示フレームの上にサイトデータをマーカーを用いて表示する.マーカーの色,大きさと形(4種類)が指定できる.d.vect
:アクティブな表示フレーム上にベクトルデータを表示する.色が指定できる.d.erase
:フレームの中身を消す.フレームの大きさを変更(リサイズ)したとき,あるいは表示する地域を変更した際には,d.eraseを実行して,モニターをリセットすることが望ましい.d.3d
:ラスター地図レイヤーを3次元的に表示する.DEMとその上に載せるラスター地図を選ぶ.視点や投影条件の設定,垂直方向の誇張,塗りつぶしなどを指定する.d.rgb
:指定した3つのラスター地図レイヤーを赤色,緑色,青色にそれぞれ対応させ重ね合わせ表示する.また,合成後のラスター地図をファイルとしても保存できる.d.his
:指定した3つのラスターマップレイヤーを色相(hue),強度(intensity)および彩度(saturation)に対応させて表示する.これはGISでしばしば用いられる可視化技法です.また,合成後のファイルも保存できる.----- データ内容(カテゴリー情報)の検索表示 -----
d.what.rast
:アクティブなフレームの上でマウスによって指定した位置とその位置のラスター地図レイヤー(複数も可能)のカテゴリー情報を対話的に表示する.d.what.vect
:マウスによって指定した位置におけるベクトル地図レイヤーのカテゴリー情報を対話的に表示する.d.where
:アクティブなフレームの上でマウスで指示した位置の地理的な座標を表示する.----- 凡例等の表示 -----
d.legend
:フレーム上に指定したラスター地図レイヤーの凡例情報を表示する.d.scale
:フレーム上でマウスを用いて指定した位置に,スケールバーと北を示す矢印を重ね書きする.背景とテキスト色も指定できる.d.colors
:ラスター地図レイヤーのカラーテーブルを対話的に割り当てる.d.colortable
:ラスター地図レイヤーのカラーテーブルを表示する.----- 断面図やヒストグラムの作成・表示 -----
d.profile
:マウスを用いて指定した位置の間のラスター地図レイヤーの断面図(プロファイル)を表示する.地形の断面などに有効である.d.grid
:フレーム上に格子の線を重ね書きする.格子線のサイズと色を指定する.d.histogram
:ラスター地図レイヤーのヒストグラム(頻度分布)を表示する.パイチャートあるいは棒グラフが選択できる.----- その他の便利な機能 -----
d.zoom
:マウスを用いて,現在の領域の再設定を行う.d.measure
:フレーム上でマウスを用いて描いた線 (Lines) や多角形(ポリゴン)の長さや面積を測る.線の長さは,現在の設定と同じ単位で示される.面積はヘクタール,平方マイルと平方メートルで表示される.d.graph
:表示フレームの中に単純な線や面および文字を描く.位置はフレーム上でのグラフィックスの座標で指示する.グラフィックコマンドはキーボードから入力するか,あるいはファイルに記述することができる.d.mapgraph
:表示フレームフレームの中に単純な線や面および文字を描く.d.graphと異なる点は座標が地理座標系を用いることである.d.display
:メニュー方式の対話型の表示プログラム.d.display コマンドを実行すると,表示メインメニューがスクリーンの上に現われる.メニューでの選択はマウスを用いて行う.
----- ラスターファイルの入力・出力変換 -----
r.in.ascii
:ASCII形式のラスターファイルを入力し,GRASSのbinary形式のラスター地図レイヤーを作成する.入力ファイルには位置と格子の大きさを示す以下の様なヘッダー部分がなければならない.実際のデータはその後に続く.dataの部分にはrows×cols(行×列)の数の値を含んでいなければならない.データの書き方は,1行に1行がすべて入っている必要はなく,多くの行に分けてもかまわない(1行に1つの値でも良い). north: xxxxxx.xx
south: xxxxxx.xx
east: xxxxxx.xx
west: xxxxxx.xx
rows: r
cols: c
data xxxx xxxx xxxx xxxx ……
r.in.ll
:緯度・経度座標で分割されたbinary形式のラスターデータをUTM座標系に取りこむ.国土地理院が発行している50mや250mメッシュ標高はこのコマンドを用いてUTM座標系で用いる.国土地理院のメッシュ標高はASCII形式なので,あらかじめ変換しておく必要がある.r.out.ascii
:GRASSの中のラスターレイヤーをASCII形式のテキストファイルに変換し出力する.r.compress
:ラスター地図レイヤーのファイルを圧縮または解凍する.圧縮では,ラスターファイルはランレングスエンコード(RLE)アルゴリズムを用いる.r.poly
:ラスター地図レイヤーから区域境界を抽出して,ベクトル型にデータ変換する.ベクトルデータの領域属性はもとのラスター地図レイヤーの対応するセルのカテゴリー値が適応される.----- ラスター地図レイヤーの設定・再分類等 -----
r.support
:ラスター地図レイヤーに関するサポートファイルの生成と修正を行う.r.colors
:ラスター地図レイヤーのカラーテーブルを作成,あるいは修正する.既存のカラーテーブルの中から選択するだけではなく,色生成ルールにより独自のカラーテーブルを作成することができる.r.reclass
:ラスター地図レイヤーを再分類し,再分類ファイルを作成する.再分類ルールをファイルから入力することも可能.なお,r.reclassにより作成されたラスター地図レイヤーは実際のファイルとして物理的には存在しないが,通常のラスターレイヤーと同じように利用できる.r.mask
:MASK(マスク)の作成と設定を行う.地図のある特定の地域を解析から除外するためにMASKという特別なラスターファイルを設定する.----- ラスターレイヤーの合成・演算・推論等 -----
r.mapcalc
:ラスター地図レイヤーの数値演算を行う.式の基本形は:result=expression (e.g. Elevation -100)
(結果=表現 (例えば,標高−100))
である.利用できる演算子は数値演算,論理演算,および関数(sin, cos, log,平方根など)である.近傍のセルの表現(例えば,1つとなりのセルなど)も可能である.
r.combine
:異なるラスター地図レイヤー間でブール演算(AND, OR, NOT)を行い,新しいラスター地図レイヤーを作成する.r.cross
:指定した複数のラスター地図レイヤーで,カテゴリー値のすべてのユニークな組み合わせを表現するラスター地図レイヤーを作成する.指定するラスター地図レイヤーは少なくとも2つ以上で10以下である.r.slope.aspect
:ラスター地図レイヤーから,ラスターの値を用いた傾斜と傾斜の向きの2種類の新しいラスター地図レイヤーを作成する.入力するラスター地図レイヤーが標高データであれば,そのまま,地形の傾斜および向きを求めることになる.傾斜のフォーマット(°(degree)あるいは%)と,高さの単位(mやフィートなど)を指定する.地形の傾斜分類図などを作成するときに利用する.r.contour
:ラスター地図レイヤーから,指定された高さの等高線地図を作り出す.最小値,最大値と等高線の間隔を入力する.もし最小値あるいは最大値を指定しなければ,ラスター地図レイヤーの最小値あるいは最大値が用いられる.r.covar
:ラスター地図レイヤーの共分散(covariance)と相関(correlation)を求める.r.buffer
:既存のラスター地図レイヤーの中の非ゼロのカテゴリー値を含むすべてのセルのまわりのバッファーゾーンを示す新しいラスター地図レイヤーを作る.非ゼロカテゴリー値を持つセルからバッファーゾーンの距離はユーザが指定する.例えば,活断層から1キロメートルおよび2キロメートルの範囲を求める際などに利用する.r.infer
:推論エンジン.ラスター地図レイヤーに,指定した推論規則を適用し,新しいラスター地図レイヤーを作成する.推論規則はテキストエディター等により作成する.推論規則の例を以下に示します. 例: IFMAP elevation 100-200 (もし,標高が100-200で)
ANDIFMAP geology 3-4 (かつ,地質が3-4ならば)
THEN high elevation with fragile material (標高が高く,壊れやすい材質)
!
IF high elevation with fragile material (もし標高が高く,壊れやすい材質で)
ANDIFMAP aspect 4 (かつ,もしアスぺクトが4ならば)
THENMAPHYP 1 Landslide prone (地滑りの傾向がある)
----- ラスター曲面の推定 -----
r.surf.contour
:ラスター化された等高線地図からラスター標高地図(DEM)を作成する際に用いる.このための操作は,まず,それぞれの線にラベルとして標高がつけられた等高線のベクトル地図レイヤーを作成する.次に,このベクトル地図レイヤーにプログラムv.to.rastを実行し,等高線の値を含むラスターの連続する線を生成する.最後に,r.surf.contourに入力し,DEM(Digital Elevation Model)を作成し,ラスター地図レイヤーが完成する.r.surf.idw
:データ点からラスター形式の曲面を推定する.近傍のデータポイントの値を距離の2乗で重み付けした数値近似を行い補間し曲面を得る.補間の決定に用いられる最も近くのデータポイントの数は,指定できる(デフォルト:12点).----- ラスターレイヤーに関する情報の整理 -----
r.coin
:2つのラスター地図レイヤーの相互のカテゴリーの関係を表す表を作成する.r.report
:ラスター地図レイヤーに関する一連のレポートを作成する.出力はスクリーン上に現われるが,リダイレクトで指定したファイルに出力することもできる.----- ファイルの管理(コピー・削除・名前の変更) -----
g.copy
:各種データレイヤーのコピー.現在のmapsetにおけるラスターやベクトル地図レイヤーなどを属性ファイルを含めて適切な要素ディレクトリーにコピーする.g.remove
:各種データレイヤーの削除.現在のmapsetにおけるラスターやベクトル地図レイヤーなどを属性ファイルを含めて削除する.g.rename
:各種データレイヤーの名前の変更.現在のmapsetにおけるラスターやベクトル地図レイヤーなどを属性ファイルを含めて,その名前を変更する.----- ヘルプ機能(オンラインヘルプ・マニュアルの参照) -----
g.help
:GRASSのオンラインヘルプコマンド.データベースの設定,データベース管理ツール,ウインドウ管理,データ変換,他のソフトとのインターフェース,地図のデジタイズ,画像処理,地図表示,地図のプリント,報告書作成,マクロ開発,用語解説などの項目がある.g.manual
:コマンドのオンラインマニュアル.それぞれのコマンドを指定して(コマンドの一覧も参照できる),マニュアルを参照できる.----- 対象地域の管理(範囲,分解能の変更) -----
g.region
:対象とする地域の範囲や分解能を変更したり,標準に戻すなどの管理を行う.
GRASSの7つのモジュールとコマンド
@画像表示モジュール
d.画像表示モジュール(
d.)表示示フレームの作成(
d.mon)ラスタープログラムモジュール(
r.)ラスターファイルの入力・出力変換(
r.in.ascii r.in.ll r.out.ascii r.compress r.poly)ファイル・地域管理モジュール(
g.)ファイルの管理(コピー・削除・名前の変更)(
g.copy g.remove g.rename)
(以上,第4回講義)
第4回 実習のページへ 大阪市立大学広報ホームページ