GRASSセミナー 応用編
Geographical Resources Analysis Support System


             2010年10月1日
目次

本セミナーでは、以下の6つのケースを通じてGRASSの
持つ解析機能を見ていきます。

1.   LANDSATのデータをカラーで眺めてみる
2.   カラー画像の解像度を高め、鮮明な映像を取得する
3.   紅葉狩りにドライブで行ける場所を探す
4.   データに画像処理を施す
5.   ランダムな標高点を曲面で補間する
6.   開発の進んだエリアを抽出する
ケース1

• LANDSATのデータをカラーで眺めてみる




     lsat7_2002_* は、d.rastコマンドで見ると白黒の画像…
LANDSATの観測波長帯

    物質の反射スペクトル           ETM+のセンサ緒元

                 バンド       波長(μm)      分解能
                                        (m)
                 Band1    0.45 ~0.52    30
                 Band2    0.53 ~0.61    30
                 Band3    0.63 ~0.69    30
                 Band4    0.75 ~0.90    30
                 Band5    1.55 ~1.75    30
                 Band6    10.4 ~12.5    60
                 Band7    2.09 ~2.35    30
                 Band8    0.52 ~0.90    15
                 (Pan)



8
RGBによる合成




• d.rgbコマンドでR,G,Bに対応するラスタ画像を指定
      • d.rgb red=lsat7_2002_30 green=lsat7_2002_20 blue=lsat7_2002_10
さまざまな合成手法




トゥルーカラー       フォルスカラー    ナチュラルカラー
R: band3      R: band4   R: band3
G: band2      G: band3   G: band4
B: band1      B: band2   B: band2
ケース2




• カラー画像の解像度を高め、鮮明な映像を取得する
色の仕組み

• RGB系とHIS系の変換

  RGB系   I = max[R, G, B]                           HIS系
         S = (I – t) / I  : t = min[R, G, B]
         H = (b – g)π / 3 : b = (I – B) / (I – t)
                            g = (I – G) / (I – t)
                            (ただし、R=Iのとき)




         H’ = 3H / π
         h = floor(H’)
         P = I(1 – S)
         Q = I{1 – S(H’ – h)}
         T = I{1 – S(1 – H’ + h)} とすると
         h = 0 のとき R = I, G = T, B = P
パン・シャープン合成の原理


R                H                R’

G                S                G’

B    i.rgb.his   I    i.his.rgb   B’

                 I’
実行結果




トゥルーカラー画像          パンシャープン合成画像
ケース3

• 紅葉狩りにドライブで行ける場所を探す
 – 植生地域で
 – 特定の標高以上で
 – 道路から徒歩圏内にあるところ
植生地域の算出

• NDVI (Normalized Difference Vegetation Index)
  – 正規化植生指標
  – 植生の分布状況や活性度を示す指標
  – NDVI = (IR-R)/(IR+R)
     • IR: 近赤外バンドの反射率
     • R: 可視赤バンドの反射率
     • 1に近いほど植生が濃いことを示す
バンド間演算

• r.mapcalc
  – 複数のラスタデータ間での演算が可能
NDVIに基づく植生の分布状況




  算出したNDVIにカラーテーブルを割り当てて表示
特定標高以上のエリア




マップカリキュレータの if() 関数を用いて、標高120m
以上のエリアを抽出
道路から徒歩圏内のエリア




 v.buffer コマンドを使って、幹線から2km以内のエリアを抽出
すべての条件を満たすエリア
ケース4

• データに画像処理を施す
• 以下の手法で鮮鋭化/平滑化する
 – 空間領域での処理
  • r.mapcalc
  • 行列フィルタ
 – 周波数領域での処理
  • フーリエ変換
空間領域での処理

• ラプラシアンフィルタ
 – 変化の急激な部分を強調 ⇒ 鮮鋭化
 – f(i,j) - ∇2 f(i,j)
 – ∇2 f(i,j)を離散近似すると以下のように求められる
                                      f(i,j)



                                  ∇2 f(i,j)



• 平均化フィルタ
 – 画素値を均質化 ⇒ 平滑化
 – 離散値の場合、近傍マトリックスの平均を取ることで求められる
r.mapcalc

• 相対座標を用いた演算方法
r.mapcalcの実行結果
8近傍を用いて計算を実行




       鮮鋭化        平滑化
