地球科学におけるGRASS GIS入門(第4回)

目    次


第4回目の講義です.今回からはGRASSの持つ機能を順に説明していきます.今回はその中で表示とラスターデータに関する機能について説明します.個々の機能はコマンド側から説明したので,マニュアル的になってしまいましたが,本当に利用する場合は便利かもしれません(言い訳のようですが…).

実習ではGRASSのデータベース設定と講義で行ったラスターデータの入力・操作等を実際に行って見ます.前回・前々回の実習で,とにかく出してみて,触ってみて一連の作業を体感するということができたので,これから数回にわたりゆっくりと行います.


3-4.GRASSのモジュール

 GRASSの主要なファンクション(機能)は図14に示したように7つのモジュールに分類することができます.それぞれのモジュールの機能を以下に示します.

図14 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のシェルスクリプトプログラムとコントリビュートプログラムのセットからコマンドが構成されています.なお,これらはラスター,ベクトル,イメージを用いる他のプログラムからも使えるなど,多様な操作にも能力を発揮します.

 

3-5.GRASSのファンクション

 GRASSで使用する主なファンクション(コマンド)をモジュール別に説明します.

3-5-1.表示モジュール

----- 表示のための準備(表示フレームの作成) -----

d.mon:グラフィックモニター(表示フレーム)の立ち上げと制御に用いる.GISマップレイヤーを表示するグラフィックモニターのスタート,選択,ストップができる(*:は実習で行う).モニターは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:表示フレームの中に単純な線や面および文字を描く.位置はフレーム上でのグラフィックスの座標で指示する.グラフィックコマンドはキーボードから入力するか,あるいはファイルに記述することができる.キーボードからの入力を終えるためにはctrl-dキーを押す.

  基本コマンド;

     move xpos ypos    (現在位置の変更)

     draw xpos1 ypos1   (現在位置から新しい xpos1,ypos1まで線をひく)

     color color     (現在の色をセットする)

     size x% y%      (表示するテキストのサイズをセットする)

     text textinput    (ディスプレイフレームの中にテキストを書く)

     icon type size x y  (ディスプレイフレームの上にアイコンを描く)

     polygon        (現在の色で塗られる多角形を描く)

      xpos ypos     (多角形の座標)

      xpos1 ypos1   

      .... ....

d.mapgraph:表示フレームフレームの中に単純な線や面および文字を描く.d.graphと異なる点は座標が地理座標系を用いることである.

d.display:メニュー方式の対話型の表示プログラム.d.display コマンドを実行すると,表示メインメニューがスクリーンの上に現われる.メニューでの選択はマウスを用いて行う.

 

3-5-2.ラスタープログラムモジュール

----- ラスターファイルの入力・出力変換 -----

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

r.in.ll:緯度・経度座標で分割されたラスターデータをUTM座標系に取りこむ.国土地理院が発行している50mや250mメッシュ標高はこのコマンドを用いてUTM座標系で用いる.

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,平方根など)が利用できる.

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を作成する.

r.surf.idw:データ点からラスター形式の曲面を推定する.近傍のデータポイントの値を距離の2乗で重み付けした数値近似を行い補間し曲面を得る.補間の決定に用いられる最も近くのデータポイントの数は,指定できる(デフォルト:12点).

----- ラスターレイヤーに関する情報の整理 -----

r.coin:2つのラスターレイヤーの相互のカテゴリーの関係を表す表を作成する.

r.report:ラスターレイヤーに関する一連のレポートを作成する.出力はスクリーン上に現われるが,リダイレクトで指定した出力ファイルに出力することもできる.


まとめ(4)

GRASSの7つのモジュールとコマンド

@画像表示モジュール       d.

Aファイル・地域管理モジュール  g.

B画像処理モジュール       i.

Cラスタープログラムモジュール  r.

Dベクトルプログラムモジュール  v.

Eサイトプログラムモジュール   s.

Fハードコピーモジュール     h.

 

GRASSのファンクション(1)

 画像表示モジュール

表示示フレームの作成

d.mon

データの表示・消去

d.rast d.sites d.vect d.erase d.3d d.rgb d.his

データ内容(カテゴリー情報)の検索表示

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 d.graph d.mapgraph d.display

GRASSのファンクション(2)

 ラスタープログラムモジュール

ラスターファイルの入力・出力変換

r.in.ascii r.in.ll r.out.ascii r.compress r.poly

ラスターレイヤーの設定・再分類等

r.support r.colors r.reclass r.mask

ラスターレイヤーの合成・演算・推論等

r.mapcalc r.combine r.cross r.slope.aspect r.contour r.covar r.buffer r.infer 

ラスター曲面の推定

r.surf.contour r.surf.idw 

ラスターレイヤーに関する情報の整理

r.coin r.report 

 

(以上,第4回講義)


第4回 実習のページへ

大阪市立大学インターネット講座'99