151009 foss4 g_tokyo_grass7_handson_presentation

60
はじめに データ 初期設定 基本 応用 GUI から CUI 補足資料 GRASS7 入門 縫村崇行 1,2 (NUIMURA, Takayuki) 1 千葉科学大学 2 OSGeo 財団日本支部 2015/10/09 1/60

Upload: takayuki-nuimura

Post on 15-Apr-2017

581 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: 151009 foss4 g_tokyo_grass7_handson_presentation

はじめに データ 初期設定 基本 応用 GUI から CUI 補足資料

GRASS7入門

縫村崇行 1,2

(NUIMURA, Takayuki)

1 千葉科学大学

2OSGeo 財団日本支部

2015/10/09

1 / 60

Page 2: 151009 foss4 g_tokyo_grass7_handson_presentation

はじめに データ 初期設定 基本 応用 GUI から CUI 補足資料

GRASSとは

強力な解析機能を持った、オープンソースのデスクトップ GIS

今年で 32歳!現在の最新版は 7.0.1-1強力な解析機能 (ラスタ、ベクタ、画像)オープンソース (GPL)

2 / 60

Page 3: 151009 foss4 g_tokyo_grass7_handson_presentation

はじめに データ 初期設定 基本 応用 GUI から CUI 補足資料

GRASSの特徴

長所

非常に多くの解析機能を持つ

GUIでも CUIでも利用可能

トポロジーに厳密

短所

作図機能=⇒QGISや GMTがおすすめ

独自データ形式=⇒インポート/エクスポートが必要、QGISからは読める

3 / 60

Page 4: 151009 foss4 g_tokyo_grass7_handson_presentation

はじめに データ 初期設定 基本 応用 GUI から CUI 補足資料

GRASSの基礎知識

基本はコマンドラインで行うプログラムだが、最近のバージョン (6.3以降)では GUIが洗練されてきた。

4 / 60

Page 5: 151009 foss4 g_tokyo_grass7_handson_presentation

はじめに データ 初期設定 基本 応用 GUI から CUI 補足資料

GRASSモジュールの概念

画像表示モジュール (d.)=⇒いくつかは GUIに統合

データベースモジュール (db.)

一般モジュール (g.)=⇒いくつかは GUIに統合

画像処理モジュール (i.)

その他のモジュール (m.)

ポストスクリプトモジュール (ps.)

ラスター処理モジュール (r.)

ボクセル処理モジュール (r3.)

ベクター処理モジュール (v.)

時系列処理モジュール (t.)(new!)

5 / 60

Page 6: 151009 foss4 g_tokyo_grass7_handson_presentation

はじめに データ 初期設定 基本 応用 GUI から CUI 補足資料

Landsat

Landsat ETM+の band3及び band4 (GeoTIFF形式)1

