150828 rihn gis_workshop_handson_presentation

72
QGIS の機能 プロセッシング グループワーク QGIS で環境リモートセンシング 縫村崇行 千葉科学大学 ·OSGeo 財団日本支部 2015/08/28 1/72

Upload: takayuki-nuimura

Post on 15-Apr-2017

1.794 views

Category:

Science


0 download

TRANSCRIPT

QGIS の機能プロセッシンググループワーク

QGISで環境リモートセンシング

縫村崇行

千葉科学大学 ·OSGeo 財団日本支部

2015/08/28

1 / 72

QGIS の機能プロセッシンググループワーク

本ハンズオンについて

QGISを用いたリモートセンシング解析、QGISと他のソフトウェア (R、GRASS)との連携について紹介

対象者 ·技術スキル基本的な GISの知識

QGISの利用経験のある方

Rおよび GRASSは初心者でも OKです

2 / 72

QGIS の機能プロセッシンググループワーク

ハンズオンの流れ

1 QGISの機能QGISで扱える GIS/RSデータQGIS本体の解析機能プラグインによる機能追加QGISプリントコンポーザ

2 プロセッシングプロセッシングとは他のソフトウェアとの連携グラフィカルモデラー

3 グループワーク

3 / 72

QGIS の機能プロセッシンググループワーク

使用するデータ

