このセッションではGRASS GISの世界を紹介し,さらにユーザーインターフェースに慣れ親しむことを目的としたレッスンを行います.今後,GRASSでデータを操作・表示する際に使用されるコマンドの大部分はこの章で出てきます.また,あるテーマのもとに複数の地図レイヤーを結合する方法に関しても説明します(このセッション終了予定時間:約2時間).
この章のエクササイズを始める前に,まずGRASSをスタートし,データセットを指示してください.
GRASSをスタート(
grass5.0beta6と入力)してして下さい.以下のような画面が現われると思います.Display 1
これはGRASSの通常のオープニング画面です.しかし,ロケーション・マップセット・データベースは各々の機種によって異なります.
もし何らかの理由でこの画面が現われない場合は,全て正しくセットアップされているかどうか確認して下さい.
ここでこれから使用するデータセットを指示します.この最初の画面では,ロケーション,マップセット,データベースのそれぞれの項目に必要な情報を入力して下さい.
ロケーション
は,研究地域の地理的範囲を入力します.このエクササイズではイングランド地方のLeicestershire州の一部のデータを扱います.まず,始めにカーソルがLOCATIONの所になるまでリターンキーを数回押して下さい(最初から,その位置にある場合は不要です).そして,研究地域を指定するために,leicsと入力して下さい.もし範囲を超えた文字数を打ち込んでしまった場合は,スペースバーを押して余った文字を消去すれ大丈夫です.次に,リターンキーを押してカーソルを
MAPSETの項目まで移動させて下さい.ここで覚えておいてほしいのは,GRASSにおけるマップセットとは,現在指定したLOCATIONの中のユーザー自身のファイル(ディレクトリ)です.従って,ここではあなたのユーザー名を入力して下さい(下記の例では,ユーザー名はgrass).今後,あなたが作成したファイルを他人が気軽に手を加えることは一切禁じられることとなります.DATABASE
は,leicsのデータを解凍したディレクトリーを指定してください(下記の例では,/home/grass).
LOCATION:
leics_________ (enter list for a list of locations)MAPSET:
grass_________ (or mapsets within a location)DATABASE:
/home/grass_______________________________________全て正しくセットしたら,
<Esc>キーを押し,<Enter;エンター>キーを押してくスタートして下さい.正常に動作すれば,つぎのように表示され,指定したLocationとMapsetが表示されます.最後に,grassのプロンプト
GRASS 5.0beta6 >が表示されます.
Display 2
これから利用するコマンド一覧|
g.list d.mon d.rast d.legend r.report d.erase |
最初に,現在このシステムに保管されている全ての情報を掲載したリストを手に入れる必要があります.
Command :
g.listg.list
と入力し,<Enter;エンター>キーを押して下さい(以降,エンターキーは↓で表します).8タイプの利用可能なファイルの種類が表示されると思います.このエクササイズで扱う地図レイヤーは全てラスターファイルですから,
1のタイプを選択し,Enterキーを押して下さい.下の画面で青く示した部分(実際は黒です)がここで使用できるラスターファイルです.読み終えたらEnterキーを押して下さい.
Discussion
GRASSの中では情報がそれぞれ独立した1つずつの地図レイヤーとして保管されることがわかると思います.いずれの地図レイヤーも,「道路」「都心部」「人口統計」といった1つのデータに関する情報をそれぞれ保存しているのです.このような複数独立型レイヤーという特徴は,地理情報システムにおいて非常に一般的なものです.特に新規のレイヤーを作成したい時に,ファイル名を重複させないために,
g.listコマンドを使って現在保存されている地図レイヤーの全てを再確認するということがよくあります.Dislpay 3
にリストされている地図レイヤー全てが,あなたのコンピュータのマップセットPERMANENTの中に表示されているかどうかを確認して下さい.もしそうでない場合は,一度終了してデータを再度入れなおして下さい.Display 3
このレッスンで扱うラスター地図レイヤー|
ファイル名 |
地図の主題 |
|
contours |
地形の等高線データ |
どのような場合でも,GRASSのグラフィックを表示したい時は,まずグラフィックウィンドウ(モニター)を開く必要があります.
Command :
d.mon start=x0 ↓Responses: Graphics driver [x0] started (正常に表示されると左のようにレスポンスがあります)
Discussion
GRASSでは,7つのグラフィックウィンドウを同時に開くことができます.これらはx0からx6までの番号がついています.また,ウィンドウを移動・拡縮することができます.グラフィックウィンドウを移動させたい時は,グラフィックウィンドウのボーダー部分(上のバーの部分)にポインターを置き,そこで左のマウスボタンを押しながら希望の移動先までドラッグして下さい.サイズを拡縮したい時は,ポインターをウィンドウのコーナーに置き,同じく左のマウスボタンを押しながらマウスを動かしてサイズを調整して下さいウィンドウの位置が決定したら,GRASSに出力用のウィンドウを選択するように指示して下さい.
Command :
d.mon select=x0 ↓研究対象地域により慣れ親しむためにも,まず人工衛星画像イメージを表示して,該当地域の地理的外観図を見ておきましょう.
Command :
d.rast image ↓
(図をクリックすると拡大します)
Discussion
人工衛星から撮影されたこのイメージ写真は,赤外線によって記録されたにも関わらず,まるで白黒写真のようです.この本来の目的は,今後研究する地域の画像をより‘現実世界’に近い形で提供することにあるのですが,実際には我々のイメージする‘現実世界’の映像も,GRASSにおける空間構造に規定されてしまうのです.従って,これが空間表現にグリッドセル格子構造を用いたGISラスターであるということを認識しておいて下さい.(研究対象地域の図を参照しながら)このイメージとその地区のスケッチ図を互いに較べてみて下さい.土地利用の特徴を特定できますか
このステップでは,ラスターデータファイルのパラメーターを,物理的なサイズやディメンジョンあるいは格子セルの分解能の観点から調べるという作業をします.
Command :
r.report roads units=kilom,percent
Discussion
システムは情報を一覧表で答えます.ロケーションや日付を含む見出しの下に,その地域の境界や分解能などが表示されます.この場合,単位はメートル法を用いています.これによりイメージの縦横のサイズ(行,列)を求めることができるのです.地域情報の下に,そのレイヤーの各々のカテゴリー(属性)の名称に準じたラスターレイヤーのタイトルがあります.いずれのカテゴリーもその大きさは要求した単位(この場合はkm2 と%)が用いられ表示されます.
下のDisplay 4に表示された地図レイヤー全てに対し,
r.reportコマンドを用いて頻度の最も高いカテゴリーと,最も低いカテゴリーを探してみて下さい.これが有効なプロセスとなるラスター地図レイヤーと,そうでない地図レイヤーはそれぞれどれか,そしてその理由はなぜかを調べてみて下さい.Display 4
|
ラスター地図レイヤー名 |
最も頻度の高い カテゴリー(属性) |
最も頻度の低い カテゴリー(属性) |
|
landcov |
|
|
|
popln |
|
|
|
rail |
|
|
|
rail |
|
|
|
topo |
|
|
Discussion
topo地図レイヤーのレポートは,あまりにも早くスクロールするので読み取ることができなかったと思います.GRASSはレポートを表示する時,地図レイヤーの中にあるカテゴリーの数を考慮に入れないのです.より「ユーザーにやさしい」データ表示にするためには,GRASSコマンドr.reportとUNIXコマンドmoreを結合させます.moreとは,テキスト表示に有効な機能で,大量なテキストを表示するときにページ単位で表示する機能をします.次のページに行く時はスペースバーを押し,戻る時はb,やめる時にはqを押して下さい.Command :
r.report topo units=kilom,percent | moreDiscussion
GRASSとUNIXをこのようにして結合できるのは,それをより強力かつ柔軟にすることが可能なGRASSの特徴があってのことです.GRASSをその他のUNIXプログラムとインターフェースする時など,まさにこの威力を発揮します.ここではディスプレイコマンドを使って,最初にStep 1で見た,Display 3に掲載されているGIS地図レイヤーの全てを表示してみましょう.
Command :
d.rast roads
(図をクリックすると拡大します)
Discussion
コマンドd.rastはGRASSにおいてラスター地図レイヤーを表示する上で最も基本的な機能です.もう一度,研究対象地域の地図を参照し直してみると,画面に表示されている道路網が,地図の簡略化したものであることがわかるはずです.GIS地図レイヤーの精緻さ・正確さの度合はデータソースや目的とするアプリケーションの種類にもよりますが,これらの画像が常に現実世界を簡素化あるいはモデル化していることを覚えておいてください.より使いやすい地図にするために,どの地図レイヤーにも凡例を表示することができます.まず,最初のステップとして,新しいグラフィックウィンドウを作成し,凡例を表示してみましょう.
Command :
d.mon start=x1 select=x1Command :
d.legend roads
(図をクリックすると拡大します)
もし必要なら,新しいウィンドウの位置をマウスで再調整して下さい.ここで別のラスターレイヤーを,その凡例と共に表示してみましょう.
Command :
d.mon select=x0Command :
d.rast waterCommand :
d.mon select=x1Command :
d.eraseCommand :
d.legend water lines=20Discussion
最初のステップではGRASSに元のグラフィックウィンドウx0への出力を命令します.ラスター地図レイヤーwaterはそこに表示されます.凡例を表示するには,2番目のx1を使います.2番目の凡例をこのウィンドウに表示するには,前の凡例を消去しなければいけません.もし何らかの手違いで複数の凡例を表示した場合は,それぞれの凡例のスペースを画面内に収まるように出来るだけ広げる必要があります.ラスター地図レイヤーwaterは1つのカテゴリーしか保管していないため,非常に使用スペースの広い凡例が表示されます.オプションlines=20を使えば,20ものカテゴリーが表示される時と同じような凡例スペースのサイズにすることが出来ます.rail, urban, topo
についても同じ作業をし,必要ならlinesでサイズを調整して下さい.d.legendが最も適切なのはどのラスター地図レイヤーだと思いますか?もう一度人工衛星イメージを表示して下さい.
Command :
d.mon select=x0Command :
d.rast imageDiscussion
このイメージは約8段階の濃度のグレースケールを使って,研究地域の特質を十分に表わしています.しかし,GRASSはワークステーションを使えば240色をカラー表示することが可能だというのに,なぜこのイメージの表示にはたった8種類のグレーしか使われないのでしょうか.GRASSには同時に複数の色を表示できる固定カラーパレットが含まれています.1つのイメージが数々の色彩を構成できることから,ほんの少しの色を使うだけでグレー画面を表示することが出来るのです.このようにして,GRASSは単に各々のラスターセルの値に見合った最も手ごろな色を選んで使用しているのです.GRASSの固定カラーパレットの使用を一時中止し,そして出来るだけ多くの色彩を一つのイメージ表現に使うことによってより質の高いイメージを作成することが出来ます.
Command :
d.colormode floatCommand :
d.rast image
(図をクリックすると拡大します)
Discussion
研究対象地域がより精緻な人工衛星イメージで表示されたはずです.これは,ワークステーション256色のうちの大部分がウィンドウ内のグレーの部分すべてに置き換えられたからです.このフローティングカラーテーブルを使えば,GRASSはポインターの位置するウインドウを相応の配色でカラー表示できます.ポインターを使って別のウインドウとの間を行き来してみて下さい.人工衛星イメージおよび凡例のウインドウの色にどんな変化が起こるでしょうか? また,どのような場合にフローティングカラーテーブルが,あるいは固定カラーテーブルでそれぞれ最適なのかを考えてみて下さい?
最後に,人工衛星イメージの色彩構成を変えてみましょう.
Command :
r.colors image color=waveCommand :
d.rast image
(図をクリックすると拡大します)
Discussion
GRASSにおけるラスターファイルはいずれも,各々のラスターカテゴリーに関連する色彩を保管するカラーファイルと関係づけられています.カラーファイルの変更には実に様々な方法があります.最も単純な方法の一つとしては,GRASS内蔵のパレットのいずれかを指定します.上記の例では,パレットをグレーから赤-緑-青の色の波に変えてみました.r.colorsで現在使用可能な内蔵カラーパレットの種類を表示してみましょう.
Command :
r.colors helpDiscussion
r.colorsのもつ全てのオプションがここで表示されるはずです.どのコマンドもオプションだけでよいというなら,helpとだけ入力すれば探すことが出来ます.(原著の付録Aにはその使用法とこの章で使われるGRASSコマンド全てのオプションに関する要約が含まれています.)イメージカラーパレットを
r.colors helpで表示された内蔵パレットのいくつか,あるいは全部に変えてみて下さい.これらそれぞれのパレットの使い方がわかりますか?最後に,カラーパレットを再び元のグレー画面に戻し,カラーモードを固定パレットになおして下さい.
Command :
r.colors image color=greyCommand :
d.colormode fixedCommand :
d.eraseモニターを一度閉じて,再度開きましょう.
Command :
d.mon stop=x0Command :
d.mon start=x0 select=x0
ここではGRASSを使い特定の地図レイヤーに関する統計的情報を表示してみましょう.
Command :
d.histogram roads
(図をクリックすると拡大します)
Discussion
このコマンドを使うと,地図レイヤーに含まれるセル値の情報を得ることができます.ここでは有効と思われる情報が列挙されますが,これには異なるクラスの間の値の差や,値の全体的な比率に関する情報も含まれています.このような出力形態であれば,セル値とイメージカラーとの関係を明確に表現することができます.もし,各カテゴリーに対するラベルを見たい場合は
r.reportを使います.Command :
r.report roadsコマンド
d.histogramとr.reportを使って,“road”地図レイヤーの中で幾つのセルが'C' クラスとして定義されているか調べてみましょう.また,これに相当する部分は全セル数との比率はどれくらいでしょうか? もし,r.reportの使い方が分からない場合は,のStep3をもう一度参照して下さい.使用できる地図レイヤーのうちからどれか選んで,そのイメージのヒストグラムを作成してみましょう.d.histogram helpを使って,どのようにするか検討してみましょう!このステップでは,GISの基本的な操作の1つである,同じ地域に関する2つ以上の地図レイヤーを結合して1つの地図レイヤーを作成するという作業を練習してみましょう.
組み合わせる地図レイヤーは:
urban water rail roadsDiscussion
地図のオーバーレイ(重ね合わせ)には主に2つの方法があります.まず1つ目は,“グラフィックオーバーレイ”を行い,ウインドウに複数の地図レイヤーを同時に重ねて表示します.ただ,この操作はあくまでビジュアル表示のみであるため,永久保存用の合成地図は作成されません.2つ目は,複数のラスターレイヤーから別の新しいラスターレイヤーをつくりだす方法です.これは,GISの中で新たなレイヤーが増えるという点で,より重要な操作と考えることができます.まず最初にグラフィックオーバーレイを行ってみましょう.
Command :
d.rast urban
(図をクリックすると拡大します)
Command :
d.rast -o waterCommand :
d.rast -o railCommand :
d.rast -o roads
(図をクリックすると拡大します)
Discussion
d.rastを呼び出す際 -o オプションを使えば,新しいラスターレイヤーが画面に表示される時に前のラスターレイヤーが消去されずにすみます.さらに,どのラスターレイヤーも“バックグラウンド(カテゴリー0)”をベースとしているため,順次レイヤーを合成しても,以前のものを完全にカバーしてしまうことはありません.別の方法で新しい合成地図を作成してみましょう.
Command :
r.patch input=roads,rail,water,urban output=compositeDiscussion
r.patchを使うと,異なる複数の地図レイヤーを各々のカテゴリーの色やラベルを保存しながら互いに合成することができます.その場合,値0のセル(カテゴリー0)のみが新たなレイヤーの内容と置き換えられます.新しく出来た
composite地図レイヤーを表示してみましょう.(もし操作を忘れた場合はstep4を参照) なぜラスター地図レイヤーを以上のような順で合成したか,その意味が分かりますか? 合成地図のグラフィック及びファイルそれぞれの順序の違いをはっきり説明することが出来ますか? もし確信がもてなかったら,試しに順序を変えてみて自分の目で確かめてみましょう!Step6で作成した合成地図
compositeは,複数の地図レイヤーからなっています.しかし,残念なことにまだこの地図のタイトルは最初にr.patchに入力したラスター名(つまりroads)のままです.GRASSコマンドr.supportを使ってタイトルを変更しましょう.また,このコマンドから返ってくるレスポンスの内容には,GRASSのラスター地図レイヤーに関連するサポートファイルの概念がある程度理解できるような情報が含まれています.Command :
r.supportResponses : Enter name of raster file for which you will create/modify support files
Enter 'list' for a list of existing raster files
Enter 'list -f' for a list with titles
Hit RETURN to cancel request Enter name of the raster file
>
(ラスターレイヤーの地域設定を表示)