行列フィルタ

• ラプラシアンフィルタ
  TITLE 3x3 High pass
  MATRIX 3
  -1 -1 -1               (- a[-1,-1] - a[-1, 0] - a[-1, 1]
  -1 8 -1                 - a[ 0,-1] +8a[ 0, 0] - a[ 0, 1]
  -1 -1 -1                - a[ 1,-1] - a[ 1, 0] - a[ 1, 1] ) / 9
  DIVISOR 9
  TYPE P



• 平均化フィルタ
  TITLE 3x3 Low pass
  MATRIX 3
  1 1 1                  (     a[-1,-1] + a[-1, 0] + a[-1, 1]
  1 1 1                      + a[ 0,-1] + a[ 0, 0] + a[ 0, 1]
  1 1 1                      + a[ 1,-1] + a[ 1, 0] + a[ 1, 1] ) / 9
  DIVISOR 9
  TYPE P
行列フィルタの実行結果
5×5の行列フィルタを用いて計算を実行




       鮮鋭化            平滑化
フーリエ変換

• ハイパスフィルタ
 – 高周波成分のみを抽出する ⇒ 鮮鋭化
• ローパスフィルタ
 – 低周波成分のみを抽出する ⇒ 平滑化




                        フィルタリング


    ?
フーリエ変換の実行結果




鮮鋭化     平滑化
ケース5

• ランダムな標高点を曲面で補間する
 – ボロノイ多角形
   • ボロノイ多角形で定義される不連続な値を各グリッドに割り当てる
   • v.voronoi コマンドを使用
 – IDW(逆距離加重平均)
   • 近接するn個の点の加重平均をもとに各グリッドの値を算出する
   • v.surf.idw コマンドを使用
 – RST(スプライン補間)
   • 張力を伴った多項式の曲面から各グリッドの値を算出する
   • v.surf.rst コマンドを使用
実行結果(1)
                   オリジナルデータ   ボロノイ図形




elevation上にランダムに
発生させた100個の標高
点をもとに空間補間を行う




                      IDW        RST
実行結果(2)
                  オリジナルデータ   ボロノイ図形




点の密度を変えて再度空間
補間を実行。
• 領域を縮小
• ポイントを1000点に増加




                     IDW        RST
ケース6

• 開発の進んだエリアを抽出する
 – 1987年と2002年のLandsatデータをもとに土地
   利用分類図を作成し、市街地のエリアがどの程
   度拡大しているのかを調べる
土地利用分類

• 教師なし分類
 – 統計学的手法に基づき、対象データ全体を類似
   したデータ群に分割し、その集団がどのようなカ
   テゴリーに該当するか調べる分類方法
• 教師付き分類
 – 既に分類項目(市街地、水域、耕作地、森林等)
   がわかっている領域をトレーニングエリアとして、
   他の画素がどの領域にもっとも近いかを判断して
   区分する方法
教師なし分類の手順
1. 解析に用いる画像をグループとして登録
 – i.group group=lsat7_2002 subgroup=lsat7_2002
   input=lsat7_2002_10,lsat7_2002_20,lsat7_2002_30,lsat7_2002_40,lsat
   7_2002_50,lsat7_2002_70


2. クラスタリングの実行
 – i.cluster group=lsat7_2002 subgroup=lsat7_2002 sigfile=clst2002
   classes=4 reportfile=rep_clst2002.txt


3. 最尤法による分類
 – i.maxlik group=lsat7_2002 subgroup=lsat7_2002 sigfile=clst2002
   class=lsat2002_maxlik reject=lsat2002_maxlik_rej
教師なし分類の実行結果
教師付き分類の手順
1. トレーニングエリアの選定

2. トレーニングエリアを利用したクラスタリングの実行
 – i.gensig trainingmap=supArea group=lsat7_2002 subgroup=lsat7_2002
   signaturefile=signature


3. 最尤法による分類
 – i.maxlik group=lsat7_2002 subgroup=lsat7_2002 sigfile=signature
   class=lsat2002_suparea reject=lsat2002_suparea_rej
トレーニングエリアの選定




QGIS上で、分類項目(市街地、水域、耕作地、森林等)に応じた
クラス値を持ったポリゴンを作成する。
教師付き分類の実行結果
開発エリアの抽出

1987年




2002年
Fin

GRASSセミナー応用編