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