Landsat8の band2–5 (GeoTIFF形式)USGS EarthExplorer (http://earthexplorer.usgs.gov/)

CGIAR提供の SRTM3 DEM (GeoTIFF形式)CGIAR-CSI (http://srtm.csi.cgiar.org/)

EarthExplorer CGIAR-CSI4 / 72

QGIS の機能プロセッシンググループワーク

使用するデータ

GIS_DATAディレクトリの中身についてlandsat8_band[2-5].tifLandsat8可視と近赤外バンド (30 m grid)

srtm_dem30.tif30 mにリサンプリングした DEM

temperature.shp気象観測データ (x, y,気温) *数値を加工した擬似データ

*.rsxRアルゴリズムファイル

5 / 72

QGIS の機能プロセッシンググループワーク

使用するデータ

GIS_DATAディレクトリはわかりやすいところにおいてください(例えばWindowsの場合は Cドライブの直下など)。

今回のハンズオンでは GIS_DATAを Cドライブの直下に置いたものとしてスライドを作成していますので、別の場所に置いた方やMac及び Linuxの方は適宜読み替えて下さい。

Windowsで Cドライブの直下においた場合のパスC:/GIS_DATA

6 / 72

QGIS の機能プロセッシンググループワーク

QGIS で扱える GIS/RS データQGIS 本体の解析機能プラグインによる機能追加QGIS プリントコンポーザ

QGISで扱えるGIS/RSデータ

ラスター

GeoTIFF:一般的なラスター形式

IMG:ERDAS IMAGINの標準形式

NetCDF:気候データで一般的、GMTも使用。

HDF:RSデータでよくある  etc. . .

ベクター

Shapefile:一般的なベクター形式

CSV:テキスト形式 (カンマ以外でも対応)

GPX:GPSデータ

KML:Google Earth (KMZは未対応)  etc. . .

7 / 72

QGIS の機能プロセッシンググループワーク

QGIS で扱える GIS/RS データQGIS 本体の解析機能プラグインによる機能追加QGIS プリントコンポーザ

QGIS本体の解析機能 (コアプラグイン含む)

ここからは実際に QGISを操作していきます。GIS_DATAフォルダの handson_map.qgsを開いてください

8 / 72

QGIS の機能プロセッシンググループワーク

QGIS で扱える GIS/RS データQGIS 本体の解析機能プラグインによる機能追加QGIS プリントコンポーザ

データ表示

1. 「地図装整飾」=⇒「方位記号」2. 「パネル」=⇒「全体図」

9 / 72

QGIS の機能プロセッシンググループワーク

QGIS で扱える GIS/RS データQGIS 本体の解析機能プラグインによる機能追加QGIS プリントコンポーザ

ラスター処理

カラー画像 (コンポジットバンド)の作成

1. Landsatの band 2, 3, 4のみを表示

2. 「その他」=⇒「バーチャルラスタの構築」

10 / 72

QGIS の機能プロセッシンググループワーク

QGIS で扱える GIS/RS データQGIS 本体の解析機能プラグインによる機能追加QGIS プリントコンポーザ

ラスター処理

1. 「入力に可視のラスタレイヤ」、「分割」にチェック

2. GIS_DATAフォルダに出力ファイル名を指定し実行

なんか変 ( ・́ω・` )=⇒ BGRの Blueと Redが逆なため

11 / 72

QGIS の機能プロセッシンググループワーク

QGIS で扱える GIS/RS データQGIS 本体の解析機能プラグインによる機能追加QGIS プリントコンポーザ

ラスター処理

1. プロパティで Redに band3、Blueに band1を割り当てる

コンポジット作成の際に Landsatのband番号がずれているのに注意2,3,4=⇒1,2,3

12 / 72

QGIS の機能プロセッシンググループワーク

QGIS で扱える GIS/RS データQGIS 本体の解析機能プラグインによる機能追加QGIS プリントコンポーザ

ラスター処理

NDVI (正規化植生指標)の作成

ここでおさらい

NDVI = (NIR − Red)/(NIR + Red)

landsat8_band5 : NIR (Near infrared)

landsat8_band4 : Red

13 / 72

QGIS の機能プロセッシンググループワーク

QGIS で扱える GIS/RS データQGIS 本体の解析機能プラグインによる機能追加QGIS プリントコンポーザ

ラスター処理

1. 「ラスタ計算機」をクリック

2. 以下の式を入力して出力ファイル名を指定

NDVI大=⇒植生の活性度大NDVI小=⇒植生の活性度小

14 / 72

QGIS の機能プロセッシンググループワーク

QGIS で扱える GIS/RS データQGIS 本体の解析機能プラグインによる機能追加QGIS プリントコンポーザ

ベクター処理

ボロノイ分割

1. 「ジオメトリツール」=⇒「ボロノイポリゴン」

15 / 72

QGIS の機能プロセッシンググループワーク

QGIS で扱える GIS/RS データQGIS 本体の解析機能プラグインによる機能追加QGIS プリントコンポーザ

ベクター処理

1. 出力ファイル名を指定

任意の場所での最寄りのポイントが可視化

16 / 72

QGIS の機能プロセッシンググループワーク

QGIS で扱える GIS/RS データQGIS 本体の解析機能プラグインによる機能追加QGIS プリントコンポーザ

プラグインによる機能追加

1. 「プラグインの管理とインストール」

2. “profile”、”flow”、”google”などのキーワードで検索

17 / 72

QGIS の機能プロセッシンググループワーク

QGIS で扱える GIS/RS データQGIS 本体の解析機能プラグインによる機能追加QGIS プリントコンポーザ

QGISプリントコンポーザ

1. 「新規プリントコンポーザ」(*タイトルは適当に)

18 / 72

QGIS の機能プロセッシンググループワーク

QGIS で扱える GIS/RS データQGIS 本体の解析機能プラグインによる機能追加QGIS プリントコンポーザ

QGISプリントコンポーザ

地図の追加

1. 地図の追加

2. 位置の調整3. 縮尺の設定

19 / 72

QGIS の機能プロセッシンググループワーク

QGIS で扱える GIS/RS データQGIS 本体の解析機能プラグインによる機能追加QGIS プリントコンポーザ

QGISプリントコンポーザ

凡例の追加と修正

1. 凡例の追加

2. 自動アップデートのチェックオフ

3. 不要な凡例名を選択して削除

20 / 72

QGIS の機能プロセッシンググループワーク

QGIS で扱える GIS/RS データQGIS 本体の解析機能プラグインによる機能追加QGIS プリントコンポーザ

QGISプリントコンポーザ

縮尺の追加と修正

1. 縮尺の追加

2. 縮尺デザインの変更

3. 目盛数の調整

21 / 72

QGIS の機能プロセッシンググループワーク

QGIS で扱える GIS/RS データQGIS 本体の解析機能プラグインによる機能追加QGIS プリントコンポーザ

QGISプリントコンポーザ

方位記号・テキストの追加と修正 1

1. 方位記号の追加

2. テキストの追加

3. テキストの内容入力

4. フォントの変更

5. 水平配置

1「イメージ追加」=⇒「検索」から方位記号が選べるようです22 / 72

QGIS の機能プロセッシンググループワーク

QGIS で扱える GIS/RS データQGIS 本体の解析機能プラグインによる機能追加QGIS プリントコンポーザ

QGISプリントコンポーザ

成果の出力 *SVGは不安定

PDF、画像、SVGでの出力

23 / 72

QGIS の機能プロセッシンググループワーク

プロセッシングとは他のソフトウェアとの連携グラフィカルモデラー

プロセッシング

QGISから様々な外部プログラムの機能を呼び出すことができる。GUI、CUIどちらからも呼び出しは可能

外部プログラムとアルゴリズム数GDAL/OGR (45)

GRASS7 (148) *バグあり

GRASS6 (160)

R scripts (0) *オンライン入手可

QGIS本体のアルゴリズム数QGIS (103)

Models (0) *オンライン入手可

Scripts (0) *オンライン入手可

24 / 72

QGIS の機能プロセッシンググループワーク

プロセッシングとは他のソフトウェアとの連携グラフィカルモデラー

プロセッシングの有効化

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

25 / 72

QGIS の機能プロセッシンググループワーク

プロセッシングとは他のソフトウェアとの連携グラフィカルモデラー

プロセッシングの有効化

「プロバイダ」⇒「R scripts」を開く

26 / 72

QGIS の機能プロセッシンググループワーク

プロセッシングとは他のソフトウェアとの連携グラフィカルモデラー

プロセッシングの有効化

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

2. ユーザーライブラリフォルダを QGIS内部のもの 2から、Rのもの 3に変更がおすすめ。

2Windows 8.1の場合、C:/Users/ユーザー名/.qgis2/processing/rlibs3Windows 8.1の場合、C:/Users/ユーザー名/R/win-library/3.2

27 / 72

QGIS の機能プロセッシンググループワーク

プロセッシングとは他のソフトウェアとの連携グラフィカルモデラー

プロセッシングの有効化

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

28 / 72

QGIS の機能プロセッシンググループワーク

プロセッシングとは他のソフトウェアとの連携グラフィカルモデラー

プロセッシングの有効化

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

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

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

29 / 72

QGIS の機能プロセッシンググループワーク

プロセッシングとは他のソフトウェアとの連携グラフィカルモデラー

R

http://cran.r-project.org/

コマンドラインベースで様々な解析 ·作図が可能多くの拡張機能 (library)が開発されている

30 / 72

QGIS の機能プロセッシンググループワーク

プロセッシングとは他のソフトウェアとの連携グラフィカルモデラー

ハンズオンで必要なライブラリのインストール

一番簡単な方法ですが、大人数で同時に行うと回線に負担をかけるので講習会向きではないかも=⇒今回は次ページのローカルインストールで行きましょう。

オンラインでのインストール (Windows, Mac, Linux)

libs <- c("rgdal", "raster", "rpanel", "rasterVis")install.packages(libs, dependencies=T)

31 / 72

QGIS の機能プロセッシンググループワーク

プロセッシングとは他のソフトウェアとの連携グラフィカルモデラー

ハンズオンで必要なRライブラリのインストール

Rを管理者権限で起動し、以下のコマンドの実行

ローカルでのインストール (Windows)

datadir <- "C:/GIS_DATA/windows_libs/"libs <- dir(path=datadir, pattern="*.zip")install.packages(paste0(datadir, libs), repos=NULL)

ローカルでのインストール (Mac)

datadir <- "mac_libs へのパス"libs <- dir(path=datadir, pattern="*.tgz", type="source")install.packages(paste0(datadir, libs), repos=NULL)

32 / 72

QGIS の機能プロセッシンググループワーク

プロセッシングとは他のソフトウェアとの連携グラフィカルモデラー

Rアルゴリズムの実行 (オンラインスクリプトの入手)

オンラインスクリプトの入手 (ツールグループ)

Rアルゴリズムをオンラインから入手できる

「Raster histogram」、「ggplot scatterplot」をダウンロード・インストール

*又は GIS_DIRの”Raster_histogram.rsx”、”ggplot_scatterplot.rsx”を rscriptsフォルダにコピー

33 / 72

QGIS の機能プロセッシンググループワーク

プロセッシングとは他のソフトウェアとの連携グラフィカルモデラー

RSXファイル (*.rsx)とは

Rのスクリプトファイルの拡張子を変えたもの。ヘッダーに processing独自の記述を加える必要がある

アルゴリズム名で右クリックして「Edit script」を選ぶとRSXファイルを見ることができる

34 / 72

QGIS の機能プロセッシンググループワーク

プロセッシングとは他のソフトウェアとの連携グラフィカルモデラー

RSXファイルの文法

ヘッダー部分での processing独自の記述 (##を入れる)

グループ名=group: グループ名は既存のものでも独自のものでも可

showplots: 作図関数を使う場合は記述する

Layer=vector: ベクターデータの選択メニューを入れる。読み込んだベクターデータは Layer変数に格納

Field Layer: ベクターデータのフィールドの選択メニューを入れる

35 / 72

QGIS の機能プロセッシンググループワーク

プロセッシングとは他のソフトウェアとの連携グラフィカルモデラー

Rアルゴリズムの実行 (Raster histogram)

Raster histogram (Raster processingグループ)

ラスターデータの値の頻度分布図の作成

srtm_dem30.tifを使用

36 / 72

QGIS の機能プロセッシンググループワーク

プロセッシングとは他のソフトウェアとの連携グラフィカルモデラー

Rアルゴリズムの実行 (Raster histogram)

「Raster processing」⇒「Raster histogram」を選択Layerに srtm_dem30を指定して実行

R Plotsに出力ファイル名を指定すると画像ファイルが出力される(例.D:/graphと指定すると graph.htmlと graph.html.pngが出力される)

37 / 72

QGIS の機能プロセッシンググループワーク

プロセッシングとは他のソフトウェアとの連携グラフィカルモデラー

Rアルゴリズムの実行 (Raster histogram)

38 / 72

QGIS の機能プロセッシンググループワーク

プロセッシングとは他のソフトウェアとの連携グラフィカルモデラー

エラー: 処理実行後にウィンドウが立ち上がらない

processingのオプション設定が正しくされていない可能性

対処法

実行パスのスペルミス、バージョン番号の違い

39 / 72

QGIS の機能プロセッシンググループワーク

プロセッシングとは他のソフトウェアとの連携グラフィカルモデラー

エラー: 処理の後、グラフが表示されない

必要なライブラリが正しくインストールされていない可能性

対処法

Rを起動して以下のコマンドを実行library()

rgdalと rasterの文字が表示されているか確認をし、無い場合は再びライブラリインストールの手順を踏んでください。

40 / 72

QGIS の機能プロセッシンググループワーク

プロセッシングとは他のソフトウェアとの連携グラフィカルモデラー

エラー: 処理の後、グラフが表示されない

processingが正しい Rライブラリの場所を見ていない可能性

対処法その 1

Rを起動して以下のコマンドを実行するとRライブラリの場所が確認できる.libPaths()[1]

例えば、"C:/Users/nuimura/R/win-library/3.2”

プロセッシングのオプションでもう一度確認

41 / 72

QGIS の機能プロセッシンググループワーク

プロセッシングとは他のソフトウェアとの連携グラフィカルモデラー

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

ggplot scatterplot (Vector processingグループ)

ggplot2を使って散布図の作成

「Vector processing」⇒「ggplot scatterplot」を選択

42 / 72

QGIS の機能プロセッシンググループワーク

プロセッシングとは他のソフトウェアとの連携グラフィカルモデラー

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

43 / 72

QGIS の機能プロセッシンググループワーク

プロセッシングとは他のソフトウェアとの連携グラフィカルモデラー

自作のRSXファイルの読み込み  (Scatter plot 2bands)

Scatter plot 2bands (Mygroupグループ)

2つのラスターデータの値の散布図を作成

Scatter_plot_2bands.rsxを 「R scripts Folder」にコピーlandsat8_band2.tifと landsat8_band3.tifの読み込み

44 / 72

QGIS の機能プロセッシンググループワーク

プロセッシングとは他のソフトウェアとの連携グラフィカルモデラー

RSXファイルの読み込み  (Scatter plot 2bands)

「Mygroup」⇒「Scatter plot 2bands」を選択Raster1に landsat8_band2、Raster2に landsat8_band3を指定して実行

45 / 72

QGIS の機能プロセッシンググループワーク

プロセッシングとは他のソフトウェアとの連携グラフィカルモデラー

GRASS GIS

https://grass.osgeo.org/

コマンドライン・GUI両方あり

多くの空間解析機能が実装されている

46 / 72

QGIS の機能プロセッシンググループワーク

プロセッシングとは他のソフトウェアとの連携グラフィカルモデラー

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

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

47 / 72

QGIS の機能プロセッシンググループワーク

プロセッシングとは他のソフトウェアとの連携グラフィカルモデラー

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

48 / 72

QGIS の機能プロセッシンググループワーク

プロセッシングとは他のソフトウェアとの連携グラフィカルモデラー

GDAL/OGR

http://www.gdal.org/

地理空間データ処理のライブラリ

自前の処理コマンドもあり

49 / 72

QGIS の機能プロセッシンググループワーク

プロセッシングとは他のソフトウェアとの連携グラフィカルモデラー

GDAL/OGR

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

50 / 72

QGIS の機能プロセッシンググループワーク

プロセッシングとは他のソフトウェアとの連携グラフィカルモデラー

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

51 / 72

QGIS の機能プロセッシンググループワーク

プロセッシングとは他のソフトウェアとの連携グラフィカルモデラー

Pythonスクリプト

https://www.python.org/

高レベルプログラミング言語

GISなど科学計算によく使われる

QGISの処理も Pythonで実装可能

52 / 72

QGIS の機能プロセッシンググループワーク

プロセッシングとは他のソフトウェアとの連携グラフィカルモデラー

Pythonスクリプトの実行 (オンラインスクリプトの入手)

オンラインスクリプトの入手 (ツールグループ)

Pythonスクリプトをオンラインから入手できる

「Extract raster values to CSV」をダウンロード・インストール

*又は GIS_DIRの”Extract_raster_values_to_CSV.py”、を scriptsフォルダにコピー

53 / 72

QGIS の機能プロセッシンググループワーク

プロセッシングとは他のソフトウェアとの連携グラフィカルモデラー

Pythonスクリプトの実行

1. プロセッシングより「Extract raster values to CSV」を実行

54 / 72

QGIS の機能プロセッシンググループワーク

プロセッシングとは他のソフトウェアとの連携グラフィカルモデラー

Pythonスクリプトの実行

気象観測点の標高値を抽出=⇒気温の高度補正

55 / 72

QGIS の機能プロセッシンググループワーク

プロセッシングとは他のソフトウェアとの連携グラフィカルモデラー

グラフィカルモデラー

入力タブでは入力ファイルや変数を指定

56 / 72

QGIS の機能プロセッシンググループワーク

プロセッシングとは他のソフトウェアとの連携グラフィカルモデラー

グラフィカルモデラー

アルゴリズムタブではアルゴリズムを指定

57 / 72

QGIS の機能プロセッシンググループワーク

プロセッシングとは他のソフトウェアとの連携グラフィカルモデラー

グラフィカルモデラー

モデルの作成

1. 入力タブの左のパネルより”Raster layer”を右にドラッグ

2. パラメータ名を指定 (例. inputRaster)

58 / 72

QGIS の機能プロセッシンググループワーク

プロセッシングとは他のソフトウェアとの連携グラフィカルモデラー

グラフィカルモデラー

1. アルゴリズムタブの左のパネルより”Contour lines”を右にドラッグ

59 / 72

QGIS の機能プロセッシンググループワーク

プロセッシングとは他のソフトウェアとの連携グラフィカルモデラー

グラフィカルモデラー

以下のように指定

60 / 72

QGIS の機能プロセッシンググループワーク

プロセッシングとは他のソフトウェアとの連携グラフィカルモデラー

グラフィカルモデラー

モデルに名前 (例. generateContour10.model)をつけ保存61 / 72

QGIS の機能プロセッシンググループワーク

プロセッシングとは他のソフトウェアとの連携グラフィカルモデラー

グラフィカルモデラー

1. プロセッシングより「モデル」=⇒「ツール」=⇒「ファイルからモデルを追加」

62 / 72

QGIS の機能プロセッシンググループワーク

プロセッシングとは他のソフトウェアとの連携グラフィカルモデラー

グラフィカルモデラー

1. 出力ファイル名を指定して (例. contour.shp)読み込んだモデルを実行

63 / 72

QGIS の機能プロセッシンググループワーク

プロセッシングとは他のソフトウェアとの連携グラフィカルモデラー

グラフィカルモデラー

64 / 72

QGIS の機能プロセッシンググループワーク

プロセッシングとは他のソフトウェアとの連携グラフィカルモデラー

グラフィカルモデラー

1. 先ほどのモデルを右クリックで編集2. “Contour lines”アルゴリズムをもう一つ追加

65 / 72

QGIS の機能プロセッシンググループワーク

プロセッシングとは他のソフトウェアとの連携グラフィカルモデラー

グラフィカルモデラー

モデルを別名 (例. generateContour10and50.model)をつけて保存66 / 72

QGIS の機能プロセッシンググループワーク

プロセッシングとは他のソフトウェアとの連携グラフィカルモデラー

グラフィカルモデラー

1. 出力ファイル名を指定して (例. contour10.shp、contour50.shp)読み込んだモデルを実行

67 / 72

QGIS の機能プロセッシンググループワーク

プロセッシングとは他のソフトウェアとの連携グラフィカルモデラー

グラフィカルモデラー

68 / 72

QGIS の機能プロセッシンググループワーク

グループワークの課題その 1グループワークの課題その 2グループワークの課題その 3

グループワークの課題

QGISプラグインを調べる

グラフィカルモデラーを使う

プリントコンポーザによる地図の作成

69 / 72

QGIS の機能プロセッシンググループワーク

グループワークの課題その 1グループワークの課題その 2グループワークの課題その 3

QGISプラグインを調べる

メンバーそれぞれの研究 ·業務に関連しそうで、これまで使ったことのないプラグインを探してみましょう

見つけたプラグイン名、使ってみた結果を最終日に紹介デモンストレーションでもスライド使用でもかまいません、失敗報告でも OK

70 / 72

QGIS の機能プロセッシンググループワーク

グループワークの課題その 1グループワークの課題その 2グループワークの課題その 3

グラフィカルモデラーを使う

講習会の例以外にモデルを作成してみましょう

作成したモデルについて最終日に紹介デモンストレーションでもスライド使用でもかまいません、失敗報告でも OK

71 / 72

QGIS の機能プロセッシンググループワーク

グループワークの課題その 1グループワークの課題その 2グループワークの課題その 3

プリントコンポーザによる地図の作成

プリントコンポーザを使って見やすい地図を作成してみましょう講習会のデータでなく、どんなデータでも OK

作成した地図について最終日に紹介

72 / 72