とらりもんHOME  Index  Search  Changes  Login

画像ファイルへの出力

2012/02/06 筑波大学 田中健太郎

はじめに

これまで様々な解析を行ってきたが, 解析の結果得られたデータは, 人に見せるためのデータではない. 解析データを学会や論文, 研究室ゼミで使用したり, データを人へと渡す場合, 適切な形にデータを加工しなければならない. そこで本章では, 解析結果の加工に焦点を当てて, 演習を行う.

使用データ

高分解能衛星Landsat: 植生指標NDVI, 温度画像で作成したNDVI画像を使用する.

前回のデータをそのまま利用する場合, GRASSを起動し,

$ grass

下記を選択する.

LOCATION:   UTM54
MAPSET:     PERMANENT

画像ファイルフォーマット

人にデータを渡す場合, データのフォーマットを考えなくてはならない. GRASSのMAPSETに保存されているデータは, GRASS独自のデータフォーマットである (圧縮されている). GRASSのデータをそのまま渡すのは, 非常に好ましくない. そのためGRASS独自のデータフォーマットから, 他のフォーマットへ変換を行う必要がある.

どのデータフォーマットに変換すべきかは, データを読み込む環境にもよるので, 相手先に確認することが望ましい.

一般的なデータフォーマットとその変換方法を示す.

ラスターデータ

GEOTIFF形式 (r.out.gdal in=ラスターデータ名 out=出力するファイル名 format=GTiff nodata=NULL値に代入する値 ) 
※r.out.gdal は, 他にも多くのデータフォーマットに対応している.
Binary形式  (r.out.bin -b in=ラスターデータ名 out=出力するファイル名 null=NULL値に代入する値)
※バイナリー形式では, .hdr, .wld にヘッダ情報が記述されている.

ベクターデータ

ESRI_Shape形式 (v.out.ogr in=ベクターデータ名 dsn=出力するファイル名(or ディレクトリ名) format=ESRI_Shapefile  type=データタイプ(line,boundaryなど)  )
課題 GRASSのMAPSET内のNDVI画像を, GEOTIFF形式およびBinary形式のデータへと変換せよ.

スライドや論文用画像データの作成

スライドや論文に掲載する画像データを作成する場合, まず次の点に注意する.

  • 画像の色合いは適切か?
  • 空間スケールの情報があるか? (位置情報や縮尺などの情報)
  • 物理量を載せる場合, カラースケールの情報があるか?

これらがしっかりしていない画像データは, はっきり言って見づらい. また場合によっては, 誤解が生じ, 正しく伝わらない可能性がある.

上記の情報を含んだ画像データを作成する手段として,

  • GRASS上で加工
  • GMTで加工
  • その他の画像処理ソフトで加工

が挙げられる. GMTは, GISデータを綺麗に表示することで定評があるソフトフェアである. しかし本章では, 扱わない (ネット上には, 非常に多くのGMTマニュアルが存在しているので, そちらを参考に). 本章では, GRASSを用いたデータ加工方法を紹介する.

<投影法がUTMの場合>

  • 空間スケールの表示には, d.barscaleを用いる.
g.region rast=NDVI
d.mon x0
d.rast NDVI 
d.barscale -m    #オプション "-m" は, 空間スケールの表示場所をマウスで指定できる.

※grass7.0.3では-mが無くなっている模様。位置を指定したい時は"at=x,y"のように入力する。(追記:2018/02/12 菊島)


image1.png
図1 d.barscaleの表示例
  • 画像の色合いの調節は, r.colorを用いる. ※既に馴染みのあるコマンドであるため, 詳細は割愛.
r.colors NDVI color=ndvi  #今回は, GRASSで用意されているカラータイプndviを用いる.

  • カラースケール情報の表示には, d.legendを用いる.
d.legend NDVI range=0,1 

以上で必要な情報は揃った. しかし上記コマンドをそのまま実行し, 表示してみると困ったことにデータがすべて重なっていることがわかる. これでは, 何のことか分からない. (図 2)

image2.png
図2 各データが重なった状態の図

そこで各情報を適切な場所に配置し, 表示することを可能にするd.frameを用いる. d.frameは, 一つのモニタ内に複数のモニタを設置し, 複数のデータを同時に表示可能にするコマンドである.

つまりNDVI画像, 空間スケール情報, カラースケール情報の表示領域を区別し, すべてを1つのモニタで表示できる.(図3)

使用例)

d.monsize   setmonitor=x0   setwidth=1200  setheight=650     #モニタのサイズを固定する.
g.region n=4016875.5 s=3971218.5 w=355908 e=432345 nsres=28.5 ewres=28.5  #教材の表示範囲である.
d.frame -e                                                   #frameの設定をリセットする.
d.frame bg at=0,100,0,100                                    #frame名 "bg" を作成する.
d.frame ndvi at=15,98,10,85                                  #frame名 "ndvi" を作成する.
d.frame color at=15,60,86,99                                 #frame名 "color" を作成する.
d.frame -s ndvi                                              #frame名"ndvi" を選択.
d.rast NDVI
d.barscale  at=15,97                           # 投影法がlat-lonの場合は, 代わりにd.gridやd.rhumbline, d.text.freetypeを用いる.
d.frame -s color                                             #frame名"color" を選択.
d.legend NDVI range=0,1 at=5,95,5,40 

※grass7.0.3ではd.monsize,d.frameコマンドが無くなっている模様。(追記:2018/02/12 菊島)

image3.png
図3 d.frameを用いたデータの表示例

モニタ上に表示したデータは,d.out.png を用いてPNG形式の画像として出力できる.

d.out.png NDVI

※現在はd.out.file (2018/10/18 菊島)

Last modified:2018/10/18 17:08:12
Keyword(s):
References:[GIS入門]