(ラスターレイヤーの座標系・範囲等の確認)
projection: 1 (UTM)
zone: 0
north: 322000
south: 310000
east: 456000
west: 444000
e-w res: 50
n-s res: 50
(分解能 縦= 50m 横= 50m)
total rows: 240
total cols: 240
total cells: 57,600
(全行数/縦= 240 全行数/横= 240)
Do you accept this header? (y/n) [y] >
header for [composite] updated
hit RETURN to continue -->
Edit the category file for [composite]? (y/n) [n]
AFTER COMPLETING ALL ANSWERS, HIT <ESC><ENTER> TO CONTINUE
(OR <Ctrl-C> TO CANCEL)
このトレーニング・セッションの一番最初で,GRASSコマンドとその目的を紹介しました.ここでは下記の表を使って,レッスンの成果として各コマンドとその目的の結び付きを理解できるようになっかたどうかチェックしてみましょう.その場合,GRASSコマンドの名称そのものの意味を考察してみると分かりやすいです.
d.とつくコマンドは画面表示(表示=display)の何らかに関連しており,g.とつくコマンドは一般的な操作(一般的=general)に関連し,i.とつくコマンドはイメージ(image)作成に,r.とつくコマンドはラスター(raster)ファイルの操作に,それぞれ関連しています.Display 5
利用したコマンド一覧|
g.list d.mon d.rast d.legend r.report d.erase |
Display 6
下記の目的にはGRASSのどのコマンドを使うかを書いてみましょう.|
目 的 |
利用するGRASSのコマンド |
|
地図レイヤーのカテゴリーの頻度を調べる |
|
|
配られた地図レイヤーのリストを得る |
|
|
ラスター地図のサポートファイルを更新する |
|
|
合成した主題図を作成する |
|
|
コンピュータの画面にラスター地図を表示する |
|
この章で作成したラスター地図レイヤーは,次の章では使いません.もし望むなら,これらの地図レイヤーをすべて消去することによってディスクの空きを確保することができますが,この作業は十分慎重に行って下さい.まず最初に
g.listコマンドを入力し,現在ディスクに保管されている地図レイヤーを全て再確認して下さい.ここで覚えておいてほしいのは,今ファイルの作成などを行ったのはPERMANENTマップセットではなく,自分自身のマップセットです.なお,作成したファイルを消去するには,g.removeコマンドを使います(今回は特に大きいファイルを作成していないので消さない方が安全です).GRASSを終了する場合は,まずこのセッションの間に開いたウインドウを全て閉じなければいけません.
Command :
d.mon stop=x0Command :
d.mon stop=x1最後に,GRASSを終了して下さい.
Command :
exitGOOD BYE from GRASS !
これで,終了です.