150828 rihn gis_workshop_handson_presentation
TRANSCRIPT
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 の機能プロセッシンググループワーク
プロセッシングとは他のソフトウェアとの連携グラフィカルモデラー
プロセッシングの有効化
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 の機能プロセッシンググループワーク
プロセッシングとは他のソフトウェアとの連携グラフィカルモデラー
プロセッシングの有効化
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 の機能プロセッシンググループワーク
プロセッシングとは他のソフトウェアとの連携グラフィカルモデラー
エラー: 処理実行後にウィンドウが立ち上がらない
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 の機能プロセッシンググループワーク
プロセッシングとは他のソフトウェアとの連携グラフィカルモデラー
自作の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 の機能プロセッシンググループワーク
プロセッシングとは他のソフトウェアとの連携グラフィカルモデラー
GDAL/OGR
http://www.gdal.org/
地理空間データ処理のライブラリ
自前の処理コマンドもあり
49 / 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 の機能プロセッシンググループワーク
プロセッシングとは他のソフトウェアとの連携グラフィカルモデラー
グラフィカルモデラー
モデルの作成
1. 入力タブの左のパネルより”Raster layer”を右にドラッグ
2. パラメータ名を指定 (例. inputRaster)
58 / 72
QGIS の機能プロセッシンググループワーク
プロセッシングとは他のソフトウェアとの連携グラフィカルモデラー
グラフィカルモデラー
1. アルゴリズムタブの左のパネルより”Contour lines”を右にドラッグ
59 / 72
QGIS の機能プロセッシンググループワーク
プロセッシングとは他のソフトウェアとの連携グラフィカルモデラー
グラフィカルモデラー
モデルに名前 (例. generateContour10.model)をつけ保存61 / 72
QGIS の機能プロセッシンググループワーク
プロセッシングとは他のソフトウェアとの連携グラフィカルモデラー
グラフィカルモデラー
1. プロセッシングより「モデル」=⇒「ツール」=⇒「ファイルからモデルを追加」
62 / 72
QGIS の機能プロセッシンググループワーク
プロセッシングとは他のソフトウェアとの連携グラフィカルモデラー
グラフィカルモデラー
1. 出力ファイル名を指定して (例. contour.shp)読み込んだモデルを実行
63 / 72
QGIS の機能プロセッシンググループワーク
プロセッシングとは他のソフトウェアとの連携グラフィカルモデラー
グラフィカルモデラー
1. 先ほどのモデルを右クリックで編集2. “Contour lines”アルゴリズムをもう一つ追加
65 / 72
QGIS の機能プロセッシンググループワーク
プロセッシングとは他のソフトウェアとの連携グラフィカルモデラー
グラフィカルモデラー
モデルを別名 (例. generateContour10and50.model)をつけて保存66 / 72
QGIS の機能プロセッシンググループワーク
プロセッシングとは他のソフトウェアとの連携グラフィカルモデラー
グラフィカルモデラー
1. 出力ファイル名を指定して (例. contour10.shp、contour50.shp)読み込んだモデルを実行
67 / 72
QGIS の機能プロセッシンググループワーク
グループワークの課題その 1グループワークの課題その 2グループワークの課題その 3
グループワークの課題
QGISプラグインを調べる
グラフィカルモデラーを使う
プリントコンポーザによる地図の作成
69 / 72
QGIS の機能プロセッシンググループワーク
グループワークの課題その 1グループワークの課題その 2グループワークの課題その 3
QGISプラグインを調べる
メンバーそれぞれの研究 ·業務に関連しそうで、これまで使ったことのないプラグインを探してみましょう
見つけたプラグイン名、使ってみた結果を最終日に紹介デモンストレーションでもスライド使用でもかまいません、失敗報告でも OK
70 / 72
QGIS の機能プロセッシンググループワーク
グループワークの課題その 1グループワークの課題その 2グループワークの課題その 3
グラフィカルモデラーを使う
講習会の例以外にモデルを作成してみましょう
作成したモデルについて最終日に紹介デモンストレーションでもスライド使用でもかまいません、失敗報告でも OK
71 / 72