GRASSを用いた地理情報システム入門
第5回目は,GRASSのデータベース設定とラスターファイルの入力・表示等を行います.いままで,既存のデータを利用して,操作の実習を行ないましたが,ここでは自分でデータベースを作成し,地形データを入力してみます.また,入力した地形データから地形断面図や3次元表示図(鳥瞰図)を作成してみます.
GRASSで作業をするためには,最初にデータベースを作成しなければなりません.データベースの構造は第3回講義で説明した通りですが,ほとんどは自動的に作成されるので,とくに難しいものではありません.データベースの作成には次に示す情報が必要です.
1.LOCATION(地域名)
2.MAPSET(プロジェクト名あるいはユーザー名)
3.DATABASEデータベースを格納するディレクトリ
4.使用する座標系
5.対象地域の範囲を示す位置座標およびグリッド解像度の標準値
6.タイトル
LOCATIONとして地域名(”osaka”など)を定めます.MAPSETとしては,これから行なう作業の名前(プロジェクト名など),あるいはデータベースを複数の人で共有する場合などを考慮した名前(ユーザー名など)を定めます.DATABASE名はデータベースとして実際にデータを保存するUnixのディレクトリを指定します(このディレクトリはあらかじめ存在する,あるいは作成しておく必要があります).
座標は種々の座標系で取り扱えるようになっています(UTM座標系がおすすめです).なお,UTM座標系を用いる場合は,UTM座標値やゾーンがわからない場合が多いのですが,その場合は適当な値でテスト的にデータベースを作成するか,あるいは,既存のデータベースを立ち上げます(ここでは,前回利用したleicsでとりあえず立ち上げてください).その後,GRASSのコマンドが利用できる状態になれば,緯度経度からUTM座標値に変換するコマンド(
m.ll2u)を用いて正しい座標値とゾーンを求め,その値をもとに再度正確なデータベースを作成します.なお,少し広めに範囲を指定し,後で変更する(g.regionコマンド)ことも可能です.グリッド解像度も基本となるDEMなどの値で設定しておきます.これも,範囲と同様に必要に応じて変更できます.タイトルは,実際の利用には何も影響しませんが,LOCATIONをわかりやすく示すものを付けます.
これらの初期設定の手順を以下に示します.
@GRASSを起動します.”WELLCOME TO GRASS”の画面が表示されるので<Enter>を押します(皆さんは,すでにleicsを利用したので,この画面は出てきません).
grass5.0beta6
<Enterキー>A下に示した画面になるので,LOCATION,MAPSET,DATABASE名を入力します.なお,Linuxのキーボード設定によっては矢印キーやBS(バックスペース)やDeleteキーを受け付けない場合があります.異常な動作をした場合は,Ctrl+c(コントロールキーを押しながらcのキーを押す)により終了します.カーソルの行間移動はリターンで行い,間違った場合は再度入力します.正しく入力したことを確認し,<ESCキー>,<Enterキー>を押して次へ進みます.
GRASS 5.0beta6
<ESCキー>,<Enterキー>
Bここで設定したデータベースは,まだ存在しないので次のような作成するかどうかの確認があります.yを入力し<Enter>キーを押します.
LOCATION <area1> - doesn't exist
また,次のように必要な情報が準備されているかどうかの確認もあります.yを入力し<Enter>キーを押します.
To create a new LOCATION, you will need the following information:
Bデータベースの座標系を選択します.
A.x,y,B.Latitude-Longitude(緯度経度),C.UTM,D.その他の4つの中から選択します(ここでは,CのUTM座標系を選択します).選択後,確認があります(以降,確認は省略します).
Please specify the coordinate system for location <area1>
CLOCATIONに対する1行の説明(タイトル)を入力します(何でもかまいません).
Please enter a one line description for location <area1>
D調査地域に応じた楕円体の名称やゾーン等を指定します.利用する楕円体は国によって異なりますが,日本でUTMを用いる場合は,”bessel”と入力します.つぎにゾーンを入力します.前述したm.ll2uコマンド等で調べたゾーン(ここでは,53)を入力しましょう.さらに,南半球かどうかを聞いてきますので,nを入力します([n]とデフォルトが設定されているので,<Enter>のみでも結構です).
Please specify ellipsoid name
E北端・南端・西端・東端の座標値および東西・南北各方向の解像度を入力します(座標系により単位や与え方が異なります,UTM座標系の場合はm単位です).<Enter>キーで各項目を移動できます.設定終了後<Escキー><Enterキー>を押してください.
DEFINE THE DEFAULT REGION
次に,確認の画面が表示されます.これでLOCATIONの作成が終了します.
projection: 1 (UTM)
FAの画面が再表示されるので<ESCキー><Enterキー>を押します.新しいmapsetを作成するかどうかの確認があるので,作成します.
Mapset <<map1>> is not available
以上でデータベースの作成が終了し,次のような画面が表示されます.
Welcome to GRASS 5.0beta6 (February 2000)
Geographic Resources Analysis Support System (GRASS) is Copyright,
1999 by the GRASS Development Team, and licensed under terms of
the GNU General Public License (GPL).
This new release of GRASS is coordinated and produced by the GRASS
Development Team Headquartered at Baylor University with development
sites located at the University of Hannover and University of Illinois.
This program is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details.
This version running thru the C Shell (/bin/csh)
Help is available with the command: g.help
See the licence terms with: g.version
Start the graphical user interface with: tcltkgrass&
When ready to quit enter: exit
コマンド入力の前の行には,Location名とMapset名が表示されます.
Mapset <map1> in Location <area1>
一度作成したデータベースに関してはB以降の操作を繰り返し行なう必要はありません.なお,次回以降GRASSを起動した場合にはAで示した画面が表示されます.
[座標値変換:緯度経度座標→UTM座標]
GRASSには種々の座標間の変換コマンドがあります.緯度経度座標値からUTM座標値へ変換する場合はm.ll2uを用います.UTMのゾーンが分からない時もm.ll2uで知ることができます.なお,2つ以上のゾーンにわたる場合は,中心となるゾーンを利用することにより歪を少なくできます.座標変換を行う場合の手順を以下に示します.
@コマンドm.ll2uを実行します.
GRASS 5.0beta6 >
m.ll2uA参照する楕円体を指定します(besselと入力します).
OPTION: reference spheroid (ellipsoid)
BUTMのゾーンを指定します.わからない場合は指定しない(自動的に計算されます).
OPTION: utm zone (results will be forced into this zone)
Cたくさんの緯度経度座標値を一度に変換する場合はファイルにあらかじめ作成しておき,結果をファイルに出力します.ファイル入力でない場合はそれぞれ<Enterキー>を押します.
OPTION: input file
Dいろいろなフラグの設定がありますが,一般的にはすべてデフォルト<Enterキー>で結構です.
FLAG: Set the following flag?
E変換したい緯度経度座標を指示された形式:経度の度:分:秒(東経はE,西経はW) 緯度の度:分:秒(北緯はN,南緯はS)にしたがって入力します.秒以下の値は小数点形式を用います.
Enter lon lat, one coordinate pair per line, in the format
>
135:00:00E 36:00:00N500000 3983551.99565036 53
変換された結果:東西座標(単位m) 南北座標(単位m) ゾーン番号が表示されます.終了する場合は,データの代わりにendと入力します.endを入力するまで,座標値変換を繰り返し実行します.
実際にGRASSを起動して,下記の地域のデーターベースを作成してみましょう.また,ラスターに関係したコマンドを実行して,地形断面図や3次元表示図等を作成してみて下さい.
前述の説明に従って,下図に示す領域のデータベースを作成します.LOCATION名,MAPSET名は適当につけてください.座標系はUTMを用いてください.分解能は縦・横とも30mとします.
(クリックすると拡大します)
なお,この地域は今回の実習用に作成した架空の地域です.DEMも実際には存在しない地形のものです.ご了承下さい.(ヒント:まず,前回行った実習の地域(leics)で起動して,m.ll2uコマンドで本地域の南西(左下)のUTM座標を求めてください.southとwestはその値にして,northとeastは表示している座標値の差の値をそれぞれ足した値で設定します.つまり,north=south+6690,east=west+6090となります.
この地域のアスキー形式の地形標高データDEMを準備しました.下記の
dem.tar.gzをクリックしてダウンロードして,解凍し,ラスター地図を作成してください.ラスターデータはUTMの座標系になっており,格子数は縦223×横203で,分解能は30×30mで,単位はmです.領域は上の図の全域です.ラスター地図名はファイル名と同じく"dem"として下さい.アスキー形式のラスターを入力するコマンドは,r.in.asciiです.(ブラウザの設定によりファイル名が変わった場合は,変更してください)
tar -zxvf dem.tar.gz
(解凍方法.demというアスキーファイルが出来上がります)
(アスキー形式のラスターファイルにはヘッダー部が必要です.ダウンロードし,解凍したものはあらかじめ,こちらで設定したヘッダー部分がついています.
north:3990241.996
south:3983551.996
east: 506090
west: 500000
rows: 223
cols: 203
105 101 95 91 90 97 116 135 144 ……
:
各自で設定した実際のUTMの座標値と異なる場合は,データベースを設定した領域と同じ値に変更してください.変更にはUnixのxeditコマンドやviを使います.)
@アスキー形式のラスターデータを入力するために
r.in.asciiコマンドを実行します.GRASS 5.0beta6 >
r.in.asciiAアスキー形式のデータファイル名を入力します.
OPTION: Ascii raster file to be imported
key: input
required: YES
enter option >
BGRASSで実際に使用するラスター型データファイル名を入力します(既存のラスター地図名を参照する場合は,listと入力します.).
OPTION: Name for resultant raster map
key: output
required: YES
Enter raster file name
Enter 'list' for a list of existing raster files
Hit RETURN to cancel request
>
Cタイトルの入力.不要ならばリターン.
OPTION: Title for resultant raster map
key: title
format: "phrase"
required: NO
enter option >
Dデータ倍率の指定(デフォルト(Enter)は1.0倍).
OPTION: Multiplier for ascii data
key: mult
default: 1.0 or read from header
required: NO
enter option >
Eオプションの指定(ヌルの値の設定)
OPTION: String representing NULL value data cell
key: nv
default: * or read from header
required: NO
enter option >
Fフラグの設定.(データを入力する際の形式(実数・整数)やデータの並び等の指定を指定します.一般的にはデフォルトです(
<Enterキー>).)FLAG: Set the following flag?
integer values are imported?(y/n) [n]
これで,ラスター地図
demとして地形図が作成されました.(2)地形図の表示と傾斜方位図の作成
作成したラスター地図形式の地形図(
dem)を表示してみましょう.また,傾斜方位を示す図(asp)を作成してみましょう.@画像を表示するために,まず
d.monコマンドでモニターx0を起動します.GRASS 5.0beta6 >
d.mon x0Aラスター地図表示コマンド
d.rastを用いて,地形図demを表示します.GRASS 5.0beta6 >
d.rast dem
(クリックすると拡大します)
Bラスター標高データから地形の傾斜方位図や傾斜度図を作成するコマンド
r.slope.aspectを用いて,地形の傾斜方位図aspを作成します.GRASS 5.0beta6 >
r.slope.aspect elevation=dem aspect=asp(オプションのelevation=の後ろに既存の地形のラスター地図名,aspect=の後ろに傾斜方位のラスター地図名を表す新しい名前を付けます.)
percent complete: 100%
CREATING SUPPORT FILES
ELEVATION PRODUCTS for mapset [map1] in [area1]
min computed aspect 0.0000 max computed aspect 360.0000
Cラスター地図表示コマンド
d.rastを用いて,作成した傾斜方位図aspを表示します.GRASS 5.0beta6 >
d.rast asp
(クリックすると拡大します)
(3)地形断面図の作成
地形図(
dem)の断面図をコマンドd.profileを用いて表示してみましょう.@
d.profileコマンドを起動します.GRASS 5.0beta6 >
d.mon x0A地形図のラスター地図名
demを入力します.OPTION: Raster map to be profiled
key: map
required: YES
Enter the name of an existing raster file
Enter 'list' for a list of existing raster files
Hit RETURN to cancel request
>
画面が次の様に変わります.
(クリックすると拡大します)
Bマウスを使って,任意の地点を指定して,地形の断面図を表示させます.なお,2つボタンのマウスの場合は中ボタン(Middle)はありませんが,通常の設定では右と左のボタンを同時に押すことにより実現されます.マウスのボタンの最初の設定は次の通りです.
Left: Where am I ?
(左ボタン:その点の位置座標を表示します)2番目は,次のようになっています.
Left: Where am I ?
(左ボタン:その点の位置座標を表示します)断面を描き終わると次のようになります.
Left: DO ANOTHER
(左ボタン:他の断面図を描く作業に戻ります)複数の断面図を適当に描いて見て下さい.
(クリックすると拡大します)
(4)地形の3次元表示
コマンド
d.3dにより直交遠近法表示による疑似3次元画像を造り出すことができます.この機能使えば,形に関するデータ(地形(DEM)など)を3次元的に画像化することができます.さらに,この表面に地図や画像を貼り付け,これら2つの地図の関係を示すという大変効果的な働きをすることも出来ます.ここでは地形図(dem)に傾斜方位図(asp)を張りつけた3次元地形図を表示してみましょう.@
d.3dコマンドを起動します.GRASS 5.0beta6 >
d.3dA地形表面に張りつけるラスター地図名を入力します.ここでは傾斜方位図である
aspを入力します.ラスター地図名がわからない場合はlistと入力することにより,既存のラスター地図が表示されます.list -f によりタイトルも参照可能です. 3-D Landscape display
First enter the names of the maps to be used to
for color and for elevation:
Enter raster file to be displayed (color):
Enter 'list' for a list of existing raster files
Enter 'list -f' for a list with titles
Hit RETURN to cancel request
>
B3次元表示をする立体形状(標高等)のラスター地図名を入力します.ここでは地形を表す
demを入力します.ここでも同様にlistとlist -f が利用できます.Enter raster file to used for elevation:
Enter 'list' for a list of existing raster files
Enter 'list -f' for a list with titles
Hit RETURN to cancel request
>
C設定ファイル名を指定します.以前設定ファイルを残しておいた場合(Eで指定)はそのファイル名を入力します.ここでは,はじめてなので,設定ファイルがありませんので
<Enterキー>を押します.If you have previously saved 3-D viewing options in this mapset
you may recover them by entering the name under which they were saved.
Enter nothing and hit <RETURN> to have default values calculated.
Enter name of saved 3-d viewing options to be used:
Enter 'list' for a list of existing 3d.view files
Hit RETURN to cancel request
>
D投影条件等の設定を行ないます.まず最初に,デフォルト設定でそのまま描いてみます.何も変更せずに<ESCキー><Enterキー>を押してください.
(クリックすると拡大します)
次に投影条件を色々変更して,作図して見てください.例えば,つぎのように設定すると,下に示した図のように表示されます.
(クリックすると拡大します)
(クリックすると拡大します)
このモードを終わるには,右上にある RUN? Y/N を N にして<ESCキー><Enterキー>を押してください.
E投影条件等の設定ファイルの保存を行ないます.設定条件は複雑なので保存しておくと便利です.保存する場合はファイル名(下の例では
3dset)を,不要な場合は<Enterキー>を押してください.You can now save your viewing information for later use by this program.
Enter nothing and hit <RETURN> to not save this information.
Enter name for saving 3-d viewing options:
Enter 'list' for a list of existing 3d.view files
Hit RETURN to cancel request
>
ここでは,投影条件等を静的に設定するd.3dコマンドを用いた方法を説明しましたが,GRASSには,もっと動的に設定あるいは表示できる
Nviz(後日説明予定)という可視化ツールがあります.Nvizではこれらの設定をマウスで行なうことができ,ダイナミックに表示することが可能となっています.注意:今回作成したファイルやMAPSETは今後も利用します.
第5回講義に戻る
大阪市立大学広報のホームページ