Upload
takayuki-nuimura
View
580
Download
0
Embed Size (px)
Citation preview
はじめに データ 初期設定 基本 応用 GUI から CUI 補足資料
GRASS7入門
縫村崇行 1,2
(NUIMURA, Takayuki)
1 千葉科学大学
2OSGeo 財団日本支部
2015/10/09
1 / 60
はじめに データ 初期設定 基本 応用 GUI から CUI 補足資料
GRASSとは
強力な解析機能を持った、オープンソースのデスクトップ GIS
今年で 32歳!現在の最新版は 7.0.1-1強力な解析機能 (ラスタ、ベクタ、画像)オープンソース (GPL)
2 / 60
はじめに データ 初期設定 基本 応用 GUI から CUI 補足資料
GRASSの特徴
長所
非常に多くの解析機能を持つ
GUIでも CUIでも利用可能
トポロジーに厳密
短所
作図機能=⇒QGISや GMTがおすすめ
独自データ形式=⇒インポート/エクスポートが必要、QGISからは読める
3 / 60
はじめに データ 初期設定 基本 応用 GUI から CUI 補足資料
GRASSの基礎知識
基本はコマンドラインで行うプログラムだが、最近のバージョン (6.3以降)では GUIが洗練されてきた。
4 / 60
はじめに データ 初期設定 基本 応用 GUI から CUI 補足資料
GRASSモジュールの概念
画像表示モジュール (d.)=⇒いくつかは GUIに統合
データベースモジュール (db.)
一般モジュール (g.)=⇒いくつかは GUIに統合
画像処理モジュール (i.)
その他のモジュール (m.)
ポストスクリプトモジュール (ps.)
ラスター処理モジュール (r.)
ボクセル処理モジュール (r3.)
ベクター処理モジュール (v.)
時系列処理モジュール (t.)(new!)
5 / 60
はじめに データ 初期設定 基本 応用 GUI から CUI 補足資料
Landsat
Landsat ETM+の band3及び band4 (GeoTIFF形式)1
USGS EarthExplorer (http://earthexplorer.usgs.gov/)
EarthExplorer
1300 mグリッドにリサンプリングしてある6 / 60
はじめに データ 初期設定 基本 応用 GUI から CUI 補足資料
SRTM
CGIAR提供の SRTM3 DEM (GeoTIFF形式)1
CGIAR-CSI (http://srtm.csi.cgiar.org/)
CGIAR-CSI
1300 mグリッドにリサンプリングしてある7 / 60
はじめに データ 初期設定 基本 応用 GUI から CUI 補足資料
GRASSデータベースについて
(岩崎, 2012)
GRASSでは独自のデータ形式を使っているため、インポート/エクスポートが必要
8 / 60
はじめに データ 初期設定 基本 応用 GUI から CUI 補足資料
ロケーションとマップセット
ロケーション (座標系、範囲、解像度 (ラスター)を定義)
例えば
地理座標系 =⇒ gcs
UTM座標系ゾーン 45 =⇒ utm45
マップセット (作業する単位、ユーザーなど)
handson
user1
ロケーションには座標系がわかりやすい名前がおすすめ、マップセット名は適当で OK。
9 / 60
はじめに データ 初期設定 基本 応用 GUI から CUI 補足資料
ロケーションとマップセットの作成
初めて GRASSを起動するとき、GRASSデータの場所の指定を要求されます
10 / 60
はじめに データ 初期設定 基本 応用 GUI から CUI 補足資料
ロケーションとマップセットの作成
Cドライブの直下など、わかりやすい場所にgrassdataフォルダをあらかじめ作成しておいて選択します
11 / 60
はじめに データ 初期設定 基本 応用 GUI から CUI 補足資料
ロケーションとマップセットの作成
地理座標系のデータを扱う場合
1. Select GRASS Location=⇒New
2. ロケーション名を入力 (例. gcs)
3. 次へ
4. パラメータをリストから選択
5. 次へ
12 / 60
はじめに データ 初期設定 基本 応用 GUI から CUI 補足資料
ロケーションとマップセットの作成
1. latitudeと入力して説明文を検索
2. コード llを選択
3. 次へ
3. 楕円体に関連づけられたデータム
4. 次へ
13 / 60
はじめに データ 初期設定 基本 応用 GUI から CUI 補足資料
ロケーションとマップセットの作成
1. データムコードに wgs84と入力
2. 次へ
3. 1を選択
4. OK
14 / 60
はじめに データ 初期設定 基本 応用 GUI から CUI 補足資料
ロケーションとマップセットの作成
1. 完了
2. 新しい GISデータディレクトリで OK
解析対象地域&解像度を設定できるのだけど · · ·
⇓あとで説明する g.regionコマンドでの設定がおすすめなのでいいえ
15 / 60
はじめに データ 初期設定 基本 応用 GUI から CUI 補足資料
ロケーションとマップセットの作成
ちなみにはいを選ぶとこの画面で、解析範囲と解像度を手入力できます
マップセット名は=⇒handson
16 / 60
はじめに データ 初期設定 基本 応用 GUI から CUI 補足資料
ロケーションとマップセットの作成
このような元の画面にもどりますので、マップセット名を選択してから GRASSの起動をクリック
17 / 60
はじめに データ 初期設定 基本 応用 GUI から CUI 補足資料
GRASSの画面の説明
データのリスト表示解析機能へのアクセス
データの表示領域
18 / 60
はじめに データ 初期設定 基本 応用 GUI から CUI 補足資料
ロケーションとマップセットの作成
UTM座標系 (ゾーン 45)のデータを扱う場合
1. Select GRASS Location=⇒New
2. ロケーション名を入力 (例. utm45n)
3. 次へ
4. パラメータをリストから選択
5. 次へ
19 / 60
はじめに データ 初期設定 基本 応用 GUI から CUI 補足資料
ロケーションとマップセットの作成
1. UTMと入力して説明文を検索
2. コード utmを選択
3. 次へ
3. 楕円体に関連づけられたデータム
4. Projection Zone =⇒ 45
5. Southern Hemisphere =⇒いいえ6. 次へ
20 / 60
はじめに データ 初期設定 基本 応用 GUI から CUI 補足資料
ロケーションとマップセットの作成
1. データムコードに wgs84と入力
2. 次へ
3. 1を選択
4. OK
21 / 60
はじめに データ 初期設定 基本 応用 GUI から CUI 補足資料
ロケーションとマップセットの作成
=⇒完了をクリック
先ほど同様いいえを選択しhandsonマップセットを作成
22 / 60
はじめに データ 初期設定 基本 応用 GUI から CUI 補足資料
ロケーションとマップセットの作成
この画面にもどりますので、UTMのマップセット名を選択してから GRASSの起動をクリック
23 / 60
はじめに データ 初期設定 基本 応用 GUI から CUI 補足資料
ベクターデータのインポート
ファイル⇓
ベクトルデータのインポート⇓
一般的なインポート形式
※データインポートアイコンからも選択可能
24 / 60
はじめに データ 初期設定 基本 応用 GUI から CUI 補足資料
ベクターデータのインポート
1. 参照をクリック
2. 配布した handsonフォルダの中のkhumbu_himal_basin.shpデータを選択
3. インポート
25 / 60
はじめに データ 初期設定 基本 応用 GUI から CUI 補足資料
ベクターデータの表示
1. レイヤ名で選択したマップのズーム
2. 読み込んだベクターデータが右下図のように表示されます
26 / 60
はじめに データ 初期設定 基本 応用 GUI から CUI 補足資料
ベクターデータのエクスポート
ファイル⇓
ベクトルマップのエクスポート⇓
一般的なエキスポートフォーマット
27 / 60
はじめに データ 初期設定 基本 応用 GUI から CUI 補足資料
ベクターデータのエクスポート
1. Name of input vector map to exportに出力したいベクターデータを指定※のあとはマップセット名
2. Name of output OGR datasourceにファイルの出力先を指定(例.C:\handson\basin.shp)
3. 実行
28 / 60
はじめに データ 初期設定 基本 応用 GUI から CUI 補足資料
ラスターデータのインポート
ファイル⇓
ラスターデータのインポート⇓
Common formats import
※データインポートアイコンからも選択可能
29 / 60
はじめに データ 初期設定 基本 応用 GUI から CUI 補足資料
ラスターデータのインポート
1. 参照をクリック
2. 配布した handsonフォルダの中のsrtm_dem_300.tifデータを選択
3. インポート
30 / 60
はじめに データ 初期設定 基本 応用 GUI から CUI 補足資料
ラスターデータの表示
1. レイヤ名で選択したマップのズーム
2. 読み込んだラスターデータが右下図のように表示されます
31 / 60
はじめに データ 初期設定 基本 応用 GUI から CUI 補足資料
解析範囲の設定 (g.region)
マップセット作成の際に解析範囲を設定していないのでg.regionモジュールで設定
設定=⇒領域=⇒領域設定
32 / 60
はじめに データ 初期設定 基本 応用 GUI から CUI 補足資料
解析範囲の設定 (g.region)
1. Set region to match raster mapにsrtm_dem_300@handsonを選択
2. 実行
33 / 60
はじめに データ 初期設定 基本 応用 GUI から CUI 補足資料
ラスターデータのエクスポート
ファイル⇓
ラスターマップのエクスポート⇓
一般的なエキスポートフォーマット
34 / 60
はじめに データ 初期設定 基本 応用 GUI から CUI 補足資料
ラスターデータのエクスポート
1. エクスポートするラスターマップ名に出力したいラスターデータを指定※のあとはマップセット名
2. 出力ラスターファイル名にファイルの出力先を指定(例.C:\handson\dem.tif)
3. 実行
35 / 60
はじめに データ 初期設定 基本 応用 GUI から CUI 補足資料
データ表示の変更方法 (ベクター)
1. レイヤ名でプロパティ
2. 色タブを開く
3. エリアの塗りつぶし色から好きな色を選択
4. OK
36 / 60
はじめに データ 初期設定 基本 応用 GUI から CUI 補足資料
データ表示の変更方法 (ベクター)
ポリゴンデータの表示カラーが図のように変更されます
37 / 60
はじめに データ 初期設定 基本 応用 GUI から CUI 補足資料
データ表示の変更方法 (ラスター)
1. レイヤ名でカラーテーブルのセット
2. Defineタブを開く
3. Name of color tableで srtmを選択
4. 実行
38 / 60
はじめに データ 初期設定 基本 応用 GUI から CUI 補足資料
データ表示の変更方法 (ラスター)
DEMデータの表示カラーが図のように変更されます
※いくつか他のカラーテーブルも試してみましょう
39 / 60
はじめに データ 初期設定 基本 応用 GUI から CUI 補足資料
地形解析 (傾斜、方位)
ラスター⇓
地形解析⇓
傾斜と方位
40 / 60
はじめに データ 初期設定 基本 応用 GUI から CUI 補足資料
地形解析 (傾斜、方位)
Name of input elevation raster mapでsrtm_dem_300@handsonを選択
41 / 60
はじめに データ 初期設定 基本 応用 GUI から CUI 補足資料
地形解析 (傾斜、方位)
1. 出力タブを開く
2. 出力する傾斜ラスターマップ名を入力 (例. slope)
3. 出力する傾斜方位ラスターマップ名を入力 (例. aspect)
4. 実行
42 / 60
はじめに データ 初期設定 基本 応用 GUI から CUI 補足資料
地形解析 (傾斜、方位)
計算後、傾斜と傾斜方位が自動で読み込まれます
43 / 60
はじめに データ 初期設定 基本 応用 GUI から CUI 補足資料
バンド間演算
handsonフォルダにある landsat_band3_300.tif、landsat_band4_300.tifをインポート
44 / 60
はじめに データ 初期設定 基本 応用 GUI から CUI 補足資料
NDVIの計算
NDVI (正規化植生指数)
NDVI =(IR − R)
(IR + R)
IR: Infrared (赤外バンド)R:Red (赤色バンド)
Landsatの場合 (R⇒Band3、IR⇒Band4)
NDVI =(Band4 − Band3)
(Band4 + Band3)
IR: Band4R:Band3
45 / 60
はじめに データ 初期設定 基本 応用 GUI から CUI 補足資料
NDVIの計算
1. ラスタ=⇒ラスターマップカリキュレータ2. 出力する新しいラスター名を指定 (例. ndvi)3. 以下のコマンドを入力して実行
46 / 60
はじめに データ 初期設定 基本 応用 GUI から CUI 補足資料
NDVIの計算
NDVIが図のように表示されます
47 / 60
はじめに データ 初期設定 基本 応用 GUI から CUI 補足資料
モジュール検索
Search modulesタブの検索窓にキーワードを入力して探せます
⇓ためしにキーワードを入力してみましょう
slope
watershed
その他思いつく単語
48 / 60
はじめに データ 初期設定 基本 応用 GUI から CUI 補足資料
コマンドコンソール
GUIウィンドウにもコマンドを入力する画面はあります
⇓ためしに、今日使用したモジュール名を
入力してみましょう
v.in.ogr
g.region
r.out.gdal
49 / 60
はじめに データ 初期設定 基本 応用 GUI から CUI 補足資料
GUIツールからコマンドを学ぶ
ほとんどの GUIツールにはコピーボタンがあり、現在入力している処理のコマンド文字列を取得できます
上の場合は以下の文字列がコピーできますr.colors map=srtm_dem_300@handson color=srtm
50 / 60
はじめに データ 初期設定 基本 応用 GUI から CUI 補足資料
スクリプトの作成
そのようにコピーした一連の処理をスクリプトとして残しておけば解析を再現することができます以下のスクリプトは DEMを読み込み傾斜を求めてGeoTIFFとして出力する例です
r.in.gdal input=C:¥handson¥srtm_dem_300.tif output=srtm_dem_300
g.region rast=srtm_dem_300
r.slope.aspect elevation=srtm_dem_300 slope=slope
r.out.gdal input=slope output=C:¥handson¥slope.tif
51 / 60
はじめに データ 初期設定 基本 応用 GUI から CUI 補足資料
他のソフトとの連携 (QGISプロセッシング)
QGISのプロセッシング機能から GRASS GISのモジュールを呼び出し可能
外部プログラムとアルゴリズム数GDAL/OGR (45)
GRASS7 (148) *バグあり
GRASS6 (160)
R scripts (0) *オンライン入手可
QGIS本体のアルゴリズム数QGIS (103)
Models (0) *オンライン入手可
Scripts (0) *オンライン入手可
52 / 60
はじめに データ 初期設定 基本 応用 GUI から CUI 補足資料
プロセッシングの有効化
メニューから「プロセッシング」⇒「オプション」を選択
53 / 60
はじめに データ 初期設定 基本 応用 GUI から CUI 補足資料
プロセッシングの有効化
「プロバイダ」⇒「GRASSコマンド」を開く
54 / 60
はじめに データ 初期設定 基本 応用 GUI から CUI 補足資料
プロセッシングの有効化
1. 「Activate」にチェックし、「GRASSフォルダ」にGRASSの実行ファイルのパスが設定されて無ければ入力
2. 「Msysフォルダ」にMsysの実行ファイルのパスが設定されて無ければ入力
3. いずれも省略形のパスだとエラーが出るので省略せずに指定
55 / 60
はじめに データ 初期設定 基本 応用 GUI から CUI 補足資料
GRASSアルゴリズムの実行 (ggplot scatterplot)
1. プロセッシングメニューより「v.buffer.distance」を実行
56 / 60
はじめに データ 初期設定 基本 応用 GUI から CUI 補足資料
GRASSアルゴリズムの実行 (ggplot scatterplot)
57 / 60
はじめに データ 初期設定 基本 応用 GUI から CUI 補足資料
他のソフトとの連携 (R言語)
GRASSの処理と、より高度な空間統計解析や統計処理、図の作成を組み合わせたい場合は、統計解析言語 Rの GRASS連携ライブラリ spgrass6などもあります。
58 / 60
はじめに データ 初期設定 基本 応用 GUI から CUI 補足資料
GRASS7の大きな機能追加
GRASS7では新たに時系列モジュール (t.)が追加されており、気候データなどの時系列情報を含む GISデータの処理や可視化ができるようになっています。時系列モジュールについて、FOSS4GTokyoで紹介します。
59 / 60
参考文献 I
岩崎,亘典 (2012). GRASSを用いた衛星・GISデータ処理の基礎. FOSS4G2012Tokyo,東京.