
第12回目の講義です.最終回はGRASSの強力な3次元可視化ツール(レンダリング)の1つであるNvizについて説明します.Nvizを用いると3次元モデルに光をあてた高品位な画像やアニメーションを作ることが簡単に出来ます.ここではそれらの一部を説明します.
また,実習ではNvizの操作を撮影した動画を付録として示します.
NvizはGRASSで作成したラスター,ベクトルおよびサイトファイルを3次元的に可視化するツールです.可視化は動的に表現でき,アニメーションも作成することができます.Nvizには,縮小・拡大,視点の変更,鉛直方向の強調,光線の当てかたの調整や断面図の作成など多彩の機能があります.ここでは,それらの一部を紹介します.なお,GRASSのホームページでのNvizの説明(英語)は,
http://wgrass.media.osaka-cu.ac.jp/grassh/gdp/html_grass5/nviz/index.html
にあります.
ここで示すNvizのバージョンはNviz2.2(以降,Nvizという)です.Nvizは,すでにインストールされたGRASS5の中に入っていますが,Mesa 3DというOpenGLのクローンであるグラフィックスライブラリーが必要です.下記からダウンロードしてインストールしてください.
http://mesa3d.sourceforge.net/
なお,Mesa 3Dの代わりにOpenGLを利用する場合は,NVIZのソースをダウンロードしてcmdディレクトリーの中のGmakefileで,libMesaGLUとlibMesaGL の代わりにlibGLU とlibGLを使うように変更し,コンパイルして利用して下さい.
Nviz2.2の起動および操作方法について説明します.
GRASSを通常通り,目的のDATABASE,LOCATION,MAPSETで起動します.以下では,GRASSの代表的なサンプルデータであるSpearfish(第1回目の実習でインストール済み)を例に示します.つぎに,Nviz2.2を立ち上げます.Nviz2.2は立ち上げ時にGRASSコマンドと同様の対話型でもラスターファイル等の設定が行えますが,立ち上がった後でも設定が可能なため,Quickstartのオプション-qを付けて起動します.
GRASS 5.0beta6 > Nviz2.2 -q
(場合によっては-qオプションが使えない場合があります.その場合は,-qを付けないで,出てくる質問に全て<Enter>キーを押してください.)
テキスト画面に
Version: GRASS5.0 beta, last update: July 1999
updated to OPENGL, LINUX, Tcl/Tk 8.0
:
などのたくさんの情報が表示されます.これらを表示した後に,下に示すNviz2.2のコントロールパネル画面と表示画面(グラフィックス画面)が表示されます.
Nviz2.2のコントロールパネル
(下の部分はムーブメントパネルと呼びます.)
Nviz2.2のグラフィックス画面(クリックすると拡大します;6KB)
ファイルの設定・表示の設定等はコントロールパネルをクリックすることにより指定します.コントロールパネルには,メニュー,動作ボタンおよびムーブメントパネルが表示されています.各部分は,
・メニュー画面:ファイルの設定や各種パネルの指定
・動作ボタン:ラスター,ベクトル,サイトの表示指定
・ムーブメントパネル:地図の回転,視点,鉛直方向の拡大率などの表示設定等
を行ないます.
3次元表示するためには形状を表すものが必要なので,まず,地形図を選択して表示してみます.メニューの
Panel(パネル)を押すと,つぎのようなサブメニューが表示されます.
この中の
Surfacesを選択します.ムーブパネルの下に,下のようなSurface Panelが追加されます.
ここでは,
topography(地形),color(色),mask(マスク),transparency(透明度)などの設定が行なえます.新規に地形を入力するためにNewというボタンを押します.下の画面のようなChange Attribute(属性の変更パネル)が表れます.
この画面は,入力する情報をファイルからか(
New Map),数値(New Constant)で入力するかを指定するものです(よく出てきます).なお,地形はファイルからだけではなく数値(標高1000mなど)でも入力することができます.New Mapのボタンを押すと,下のようなファイルを指定するためのMap Browser(マップブラウザ)の画面が表れます.
ここで,
MAPSETSとFILESを指定します.ここでは,MAPSETSとしてPERMANENTを,ファイルとしてelevation.dem(地形)を選択しました.マウスでそれぞれをクリックすると選択されたものが黄色に変わります.指定後に下のAcceptボタンを押します.Change Attributeの画面に戻るので,ここでも,Acceptボタンを押します.下のように,グラフィックス画面にワイヤーフレーム形式で地図が表示されます.
グラフィックス画面に表示された地形のワイヤーフレーム(クリックすると拡大します;8KB)
地形の色としては,GRASS側で設定していたカラーの定義が自動的にそのまま設定されます.設定された地形を表示するために,ムーブパネルの
Surfaceボタンを押します.下に色づけした地形の例を示します(上の画面とは投影位置が異なります).
色づけされた地形のモデル(クリックすると拡大します;128KB)
また,ここで直接に色を指定することも可能です.
Surface Panelのcolorボタンを押すと,ファイル名の入力と同様にChange Attributeの画面がでてきますので,そこで,New Constantボタンを押します.下のようなSelect Colorで色の選択を行ないます.
ここでは,下側の既存の色を指定する方法か,
R(赤色)G(緑色)B(青色)のバランスにより色を指定できます.選んだ色で表示した例を下に示します.
色を数値で変更した地形のモデル(クリックすると拡大します;121KB)
また,カラーでファイルを指定して,別のラスターレイヤーを貼り付けて表示することも可能です.下に人工衛星(Spot)の画像を貼り付けた例を示します.
他のラスターを貼り付けた地形のモデル(クリックすると拡大します;199KB)
複数のラスターレイヤーを重ね合せ表示することもできます.下にSurfaceを透明(
transparency(透明度)の設定)にし,もう1つ面(標高200m)を表した例を示します.
複数の表示と透明化した地形のモデルの例(クリックすると拡大します;53KB)
それらの設定は,
Currentの横に現在のファイル名が表示されている場所をクリックすると一覧が表示されますので,その中から目的のラスター選択して行ないます.Surface Panelを終了して,他の操作を行なうにはcloseボタンを押します.グラフィックス画面に表示される3次元モデルの設定はムーブメントパネルにより行ないます.四画の中にある丸(
●)を,ムーブメントノブと言います.これをマウスをクリックしながら移動させることにより回転したり,近づいたりします.また,下にある横のスクロールバー(perspective)をマウスで動かすと,近くから見たり,遠くから見たりできます.また,直接キーボードから数字で入力することもできます.視点の高さは,横にある縦のスクロールバー(height)でコントロールします.perspectiveと同様にマウスで操作し,数値で入力も可能です.鉛直(z軸)方向の拡大,縮小はzexag(z軸のexaggerationの意味)で行ないます.これも同様にマウスで操作します(数値入力も可).右側にある,
LOOKのボタンはグラフィック画面上でのモデルの位置を設定します.hereは,見たい位置を指定します.このボタンを押して,画像上で場所をマウスをクリックすると,そこが画面の中心になります.centerは,モデルの中心を画面の中心に合わせます.もとに戻す場合は,cancelです.Resetボタンを押すと立ち上がり時の初期設定に戻ります.また,画面全体を消したい場合は,Clearボタンを押します.
モデルへの照明(ライティング)の変更はメニューの
PanelからLightsを選択して行ないます.下に示したようなLighting Panelがムーブメントパネルの下に追加されます.
また,グラフィックス画面上には,現在の照明の状態を把握しやすくさせるための球が表示されます.点光源からの明るさは,
Brightnessで調整します.これはスクロールバーか,あるいは数字で設定します.また,点光源のみで照明すると,影の部分が暗くなりすぎるために,全体的に明るくするための機能として,Ambient(環境光)の設定が出来ます.光源の高さ
Heightはスクロールバーで設定でき,光源の位置は右下のムーブメントノブで変更できます.グラフィックス画面の球で光の当て方がわかるようになっています.光の色は単色光のみでなく,
Red・Green・Blueで多様に設定できます.下に,青色のみに近い光を当てた例を示します.
青色光で表示したモデル(中心の球は光のあたり方を表す)(クリックすると拡大します;118KB)
[ベクトル]
ベクトル地図の設定は,メニューの
PanelのVectorsを選択し,下に示したVector Panelで行ないます.
新規にベクトル地図を表示するには,
Newボタンを押します.Surface(ラスター)と同様の手順でマップブラウザからファイルを選択します.GRASSのベクトルはx,y座標で構成しているために,3次元表示するためには,どの面上の情報かを指定しなければなりません.右側の小さい四角の横にSurface名が表示されていますので,選択しボタンを押すと,上の図のように赤色に変わります.ベクトル情報は,ここで指定した地形上にあるものとして,3次元的に表されます.下にグラフィック表示例を示します.
表示例(地形に河川を重ね合せた例)(クリックすると拡大します;129KB)
ベクトルのみを表示した例(河川と道路(roads)(クリックすると拡大します;17KB)
表示例(地形に河川と道路を重ね合せた例)(クリックすると拡大します;130KB)
複数のベクトルや複数の地形上でのベクトル表示も可能です.それらの設定の変更も,Surfaceと同様です.設定後,ムーブメントパネルの
Vectorsボタンを押すとベクトルが表示されます.Surface(地形)と重ね合せる場合は,ムーブメントパネルのSurfaceボタンを押して,ベクトルボタンを押します.ベクトルの線の太さや色を変えることが出来ます.線の幅(
Line Width)は,矢印を押すことにより変えられます.色(Color)はSurfaceのカラー設定と同じパネルが出てきます.現在のベクトルのみを表示したい場合は,Draw Currentボタンを押します.また,このベクトル情報を削除したい場合はDeleteボタンを押します.[サイト]
サイトの設定は,メニューの
PanelのSitesを選択し,下に示したSite Panelで行ないます.
新規にサイトを表示するには,
Newボタンを押します.Surface(ラスター)と同様の手順でマップブラウザからサイトファイルを選択します.Surface上のサイト(ベクトルと同様)のほかに,3次元で位置を指定したサイトも扱えます.サイトを表示する場合はムーブパネルの上のSitesのボタンを押します.サイトの大きさはスクロールバー(あるいは数値)で指定します.色(Color)も選択できます.形は×(use ×),球(use sphere),ダイヤモンド(use diamond)から選択します.下にその表示例を示します.
サイトの表示例(ワイヤーフレーム上に表示した)(クリックすると拡大します;17KB)
サイトの表示例(Surface,Vector上に表示した例)(クリックすると拡大します;96KB)
[背景色]
背景色の変更は,メニューのパネルから
Colorを選択し,下に示すColor Panelで行ないます.
Backgroundボタンを押すと,カラー選択パネルが表示されるので,色を指定します.
Color Panelで背景を変えた例(クリックすると拡大します;95KB)
[断面図]
断面図を描くには
Panelの中のCutting Planesを選びます.
断面を切る面として
Plane0からPlane5までが設定できます.断面の設定は右側のRotate(回転角)とTilt(傾斜),断面の位置は四画の窓の中の十字線を移動させることにより設定します.この際,グラフィックス画面に動的に断面が表示されます.また,断面内を色で塗りつぶす場合は,どの色で塗りつぶすかをT(上面の色),B(下面の色)などの中から指定します.断面の作成例を下に示します.
断面の表示例(1)(クリックすると拡大します;80KB)
断面の表示例(2)(クリックすると拡大します;41KB)
[情報入手]
表示しているSurface上の情報を知ることが出来ます.メニューの
Panelから,What's Here?を選択します.下に示したWhat's Here Panelが表示されるので,グラフィック画面でマウスでクリックし,場所やそこでの値(この例では標高)などの情報を表示させます.
グラフィック画面に指定した点が表示されます.また,複数の点を指定して,その距離等を求めることも出来ます.その表示画面の例を下に示します.
グラフィック画面で2点間の距離を求めた例(クリックすると拡大します;110KB)
[アニメーション]
アニメーションなどの動画ファイルのためのフレーム画像を作成できます.メニューの
Panelから,AnimationやKeyframe Animation(Animationに比べて,高度な設定が行なえます)を選んで,各種設定を行ないます.下にAnimation Panelの例を示します.
動画のキーとなるフレーム画像を,ムーブメントパネル等で視点を変えるなどの操作を行ない,アニメーションの元になる画像を作成します.また,ここで
runボタンを押すことにより作成したアニメーションを簡単に見ることが出来ます.作成した画像群をImageMagic等のソフトを用いて,動画ファイルに変換します.下にmpeg形式で作成した例(Spearfishではありません)を示します(このファイルを見るためには,Media PlayerやReal Player等のmpegを表示できるソフトが必要です).
地形の上に地すべり分布を示したアニメーション(mpegファイル)の例(クリックすると拡大し,動きます;566KB)
ここで示したもの以外にも,画像をファイルとして保存することや,設定をファイル化することなど多くの機能があります.
GISをとりまく環境は日々変化しています.パソコンの高速化や記憶媒体の高密度化,高精度スキャナー・高品位カラープリンターの普及などハードウェア環境はすごい勢いで進んでいます.同様に,ソフトウェアも進化しています.さらに,国土地理院などから刊行される基盤データは,徐々に増加しつつあります.これらにより,GISは本当に机の上のシステムになりつつあると思います.本講座がすこしでもその手助けになれれば幸いです.
なお,本講座で用いたGRASSですが,実習で示したGRASS5.0(beta版)はバージョン11に,安定版であるGRASS4は4.3になっています(2001年2月末,現在).さらに,GRASS5.1のバージョンも予定されています.
3次元可視化ツールNviz
メニュー画面:ファイルの設定や各種パネルの指定
動作ボタン:ラスター,ベクトル,サイトの表示指定
ムーブメントパネル:地図の回転,視点,鉛直方向の拡大率などの表示設定等
各種機能
(以上,第12回講義)
第12回 実習のページへ 大阪市立大学広報ホームページ