USGS EarthExplorer (http://earthexplorer.usgs.gov/)

EarthExplorer

1300 mグリッドにリサンプリングしてある6 / 60

Page 7: 151009 foss4 g_tokyo_grass7_handson_presentation

はじめに データ 初期設定 基本 応用 GUI から CUI 補足資料

SRTM

CGIAR提供の SRTM3 DEM (GeoTIFF形式)1

CGIAR-CSI (http://srtm.csi.cgiar.org/)

CGIAR-CSI

1300 mグリッドにリサンプリングしてある7 / 60

Page 8: 151009 foss4 g_tokyo_grass7_handson_presentation

はじめに データ 初期設定 基本 応用 GUI から CUI 補足資料

GRASSデータベースについて

(岩崎, 2012)

GRASSでは独自のデータ形式を使っているため、インポート/エクスポートが必要

8 / 60

Page 9: 151009 foss4 g_tokyo_grass7_handson_presentation

はじめに データ 初期設定 基本 応用 GUI から CUI 補足資料

ロケーションとマップセット

ロケーション (座標系、範囲、解像度 (ラスター)を定義)

例えば

地理座標系 =⇒ gcs

UTM座標系ゾーン 45 =⇒ utm45

マップセット (作業する単位、ユーザーなど)

handson

user1

ロケーションには座標系がわかりやすい名前がおすすめ、マップセット名は適当で OK。

9 / 60

Page 10: 151009 foss4 g_tokyo_grass7_handson_presentation

はじめに データ 初期設定 基本 応用 GUI から CUI 補足資料

ロケーションとマップセットの作成

初めて GRASSを起動するとき、GRASSデータの場所の指定を要求されます

10 / 60

Page 11: 151009 foss4 g_tokyo_grass7_handson_presentation

はじめに データ 初期設定 基本 応用 GUI から CUI 補足資料

ロケーションとマップセットの作成

Cドライブの直下など、わかりやすい場所にgrassdataフォルダをあらかじめ作成しておいて選択します

11 / 60

Page 12: 151009 foss4 g_tokyo_grass7_handson_presentation

はじめに データ 初期設定 基本 応用 GUI から CUI 補足資料

ロケーションとマップセットの作成

地理座標系のデータを扱う場合

1. Select GRASS Location=⇒New

2. ロケーション名を入力 (例. gcs)

3. 次へ

4. パラメータをリストから選択

5. 次へ

12 / 60

Page 13: 151009 foss4 g_tokyo_grass7_handson_presentation

はじめに データ 初期設定 基本 応用 GUI から CUI 補足資料

ロケーションとマップセットの作成

1. latitudeと入力して説明文を検索

2. コード llを選択

3. 次へ

3. 楕円体に関連づけられたデータム

4. 次へ

13 / 60

Page 14: 151009 foss4 g_tokyo_grass7_handson_presentation

はじめに データ 初期設定 基本 応用 GUI から CUI 補足資料

ロケーションとマップセットの作成

1. データムコードに wgs84と入力

2. 次へ

3. 1を選択

4. OK

14 / 60

Page 15: 151009 foss4 g_tokyo_grass7_handson_presentation

はじめに データ 初期設定 基本 応用 GUI から CUI 補足資料

ロケーションとマップセットの作成

1. 完了

2. 新しい GISデータディレクトリで OK

解析対象地域&解像度を設定できるのだけど · · ·

⇓あとで説明する g.regionコマンドでの設定がおすすめなのでいいえ

15 / 60

Page 16: 151009 foss4 g_tokyo_grass7_handson_presentation

はじめに データ 初期設定 基本 応用 GUI から CUI 補足資料

ロケーションとマップセットの作成

ちなみにはいを選ぶとこの画面で、解析範囲と解像度を手入力できます

マップセット名は=⇒handson

16 / 60

Page 17: 151009 foss4 g_tokyo_grass7_handson_presentation

はじめに データ 初期設定 基本 応用 GUI から CUI 補足資料

ロケーションとマップセットの作成

このような元の画面にもどりますので、マップセット名を選択してから GRASSの起動をクリック

17 / 60

Page 18: 151009 foss4 g_tokyo_grass7_handson_presentation

はじめに データ 初期設定 基本 応用 GUI から CUI 補足資料

GRASSの画面の説明

データのリスト表示解析機能へのアクセス

データの表示領域

18 / 60

Page 19: 151009 foss4 g_tokyo_grass7_handson_presentation

はじめに データ 初期設定 基本 応用 GUI から CUI 補足資料

ロケーションとマップセットの作成

UTM座標系 (ゾーン 45)のデータを扱う場合

1. Select GRASS Location=⇒New

2. ロケーション名を入力 (例. utm45n)

3. 次へ

4. パラメータをリストから選択

5. 次へ

19 / 60

Page 20: 151009 foss4 g_tokyo_grass7_handson_presentation

はじめに データ 初期設定 基本 応用 GUI から CUI 補足資料

ロケーションとマップセットの作成

1. UTMと入力して説明文を検索

2. コード utmを選択

3. 次へ

3. 楕円体に関連づけられたデータム

4. Projection Zone =⇒ 45

5. Southern Hemisphere =⇒いいえ6. 次へ

20 / 60

Page 21: 151009 foss4 g_tokyo_grass7_handson_presentation

はじめに データ 初期設定 基本 応用 GUI から CUI 補足資料

ロケーションとマップセットの作成

1. データムコードに wgs84と入力

2. 次へ

3. 1を選択

4. OK

21 / 60

Page 22: 151009 foss4 g_tokyo_grass7_handson_presentation

はじめに データ 初期設定 基本 応用 GUI から CUI 補足資料

ロケーションとマップセットの作成

=⇒完了をクリック

先ほど同様いいえを選択しhandsonマップセットを作成

22 / 60

Page 23: 151009 foss4 g_tokyo_grass7_handson_presentation

はじめに データ 初期設定 基本 応用 GUI から CUI 補足資料

ロケーションとマップセットの作成

この画面にもどりますので、UTMのマップセット名を選択してから GRASSの起動をクリック

23 / 60

Page 24: 151009 foss4 g_tokyo_grass7_handson_presentation

はじめに データ 初期設定 基本 応用 GUI から CUI 補足資料

ベクターデータのインポート

ファイル⇓

ベクトルデータのインポート⇓

一般的なインポート形式

※データインポートアイコンからも選択可能

24 / 60

Page 25: 151009 foss4 g_tokyo_grass7_handson_presentation

はじめに データ 初期設定 基本 応用 GUI から CUI 補足資料

ベクターデータのインポート

1. 参照をクリック

2. 配布した handsonフォルダの中のkhumbu_himal_basin.shpデータを選択

3. インポート

25 / 60

Page 26: 151009 foss4 g_tokyo_grass7_handson_presentation

はじめに データ 初期設定 基本 応用 GUI から CUI 補足資料

ベクターデータの表示

1. レイヤ名で選択したマップのズーム

2. 読み込んだベクターデータが右下図のように表示されます

26 / 60

Page 27: 151009 foss4 g_tokyo_grass7_handson_presentation

はじめに データ 初期設定 基本 応用 GUI から CUI 補足資料

ベクターデータのエクスポート

ファイル⇓

ベクトルマップのエクスポート⇓

一般的なエキスポートフォーマット

27 / 60

Page 28: 151009 foss4 g_tokyo_grass7_handson_presentation

はじめに データ 初期設定 基本 応用 GUI から CUI 補足資料

ベクターデータのエクスポート

1. Name of input vector map to exportに出力したいベクターデータを指定※のあとはマップセット名

2. Name of output OGR datasourceにファイルの出力先を指定(例.C:\handson\basin.shp)

3. 実行

28 / 60

Page 29: 151009 foss4 g_tokyo_grass7_handson_presentation

はじめに データ 初期設定 基本 応用 GUI から CUI 補足資料

ラスターデータのインポート

ファイル⇓

ラスターデータのインポート⇓

Common formats import

※データインポートアイコンからも選択可能

29 / 60

Page 30: 151009 foss4 g_tokyo_grass7_handson_presentation

はじめに データ 初期設定 基本 応用 GUI から CUI 補足資料

ラスターデータのインポート

1. 参照をクリック

2. 配布した handsonフォルダの中のsrtm_dem_300.tifデータを選択

3. インポート

30 / 60

Page 31: 151009 foss4 g_tokyo_grass7_handson_presentation

はじめに データ 初期設定 基本 応用 GUI から CUI 補足資料

ラスターデータの表示

1. レイヤ名で選択したマップのズーム

2. 読み込んだラスターデータが右下図のように表示されます

31 / 60

Page 32: 151009 foss4 g_tokyo_grass7_handson_presentation

はじめに データ 初期設定 基本 応用 GUI から CUI 補足資料

解析範囲の設定 (g.region)

マップセット作成の際に解析範囲を設定していないのでg.regionモジュールで設定

設定=⇒領域=⇒領域設定

32 / 60

Page 33: 151009 foss4 g_tokyo_grass7_handson_presentation

はじめに データ 初期設定 基本 応用 GUI から CUI 補足資料

解析範囲の設定 (g.region)

1. Set region to match raster mapにsrtm_dem_300@handsonを選択

2. 実行

33 / 60

Page 34: 151009 foss4 g_tokyo_grass7_handson_presentation

はじめに データ 初期設定 基本 応用 GUI から CUI 補足資料

ラスターデータのエクスポート

ファイル⇓

ラスターマップのエクスポート⇓

一般的なエキスポートフォーマット

34 / 60

Page 35: 151009 foss4 g_tokyo_grass7_handson_presentation

はじめに データ 初期設定 基本 応用 GUI から CUI 補足資料

ラスターデータのエクスポート

1. エクスポートするラスターマップ名に出力したいラスターデータを指定※のあとはマップセット名

2. 出力ラスターファイル名にファイルの出力先を指定(例.C:\handson\dem.tif)

3. 実行

35 / 60

Page 36: 151009 foss4 g_tokyo_grass7_handson_presentation

はじめに データ 初期設定 基本 応用 GUI から CUI 補足資料

データ表示の変更方法 (ベクター)

1. レイヤ名でプロパティ

2. 色タブを開く

3. エリアの塗りつぶし色から好きな色を選択

4. OK

36 / 60

Page 37: 151009 foss4 g_tokyo_grass7_handson_presentation

はじめに データ 初期設定 基本 応用 GUI から CUI 補足資料

データ表示の変更方法 (ベクター)

ポリゴンデータの表示カラーが図のように変更されます

37 / 60

Page 38: 151009 foss4 g_tokyo_grass7_handson_presentation

はじめに データ 初期設定 基本 応用 GUI から CUI 補足資料

データ表示の変更方法 (ラスター)

1. レイヤ名でカラーテーブルのセット

2. Defineタブを開く

3. Name of color tableで srtmを選択

4. 実行

38 / 60

Page 39: 151009 foss4 g_tokyo_grass7_handson_presentation

はじめに データ 初期設定 基本 応用 GUI から CUI 補足資料

データ表示の変更方法 (ラスター)

DEMデータの表示カラーが図のように変更されます

※いくつか他のカラーテーブルも試してみましょう

39 / 60

Page 40: 151009 foss4 g_tokyo_grass7_handson_presentation

はじめに データ 初期設定 基本 応用 GUI から CUI 補足資料

地形解析 (傾斜、方位)

ラスター⇓

地形解析⇓

傾斜と方位

40 / 60

Page 41: 151009 foss4 g_tokyo_grass7_handson_presentation

はじめに データ 初期設定 基本 応用 GUI から CUI 補足資料

地形解析 (傾斜、方位)

Name of input elevation raster mapでsrtm_dem_300@handsonを選択

41 / 60

Page 42: 151009 foss4 g_tokyo_grass7_handson_presentation

はじめに データ 初期設定 基本 応用 GUI から CUI 補足資料

地形解析 (傾斜、方位)

1. 出力タブを開く

2. 出力する傾斜ラスターマップ名を入力 (例. slope)

3. 出力する傾斜方位ラスターマップ名を入力 (例. aspect)

4. 実行

42 / 60

Page 43: 151009 foss4 g_tokyo_grass7_handson_presentation

はじめに データ 初期設定 基本 応用 GUI から CUI 補足資料

地形解析 (傾斜、方位)

計算後、傾斜と傾斜方位が自動で読み込まれます

43 / 60

Page 44: 151009 foss4 g_tokyo_grass7_handson_presentation

はじめに データ 初期設定 基本 応用 GUI から CUI 補足資料

バンド間演算

handsonフォルダにある landsat_band3_300.tif、landsat_band4_300.tifをインポート

44 / 60

Page 45: 151009 foss4 g_tokyo_grass7_handson_presentation

はじめに データ 初期設定 基本 応用 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

Page 46: 151009 foss4 g_tokyo_grass7_handson_presentation

はじめに データ 初期設定 基本 応用 GUI から CUI 補足資料

NDVIの計算

1. ラスタ=⇒ラスターマップカリキュレータ2. 出力する新しいラスター名を指定 (例. ndvi)3. 以下のコマンドを入力して実行

46 / 60

Page 47: 151009 foss4 g_tokyo_grass7_handson_presentation

はじめに データ 初期設定 基本 応用 GUI から CUI 補足資料

NDVIの計算

NDVIが図のように表示されます

47 / 60

Page 48: 151009 foss4 g_tokyo_grass7_handson_presentation

はじめに データ 初期設定 基本 応用 GUI から CUI 補足資料

モジュール検索

Search modulesタブの検索窓にキーワードを入力して探せます

⇓ためしにキーワードを入力してみましょう

slope

watershed

その他思いつく単語

48 / 60

Page 49: 151009 foss4 g_tokyo_grass7_handson_presentation

はじめに データ 初期設定 基本 応用 GUI から CUI 補足資料

コマンドコンソール

GUIウィンドウにもコマンドを入力する画面はあります

⇓ためしに、今日使用したモジュール名を

入力してみましょう

v.in.ogr

g.region

r.out.gdal

49 / 60

Page 50: 151009 foss4 g_tokyo_grass7_handson_presentation

はじめに データ 初期設定 基本 応用 GUI から CUI 補足資料

GUIツールからコマンドを学ぶ

ほとんどの GUIツールにはコピーボタンがあり、現在入力している処理のコマンド文字列を取得できます

上の場合は以下の文字列がコピーできますr.colors map=srtm_dem_300@handson color=srtm

50 / 60

Page 51: 151009 foss4 g_tokyo_grass7_handson_presentation

はじめに データ 初期設定 基本 応用 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

Page 52: 151009 foss4 g_tokyo_grass7_handson_presentation

はじめに データ 初期設定 基本 応用 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

Page 53: 151009 foss4 g_tokyo_grass7_handson_presentation

はじめに データ 初期設定 基本 応用 GUI から CUI 補足資料

プロセッシングの有効化

メニューから「プロセッシング」⇒「オプション」を選択

53 / 60

Page 54: 151009 foss4 g_tokyo_grass7_handson_presentation

はじめに データ 初期設定 基本 応用 GUI から CUI 補足資料

プロセッシングの有効化

「プロバイダ」⇒「GRASSコマンド」を開く

54 / 60

Page 55: 151009 foss4 g_tokyo_grass7_handson_presentation

はじめに データ 初期設定 基本 応用 GUI から CUI 補足資料

プロセッシングの有効化

1. 「Activate」にチェックし、「GRASSフォルダ」にGRASSの実行ファイルのパスが設定されて無ければ入力

2. 「Msysフォルダ」にMsysの実行ファイルのパスが設定されて無ければ入力

3. いずれも省略形のパスだとエラーが出るので省略せずに指定

55 / 60

Page 56: 151009 foss4 g_tokyo_grass7_handson_presentation

はじめに データ 初期設定 基本 応用 GUI から CUI 補足資料

GRASSアルゴリズムの実行 (ggplot scatterplot)

1. プロセッシングメニューより「v.buffer.distance」を実行

56 / 60

Page 57: 151009 foss4 g_tokyo_grass7_handson_presentation

はじめに データ 初期設定 基本 応用 GUI から CUI 補足資料

GRASSアルゴリズムの実行 (ggplot scatterplot)

57 / 60

Page 58: 151009 foss4 g_tokyo_grass7_handson_presentation

はじめに データ 初期設定 基本 応用 GUI から CUI 補足資料

他のソフトとの連携 (R言語)

GRASSの処理と、より高度な空間統計解析や統計処理、図の作成を組み合わせたい場合は、統計解析言語 Rの GRASS連携ライブラリ spgrass6などもあります。

58 / 60

Page 59: 151009 foss4 g_tokyo_grass7_handson_presentation

はじめに データ 初期設定 基本 応用 GUI から CUI 補足資料

GRASS7の大きな機能追加

GRASS7では新たに時系列モジュール (t.)が追加されており、気候データなどの時系列情報を含む GISデータの処理や可視化ができるようになっています。時系列モジュールについて、FOSS4GTokyoで紹介します。

59 / 60

Page 60: 151009 foss4 g_tokyo_grass7_handson_presentation

参考文献 I

岩崎,亘典 (2012). GRASSを用いた衛星・GISデータ処理の基礎. FOSS4G2012Tokyo,東京.