Suche senden
Hochladen
カッパ(妖怪)の生息適地マップ作成入門
•
28 gefällt mir
•
12,544 views
Mizutani Takayuki
Folgen
カッパハンズオン資料(FOSS4G Tokyo 2014)
Weniger lesen
Mehr lesen
Bildung
Melden
Teilen
Melden
Teilen
1 von 79
Jetzt herunterladen
Downloaden Sie, um offline zu lesen
Empfohlen
07QGISで遺跡立地分析
07QGISで遺跡立地分析
Junpei Ishii
Qgis raster 3.16
Qgis raster 3.16
Jyun Tanaka
03紙地図をGISで使う
03紙地図をGISで使う
Junpei Ishii
QGIS はじめてのラスタ解析
QGIS はじめてのラスタ解析
Mayumit
01GIS概論
01GIS概論
Junpei Ishii
自治体Gisの勘違い(3)
自治体Gisの勘違い(3)
和仁 浅野
09遺跡分布を分析する〜カーネル密度推定〜
09遺跡分布を分析する〜カーネル密度推定〜
Junpei Ishii
04ベクタデータを利用した地図表現
04ベクタデータを利用した地図表現
Junpei Ishii
Empfohlen
07QGISで遺跡立地分析
07QGISで遺跡立地分析
Junpei Ishii
Qgis raster 3.16
Qgis raster 3.16
Jyun Tanaka
03紙地図をGISで使う
03紙地図をGISで使う
Junpei Ishii
QGIS はじめてのラスタ解析
QGIS はじめてのラスタ解析
Mayumit
01GIS概論
01GIS概論
Junpei Ishii
自治体Gisの勘違い(3)
自治体Gisの勘違い(3)
和仁 浅野
09遺跡分布を分析する〜カーネル密度推定〜
09遺跡分布を分析する〜カーネル密度推定〜
Junpei Ishii
04ベクタデータを利用した地図表現
04ベクタデータを利用した地図表現
Junpei Ishii
CS立体図を自作して公開してみた
CS立体図を自作して公開してみた
Kouichi Kita
CS立体図を用いた地形判読(FOSS4G 2017 Tokyoハンズオン)
CS立体図を用いた地形判読(FOSS4G 2017 Tokyoハンズオン)
OSgeo Japan
08遺跡景観の分析〜可視領域を調べる〜
08遺跡景観の分析〜可視領域を調べる〜
Junpei Ishii
QGISセミナー中級編(V2.4)
QGISセミナー中級編(V2.4)
IWASAKI NOBUSUKE
Rを用いたGIS
Rを用いたGIS
Mizutani Takayuki
05QGISで地図印刷
05QGISで地図印刷
Junpei Ishii
QGIS講習会【印刷編】
QGIS講習会【印刷編】
Kosuke Asahi
PythonとQGISで簡単処理
PythonとQGISで簡単処理
Kazutaka ishizaki
QGIS初級編
QGIS初級編
Jyun Tanaka
02ラスタデータを利用した地形指標の作成と地図表現
02ラスタデータを利用した地形指標の作成と地図表現
Junpei Ishii
SLAM開発における課題と対策の一例の紹介
SLAM開発における課題と対策の一例の紹介
miyanegi
LiDAR-SLAM チュートリアル資料
LiDAR-SLAM チュートリアル資料
Fujimoto Keisuke
オープンソース SLAM の分類
オープンソース SLAM の分類
Yoshitaka HARA
オープンデータを使って地図を作ろう|QGIS 活用講座(初級編)
オープンデータを使って地図を作ろう|QGIS 活用講座(初級編)
Yu Imai
オープンデータとオープンソースGisを用いたweb上でのインタラクティブ可視化手法について
オープンデータとオープンソースGisを用いたweb上でのインタラクティブ可視化手法について
Ryousuke Wayama
QGIS初級編 さわってみようQGIS (for ver. 2.8.2 at FOSS4G 2015 Hokkaido)
QGIS初級編 さわってみようQGIS (for ver. 2.8.2 at FOSS4G 2015 Hokkaido)
Yoh Fukuda
Sift特徴量について
Sift特徴量について
la_flance
QGIS2.18 GNSS編
QGIS2.18 GNSS編
Jyun Tanaka
Qgisを考古学で使う
Qgisを考古学で使う
Junpei Ishii
NDTスキャンマッチング 第1回3D勉強会@PFN 2018年5月27日
NDTスキャンマッチング 第1回3D勉強会@PFN 2018年5月27日
Kitsukawa Yuki
Open dronemapハンズオン
Open dronemapハンズオン
Mizutani Takayuki
FOSS4G Hokkaido2016 LT資料
FOSS4G Hokkaido2016 LT資料
Mizutani Takayuki
Weitere ähnliche Inhalte
Was ist angesagt?
CS立体図を自作して公開してみた
CS立体図を自作して公開してみた
Kouichi Kita
CS立体図を用いた地形判読(FOSS4G 2017 Tokyoハンズオン)
CS立体図を用いた地形判読(FOSS4G 2017 Tokyoハンズオン)
OSgeo Japan
08遺跡景観の分析〜可視領域を調べる〜
08遺跡景観の分析〜可視領域を調べる〜
Junpei Ishii
QGISセミナー中級編(V2.4)
QGISセミナー中級編(V2.4)
IWASAKI NOBUSUKE
Rを用いたGIS
Rを用いたGIS
Mizutani Takayuki
05QGISで地図印刷
05QGISで地図印刷
Junpei Ishii
QGIS講習会【印刷編】
QGIS講習会【印刷編】
Kosuke Asahi
PythonとQGISで簡単処理
PythonとQGISで簡単処理
Kazutaka ishizaki
QGIS初級編
QGIS初級編
Jyun Tanaka
02ラスタデータを利用した地形指標の作成と地図表現
02ラスタデータを利用した地形指標の作成と地図表現
Junpei Ishii
SLAM開発における課題と対策の一例の紹介
SLAM開発における課題と対策の一例の紹介
miyanegi
LiDAR-SLAM チュートリアル資料
LiDAR-SLAM チュートリアル資料
Fujimoto Keisuke
オープンソース SLAM の分類
オープンソース SLAM の分類
Yoshitaka HARA
オープンデータを使って地図を作ろう|QGIS 活用講座(初級編)
オープンデータを使って地図を作ろう|QGIS 活用講座(初級編)
Yu Imai
オープンデータとオープンソースGisを用いたweb上でのインタラクティブ可視化手法について
オープンデータとオープンソースGisを用いたweb上でのインタラクティブ可視化手法について
Ryousuke Wayama
QGIS初級編 さわってみようQGIS (for ver. 2.8.2 at FOSS4G 2015 Hokkaido)
QGIS初級編 さわってみようQGIS (for ver. 2.8.2 at FOSS4G 2015 Hokkaido)
Yoh Fukuda
Sift特徴量について
Sift特徴量について
la_flance
QGIS2.18 GNSS編
QGIS2.18 GNSS編
Jyun Tanaka
Qgisを考古学で使う
Qgisを考古学で使う
Junpei Ishii
NDTスキャンマッチング 第1回3D勉強会@PFN 2018年5月27日
NDTスキャンマッチング 第1回3D勉強会@PFN 2018年5月27日
Kitsukawa Yuki
Was ist angesagt?
(20)
CS立体図を自作して公開してみた
CS立体図を自作して公開してみた
CS立体図を用いた地形判読(FOSS4G 2017 Tokyoハンズオン)
CS立体図を用いた地形判読(FOSS4G 2017 Tokyoハンズオン)
08遺跡景観の分析〜可視領域を調べる〜
08遺跡景観の分析〜可視領域を調べる〜
QGISセミナー中級編(V2.4)
QGISセミナー中級編(V2.4)
Rを用いたGIS
Rを用いたGIS
05QGISで地図印刷
05QGISで地図印刷
QGIS講習会【印刷編】
QGIS講習会【印刷編】
PythonとQGISで簡単処理
PythonとQGISで簡単処理
QGIS初級編
QGIS初級編
02ラスタデータを利用した地形指標の作成と地図表現
02ラスタデータを利用した地形指標の作成と地図表現
SLAM開発における課題と対策の一例の紹介
SLAM開発における課題と対策の一例の紹介
LiDAR-SLAM チュートリアル資料
LiDAR-SLAM チュートリアル資料
オープンソース SLAM の分類
オープンソース SLAM の分類
オープンデータを使って地図を作ろう|QGIS 活用講座(初級編)
オープンデータを使って地図を作ろう|QGIS 活用講座(初級編)
オープンデータとオープンソースGisを用いたweb上でのインタラクティブ可視化手法について
オープンデータとオープンソースGisを用いたweb上でのインタラクティブ可視化手法について
QGIS初級編 さわってみようQGIS (for ver. 2.8.2 at FOSS4G 2015 Hokkaido)
QGIS初級編 さわってみようQGIS (for ver. 2.8.2 at FOSS4G 2015 Hokkaido)
Sift特徴量について
Sift特徴量について
QGIS2.18 GNSS編
QGIS2.18 GNSS編
Qgisを考古学で使う
Qgisを考古学で使う
NDTスキャンマッチング 第1回3D勉強会@PFN 2018年5月27日
NDTスキャンマッチング 第1回3D勉強会@PFN 2018年5月27日
Mehr von Mizutani Takayuki
Open dronemapハンズオン
Open dronemapハンズオン
Mizutani Takayuki
FOSS4G Hokkaido2016 LT資料
FOSS4G Hokkaido2016 LT資料
Mizutani Takayuki
自然環境調査におけるUAVの利用例
自然環境調査におけるUAVの利用例
Mizutani Takayuki
環境アセスにおけるクローズドデータによる問題
環境アセスにおけるクローズドデータによる問題
Mizutani Takayuki
2014年日本生態学会広島大会・自由集会「仕事でつかえる!FOSS4G」発表スライド
2014年日本生態学会広島大会・自由集会「仕事でつかえる!FOSS4G」発表スライド
Mizutani Takayuki
地図タイルを作成・公開してみて わかった108個のこと(foss4g tokyo 2013発表資料)
地図タイルを作成・公開してみて わかった108個のこと(foss4g tokyo 2013発表資料)
Mizutani Takayuki
植生タイルの作り方
植生タイルの作り方
Mizutani Takayuki
自然環境保全のためのデータの地図化・分析手法のご紹介
自然環境保全のためのデータの地図化・分析手法のご紹介
Mizutani Takayuki
Mehr von Mizutani Takayuki
(8)
Open dronemapハンズオン
Open dronemapハンズオン
FOSS4G Hokkaido2016 LT資料
FOSS4G Hokkaido2016 LT資料
自然環境調査におけるUAVの利用例
自然環境調査におけるUAVの利用例
環境アセスにおけるクローズドデータによる問題
環境アセスにおけるクローズドデータによる問題
2014年日本生態学会広島大会・自由集会「仕事でつかえる!FOSS4G」発表スライド
2014年日本生態学会広島大会・自由集会「仕事でつかえる!FOSS4G」発表スライド
地図タイルを作成・公開してみて わかった108個のこと(foss4g tokyo 2013発表資料)
地図タイルを作成・公開してみて わかった108個のこと(foss4g tokyo 2013発表資料)
植生タイルの作り方
植生タイルの作り方
自然環境保全のためのデータの地図化・分析手法のご紹介
自然環境保全のためのデータの地図化・分析手法のご紹介
Kürzlich hochgeladen
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ssusere0a682
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
ssusere0a682
UniProject Workshop Make a Discord Bot with JavaScript
UniProject Workshop Make a Discord Bot with JavaScript
yuitoakatsukijp
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
Takayuki Itoh
The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024
koheioishi1
TokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentation
YukiTerazawa
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
Tokyo Institute of Technology
Kürzlich hochgeladen
(7)
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
UniProject Workshop Make a Discord Bot with JavaScript
UniProject Workshop Make a Discord Bot with JavaScript
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024
TokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentation
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
カッパ(妖怪)の生息適地マップ作成入門
1.
2014/10/31 FOSS4G Tokyo
2014 ハンズオン カッパ(妖怪)の生息適地 マップ作成入門 株式会社エコリス 水谷貴行 1
2.
2 2014/10/31 FOSS4G
Tokyo 2014 ハンズオン この資料は以下の本から [オープンデータ+QGIS] 統計・防災・環境情報がひと目でわかる地図 の作り方 ハンズオン用にスピンオフした内容になってい ます。ぜひ、本書もあわせてご覧いただければ と思います。 技術評論社サイト http://gihyo.jp/book/2014/978-4-7741-6913-2 Amazonサイト http://www.amazon.co.jp/dp/4774169137
3.
2014/10/31 FOSS4G Tokyo
2014 ハンズオン 内容 入門編(前半): 14:00~15:30 カッパの生息適地マップの作成 オープンデータなどの公開されているデータを利用して、カッパの生息適地を QGISで可視化してみます。 ~10分休憩~ 応用編(後半): 15:40~17:00 カッパの生息適地マップの分析 カッパの生息適地をGDAL、Python、GRASS、Rを連携して分析してみます。 3
4.
2014/10/31 FOSS4G Tokyo
2014 ハンズオン 事前準備 •Windowsパソコン(7以降)を使用します。 •OSGeo4Wで、QGIS2.4、GRASS6.4をインストールします。 •Python、GDALはOSGeo4Wでインストールされるものを利用します。 •R 3.1をインストールします。 •配布したデータ「kappadata」フォルダは、デスクトップに保存します。 4
5.
2014/10/31 FOSS4G Tokyo
2014 ハンズオン 使用データ 本ハンズオンでは、岩手県遠野市周辺 2次メッシュ 「594104」のデータを使用します。 kappadata¥dataの中にあらかじめダウンロードしておいたデータが入っています。 ・国土数値情報(http://nlftp.mlit.go.jp/ksj/) 「河川」データ [W05-07_03_GML.zip] ・自然環境情報GIS(http://www.vegetation.biodic.go.jp/) 「1/25,000植生図」GISデータ [shp594104.zip] ・基盤地図情報(http://www.gsi.go.jp/kiban/) 「数値標高モデル」10mメッシュデータ [FG-GML-5941b-DEM10B.zip] ・エコリス(http://www.ecoris.co.jp) 「カッパ確認位置」データ(未公開) 5
6.
2014/10/31 FOSS4G Tokyo
2014 ハンズオン データについて ご注意! ・基盤地図情報「数値標高モデル」のデータは、今回の講習のためだけの「一時的な資料とし て利用する」ものとして、あらかじめ国土地理院のサイトからダウンロードしておいたものを 配布しています。 ・講習終了後、「数値標高モデル」のデータおよび「数値標高モデル」を利用して作成した データは、速やかに破棄してください。 ・家で復習したい場合は、国土地理院のサイトでアカウントを取得し、自分でデータを ダウンロードしてください。 ・その他のデータは、出典の明示をすることで再配布可能なデータとなっているので、その規 約に従ってご利用ください。 6
7.
生息適地 生息適地推定とは 環境データ
2014/10/31 FOSS4G Tokyo 2014 ハンズオン (地形、植生、気候など) 生物データ (生態情報、確認位置など) 7 地形、植生、気候などの環境データと、 生物の生息環境や確認位置などの情報か ら、その生物が生息するのに適している 場所を推測して可視化する手法を生息適 地推定と言います。
8.
2014/10/31 FOSS4G Tokyo
2014 ハンズオン 入門編 カッパの生息適地マップの作成 8
9.
2014/10/31 FOSS4G Tokyo
2014 ハンズオン カッパの生態について 川や池に生息し、陸上も移動する 胡瓜を主食とする 頭上の皿の乾燥に極めて弱い 参考文献:Yanagida(1910). Tono monogatari 予備知識 「カッパ淵」 画像出典:wikipedia 9
10.
2014/10/31 FOSS4G Tokyo
2014 ハンズオン 入門編の流れ 1. 河川データから河川からの距離図を作成 2. 植生データから畑地面積率図を作成 3. 標高データから日射量図を作成 4. データを組み合わせて生息適地マップを作成 10 川や池に生息し、陸上も移動する 胡瓜を主食とする 頭上の皿の乾燥に極めて弱い
11.
2014/10/31 FOSS4G Tokyo
2014 ハンズオン 入門編 1. 河川データから 河川からの距離図を作成する 11
12.
2014/10/31 FOSS4G Tokyo
2014 ハンズオン データのダウンロード国土数値情報から「河川」データを ダウンロードします。 JPGIS2.1→河川→岩手を選択座標系がJGD2000になっているのを確認 12
13.
2014/10/31 FOSS4G Tokyo
2014 ハンズオン データの読み込み ダウンロードした河川データを QGISに読み込みます。 「W05-07_03-g_Stream.shp」を ドラッグアンドドロップ ※「data¥W05-07_03_GML」の中に入っ ています。 ダウンロードしたデータの中にはprjファイル がないため空間参照システム(測地系や投影 法)が自動判別できません。 そのため「空間参照システム選択」ウインドウ でデータの空間参照システムを定義します。 「CRSが設定されていません」とメッセージが 出る場合は、レイヤを右クリックして「レイヤ CRSを設定する」を選択します。 次ページ参照 13
14.
2014/10/31 FOSS4G Tokyo
2014 ハンズオン 空間参照の定義 レイヤを右クリック→「レイヤCRSを設定 する」 データの空間参照システム(測地系や 投影法)を定義します。 フィルターにJGD2000と入力して、 EPSG:4612を選択 14
15.
2014/10/31 FOSS4G Tokyo
2014 ハンズオン データの切り出し データを2次メッシュ594104の範囲で切り出し て保存します。 レイヤを右クリック→「名前をつけて保存」 「形式」→ESRI Shapefile 「名前をつけて保存」→ブラウズ「kasen.shp」 ファイルの保存先は、デスクトップの中の 「kappadata¥mydata」を指定してください。 「領域」をチェック→以下を入力 北 39.41666667 南 39.3333333 西 141.5 東 141.625 15 「エンコーディング」→Shift_JIS 「保存されたファイルを地図に追加する」を チェック
16.
2014/10/31 FOSS4G Tokyo
2014 ハンズオン 投影法の変換 投影法をUTMゾーン54のデータに変換します。 「kasen」レイヤを右クリック→「名前をつけて 保存」 「形式」→ESRI Shapefile 「名前をつけて保存」→ブラウズ 「kasen_UTM54.shp」 「CRS」→ブラウズ→ JGD2000/UTM zone54N(EPSG:3100)を選択 16 注意 ファイル名やパス名に日本語があると、このあと利用す るプロセッシングが上手く動作しない場合があるので、 本ハンズオンでは日本語ファイル名は使用しません。 ファイルの保存先は、デスクトップの中の 「kappadata¥mydata」を指定してください。 ※キャプチャ画像の保存先が違っている場合があります が、読み変えてください。 次ページ以降も同じ。 「エンコーディング」→Shift_JIS
17.
2014/10/31 FOSS4G Tokyo
2014 ハンズオン ラスタデータに変換 セルサイズが10m✕10mで川の部分のラスタ値が1の GeoTIFFファイルを作成します。 「kasen_UTM54.shp」を読み込み メニュー→ラスタ→変換→ラスタ化 を選択 「出力ファイル」を指定「kasen.tif」 「地図の単位ピクセルでのラスタ解像度」を選択 「水平」「垂直」に10を入力 を押して、 gdal_rasterizeのあとに -burn 1 と入力 17 メニュー→プロジェクト→新規 を選択
18.
2014/10/31 FOSS4G Tokyo
2014 ハンズオン ラスタデータの確認 レイヤを右クリック→プロパティ→スタイル →バンド表示→最大→1と入力 スタイルを変更してラスタデータを確認します。 河川部分が白く表示されるのを確認 18
19.
2014/10/31 FOSS4G Tokyo
2014 ハンズオン 距離を計算 メニュー→ラスタ→解析→プロキシミティ を選択 河川ラスタからの距離を計算します。 「出力ファイル」を指定「kasen_distance.tif」 ※ファイルの種類でGeoTIFFを選択のこと! プロキシミティは、ラスタ値が0以外の場所か らの距離を計算します。(距離を計算するらラ スタ値を指定することも可能です) 19
20.
2014/10/31 FOSS4G Tokyo
2014 ハンズオン 河川からの距離図距離を算出したレイヤにスタイルを設定して、距離に より色分けした「河川からの距離図」を作成します。 レイヤを右クリック→プロパティ→スタイル 河川からの距離で色分けされているのを確認 レンダータイプ→単バンド疑似カラー 新規カラーマップを作成→Spectral 最小 0、最大1000と入力→分類 20 既定スタイルとして保存しておく
21.
2014/10/31 FOSS4G Tokyo
2014 ハンズオン 入門編 2. 植生データから 畑地面積率図を作成する 21
22.
2014/10/31 FOSS4G Tokyo
2014 ハンズオン データのダウンロード自然環境情報GISから「1/25,000 植生図」 GISデータをダウンロードします。 「Shapeデータダウンロード」→「植生調査情 報提供ホームページへ」を選択 2次メッシュ(594104)の 1/25,000植生図GISデータをダウンロード 22
23.
2014/10/31 FOSS4G Tokyo
2014 ハンズオン データの読み込みダウンロードした植生データを QGISに読み込みます。 メニュー→「レイヤ」→「ベクタレイヤの追加」 ドラッグアンドドロップで読み込むと属性テーブルの エンコードが判別できず日本語の属性テーブルが文字 化けする場合があります。 「エンコーディング」→「Shift_JIS」を選択 「データセット」→「p594104.shp」を選択 ※「data¥shp594104」の中に入っていま す。 23 QGISでメニュー→プロジェクト→新規 を選択
24.
2014/10/31 FOSS4G Tokyo
2014 ハンズオン 空間参照の定義データの空間参照システム(測地系や 投影法)を定義します。 フィルターにJGD2000と入力して、 EPSG:4612を選択 ダウンロードしたデータの中にはprjファイルが ないため空間参照システム(測地系や投影法) が自動判別できません。 そのため「空間参照システム選択」ウインドウ でデータの空間参照システムを定義します。 「CRSが設定されていません」とメッセージが 出る場合は、レイヤを右クリックして「レイヤ 植生データのREADMEファイルに世界測地系のCRSを設定する」を選択します。 緯度経度のデータだと書かれています。 24
25.
2014/10/31 FOSS4G Tokyo
2014 ハンズオン 畑地の選択植生データから畑地雑草群落を選択します。 式に ”HANREI_N” = ’畑地雑草群落’ と入力して「選択」 レイヤを右クリック→「属性テーブルを開く」 「条件を使った地物選択」ボタンを押す 25
26.
2014/10/31 FOSS4G Tokyo
2014 ハンズオン 畑地データの保存 レイヤを右クリック→名前をつけて保存 選択した畑地雑草群落のみをシェープファイル に保存します。同時に投影法もUTMゾーン54に 変換します。 「形式」→ESRI Shapefile 「名前をつけて保存」→「hatati.shp」 「CRS」→ブラウズ→ JGD2000/UTM zone54N(EPSG:3100)を選択 「選択された地物のみを保存する」にチェック 26
27.
2014/10/31 FOSS4G Tokyo
2014 ハンズオン ラスタデータに変換 セルサイズが10m✕10mで畑地の部分のラスタ値が 100のGeoTIFFファイルを作成します。 メニュー→プロジェクト→新規 を選択 メニュー→ラスタ→変換→ラスタ化を選択 「出力ファイル」を指定「hatati.tif」 「地図の単位ピクセルでのラスタ解像度」を選択 「水平」「垂直」に10を入力 を押して、 gdal_rasterizeのあとに -burn 100 と入力 27 「hatati.shp」を読み込み
28.
2014/10/31 FOSS4G Tokyo
2014 ハンズオン プロセッシング設定 メニュー→プロセッシング→オプションと構成 畑地面積率はプロセッシングツールボックス のGRASSコマンドを利用します。はじめ に、プロセッシングの設定を確認します。 メニュー→プロセッシング→ツールボックス からツールボックスを開く プロバイダ→GRASS commandsの設定を確認 28
29.
2014/10/31 FOSS4G Tokyo
2014 ハンズオン 畑地面積率を計算 ツールボックスから 「GRASS commands」→「Rater」→「r.neighbors」 ※ツールボックス下部のリストボックスを「Advanced Interface」 に変更しておく。 畑地ラスタから1km圏内の畑地面積率をGRASSの r.neighborsを使って計算します。 「Neiborhood operation」→average 「Neiborhood size」→101 ※ Neiborhood sizeは奇数のみ 「Use circular neighborhood」→Yes 「Output layer」を指定「hatati1km.tif」 29 「Input raster layer」→hatati
30.
2014/10/31 FOSS4G Tokyo
2014 ハンズオン 畑地面積率の解説r.neighborsを使った畑地面積率の算出方法を 説明します。 r.neighborsは、中心セルから指定範囲内を計 算対象セルとしてラスタ値の平均や合計などを 計算します。その計算を中心セルを移動させな がらラスタデータ全域で行います。 「Neighborhood size(1辺のセル数)」は101 セルで、ラスタ解像度は10mなので、 10m✕101セル=1010m が1辺の長さとなりま す。そして、「circular neighborhood」を指定 しているので、1010mを直径とする円内のセル が計算対象セルとなります。 「Neighborhood operation」はaverageなの で、計算対象セルのラスタ値の平均を計算しま す。今、ある場所が畑地であれば、そのラスタ値 は100、そうでなければ0なので、計算対象セル 全域が畑地であれば、その平均は100、半分なら 50、なければ0となります。 よって、r.neighborsにより 約1km圏内の畑地面積率(0~100)がラスタ全域で 計算できます。 ※近傍解析、フォーカル統計と言ったりもします。 30
31.
2014/10/31 FOSS4G Tokyo
2014 ハンズオン 畑地面積率図算出した畑地面積率レイヤにスタイルを設定して、色 分けした「畑地面積率図」を作成します。 1km圏の畑地面積率(0~100)で色分けさ れているのを確認 レイヤを右クリック→プロパティ→スタイル レンダータイプ→単バンド疑似カラー 新規カラーマップを作成→Spectral 最小 0、最大100と入力→反転に チェック→分類 31 既定スタイルとして保存しておく
32.
2014/10/31 FOSS4G Tokyo
2014 ハンズオン 入門編 3. 標高データから 日射量図を作成する 32
33.
2014/10/31 FOSS4G Tokyo
2014 ハンズオン データのダウンロード基盤地図情報から「数値標高モデル」データ をダウンロードします。 国土地理院のアカウントを取得してログイン 数値標高モデル JPGIS(GML)形式を選択 10mメッシュの 「594104FG-GML-5941b-DEM10B.zip」 をダウンロード 33
34.
2014/10/31 FOSS4G Tokyo
2014 ハンズオン GMLデータの変換ダウンロードした標高GMLデータを GeoTIFF形式に変換します。 エコリス「基盤地図情報 標高DEMデータ変換 ツール」をダウンロード ※今回は、programの中に入っています。 「変換結合.vbs」をダブルクリック 投影法は緯度経度 →0 を入力 陰影起伏図を作成しますか?→はい フォルダ選択→「data¥FG-GML-5941b- DEM10B」 海域の標高→はい(0) 「変換終了しました」のメッセージで完了 選択フォルダの中に「merge.tif」があればOK 34
35.
2014/10/31 FOSS4G Tokyo
2014 ハンズオン データの読み込み GeoTIFF形式に変換した標高データを QGISに読み込みます。 「data¥FG-GML-5941b-DEM10B ¥merge.tif」をドラッグアンドドロッ プ 35 メニュー→プロジェクト→新規 を選択
36.
2014/10/31 FOSS4G Tokyo
2014 ハンズオン 投影法の変換 標高ラスタデータの投影法をUTMゾーン54に 変換します。 メニュー→「ラスタ」→「投影法」→「ワー プ」を選択 入力ファイル→merge 「出力ファイル」→選択 「iwate_demUTM54.tif」 「ソースSRS」→JGD2000(EPSG:4612)を選択 「ターゲットSRS」→ JGD2000/UTM zone54N(EPSG:3100)を選択 36 「リサンプリングメソッド」→双線型
37.
2014/10/31 FOSS4G Tokyo
2014 ハンズオン 日射量の解説日射量の計算はプロセッシングツールボック スのGRASSコマンドr.sunを使用します。 r.sunによる日射量の算出方法を説明します。 日射には、直達日射、反射日射、散乱日射が あります。 総日射は、直達日射+反射日射+散乱日射に なります。 総日射量は、1日分の総日射の合計値です。 単位は、[Wh・㎡・1day]です。 日射量の計算には、あらかじめ用意しておい た、標高、傾斜、傾斜方位のデータを使用 し、GRASSのr.sunのコマンドを利用します。 37 詳細は、GRASS GISの r.sunの マニュアルを 参照ください。
38.
2014/10/31 FOSS4G Tokyo
2014 ハンズオン 傾斜角度の計算 標高データから傾斜角度を計算します。 メニュー→ラスタ→解析→DEM を選択 「出力ファイル」→選択「slope.tif」 「モード」→傾斜 38 メニュー→プロジェクト→新規 を選択 「iwate_demUTM54.tif」を読み込み 「入力ファイル」→「iwate_demUTM54」
39.
2014/10/31 FOSS4G Tokyo
2014 ハンズオン 傾斜方位の計算 傾斜と同様に標高データから傾斜方位を計算します。 メニュー→ラスタ→解析→DEM を選択 「入力ファイル」→「iwate_demUTM54」 「出力ファイル」→選択「aspect.tif」 「モード」→傾斜方位 39 「三角法角度を返す」→ チェック 「平地の値に0を返す」→チェック 「三角法角度を返す」により傾斜方位が東0°、北 90°、西180°、南270°となります。 「平地の値に0を返す」により、傾斜のない平坦地 が0°となります。
40.
2014/10/31 FOSS4G Tokyo
2014 ハンズオン 傾斜方位の確認 レイヤを右クリック→プロパティ→スタイル スタイルを変更して斜面方位を確認します。 斜面方位によって色分けされるのを確認 40 レンダータイプ→単バンド疑似カラー を押して、↑のように値と色を追加
41.
2014/10/31 FOSS4G Tokyo
2014 ハンズオン 日射量を計算標高、傾斜、傾斜方位のデータから日射量を計算します。 「Elevation layer」→「iwate_demUTM54」(標高) 41 ツールボックスから 「GRASS commands」→「Rater」→「r.sun」 「Aspect layer」→「aspect」(傾斜方位) 「Name of the input slope raster map」→「slope」(傾斜) 「No. of day of the year」→172 ※1月1日から数えて172日目(夏至のあたり)を計算 「Output global(total) irradiance/irradiation layer」 →「irradiation.tif」(総日射量) その他の「Open output file after running algorithm」の チェックを外す
42.
2014/10/31 FOSS4G Tokyo
2014 ハンズオン 日射量図レイヤのスタイルを設定して、日射量により色分けし た「日射量図」を作成します。 レイヤを右クリック→プロパティ→スタイル日射量で色分けされているのを確認 レンダータイプ→単バンド疑似カラー 最小/最大にチェック→読み込み 新規カラーマップを作成→Spectral 反転にチェック→分類 42 既定スタイルとして保存しておく
43.
2014/10/31 FOSS4G Tokyo
2014 ハンズオン 入門編 4. データを組み合わせて 生息適地マップを作成 43
44.
2014/10/31 FOSS4G Tokyo
2014 ハンズオン 生息適地の計算 これまで作成したラスタデータを組み合わせて カッパの生息適地をラスタ計算機で算出します。 メニュー→ラスタ→ラスタ計算機 を選択 「ラスタバンド」の畑地を選択→カレントレイヤ の領域 を押す ラスタ演算式に次の式を入力(コピペでもOK) 44 メニュー→プロジェクト→新規 を選択 「kasen_distance.tif」「hatati1km.tif」 「irradiation.tif」を読み込み 「出力レイヤ」→選択「kappa.tif」※.tifも入力 ((("kasen_distance@1" < 100) * 100 + (100 <= "kasen_distance@1") * ("kasen_distance@1" < 500) * 50 + ("kasen_distance@1" >= 500) * 10) * "hatati1km@1" * (100 - "irradiation@1" / 100)) ^ 0.33333 ↑ダブルクリック で演算式↓に追加
45.
2014/10/31 FOSS4G Tokyo
2014 ハンズオン ラスタ演算式の解説1 ラスタ演算式の意味を説明します。 ※「河川からの距離」がkasen_distance、「畑地面積率」がhatati1km、 「日射量」がirradiationという名前のラスタレイヤになっています。 ( ( ("kasen_distance@1"<100)*100 + (100<="kasen_distance@1")*("kasen_distance@1"<500)*50 + ("kasen_distance@1">= 500)*10 ) * "hatati1km@1" * (100 - "irradiation@1" / 100) ) ^ 0.33333 最初のカッコの部分は、kasen_distanceのラスタ値が100より小 さければ1、そうでなければ0を返すという条件式です。 45 ("kasen_distance@1" < 100) (100 <= "kasen_distance@1") * ("kasen_distance@1" < 500) * 50 次の部分は、kasen_distanceが100以上であれば1を返す部分と、 kasen_distanceが500より小さければ1を返す部分を掛けています。 つまり、kasen_distanceが100以上かつ500より小さければ1を返し、 そうでなければ0を返します。また、最後にそれに対して50を掛けて いるので、この式の部分は河川からの距離が100mから500mの場所 はその値を50にするという意味になります。 ここまでの説明からkasen_distanceを含む 1段目の式は、以下の表のようにラスタ値を 変更するという意味になります。 つまり、川に近いと良い場所(100点)、遠 いと悪い場所(10点)になります。 演算式全体 演算式の説明1 演算式の説明2 演算式の説明3 河川までの距離ラスタの値 0~100m 100 100~500m 50 500m~ 10
46.
2014/10/31 FOSS4G Tokyo
2014 ハンズオン ラスタ演算式の解説2 ラスタ演算式の意味を説明します。 ※「河川からの距離」がkasen_distance、「畑地面積率」がhatati1km、 「日射量」がirradiationという名前のラスタレイヤになっています。 ( ( ("kasen_distance@1"<100)*100 + (100<="kasen_distance@1")*("kasen_distance@1"<500)*50 + ("kasen_distance@1">= 500)*10 ) * "hatati1km@1" * (100 - "irradiation@1" / 100) ) ^ 0.33333 2段目のhatati1kmの部分は、なにも変更せず0~100の畑地面積 率の値をそのまま使います。 46 "hatati1km@1" (100 - "irradiation@1" / 100) 3段目のirradiationの部分は、切片が100で傾きが-1/100の直線式となって います。なので、日射量が0(Wh.㎡.1day)だとラスタ値が100で、日射 量が10000(Wh.㎡.1day)だと0になるように変換されます。 つまり、日射量が少ないと良い場所(100 点)、多いと悪い場所(0点) になります。 最後に、kasen_distance、hatati1km、irradiationの 部分を掛けあわせて、それを0.33333乗しています。 これは各ラスタレイヤを0~100になるように変換し た上で、その相乗平均をとることを意味します。 つまり、ラスタレイヤの内1つでも0だと全体が0にな り、すべてのレイヤが100であれば100になります。 演算式全体 演算式の説明4 演算式の説明5 演算式の説明6 まとめ 総合すると、河川までの距離が近く、畑地が多く、 日射量が少ない場所が、カッパが出没しやすい場所 (100点)、反対に河川までの距離が遠く、畑地が少 なく、日射量が多い場所はカッパが出没しにくい場 所(0点)となるようにラスタ値を変換する式になっ ています。
47.
2014/10/31 FOSS4G Tokyo
2014 ハンズオン 生息適地マップレイヤのスタイルを設定して、生息適地の得点により 色分けした「カッパ生息適地マップ」を作成します。 レイヤを右クリック→プロパティ→スタイル生息適地としての得点で色分けされているの を確認 レンダータイプ→単バンド疑似カラー 最小/最大にチェック→読み込み 新規カラーマップを作成→Spectral 反転にチェック→分類 47 既定スタイルとして保存しておく
48.
2014/10/31 FOSS4G Tokyo
2014 ハンズオン 生息適地マップ色々なレイヤを重ねたり、スタイルを変更したりして 「カッパ生息適地マップ」を仕上げてみましょう! 48
49.
2014/10/31 FOSS4G Tokyo
2014 ハンズオン 応用編 カッパの生息適地マップの分析 49
50.
2014/10/31 FOSS4G Tokyo
2014 ハンズオン 入門編のおさらい 生息適地を推定するための地図データをQGISで変換&作成しました。 ◯ データを見ながら操作できる ✕ やり直し、繰り返しが面倒 生息適地を「それっぽい演算式」で推定しました。 ◯ それっぽい地図が作成できる ✕ 演算式の根拠が弱い 50
51.
2014/10/31 FOSS4G Tokyo
2014 ハンズオン 応用編の流れ ★ やり直し、繰り返しが簡単 GDAL&GRASSコマンドで 地図データ作成 ★ 演算式を分析的に構築 Rで生息適地マップの分析・作成 51 応用編の内容は、ここで完全に理解できなくても大丈夫です。コマン ドを使ったGISデータの扱いがどんな感じなのか雰囲気を掴んでもらえ ればOKです。各ソフトの習得法も紹介しますので、今後の独学のため のステップとしてもらえればと思います。
52.
2014/10/31 FOSS4G Tokyo
2014 ハンズオン 応用編 GDAL&GRASSコマンドで 地図データ作成・変換 52 入門編で作成したデータ(河川からの距離、畑地面積率、日射量、生 息適地)を、GDALとGRASSコマンドを組み合わせて作成します。
53.
2014/10/31 FOSS4G Tokyo
2014 ハンズオン GDALとは最初にGDALについて簡単な説明をします。 ・GISデータ変換のためのプログラムライ ブラリ ・GDAL Utility ProgramsというGISデー タ変換のための便利なコマンド集を提供し ている ・ GDALは多くのソフトでGISデータ変換 のために利用されている GDALを利用しているソフト 53 ArcGIS
54.
2014/10/31 FOSS4G Tokyo
2014 ハンズオン GDALコマンドGDAL Utility Programsで提供されている コマンドについて説明します。 54 ラスタ用ベクタ用 ラスタ情報表示 ファイル形式変換 投影法変換とか 標高関連、傾斜とか タイル地図作成 べクタ→ラスタ変換 距離ラスタ作成 ラスタ→ベクタ変換 ラスタ計算機 ベクタ情報表示 投影変換、ファイル形式変換 GDALコマンドを使えば、GISデータをいろいろ 操作できます。
55.
2014/10/31 FOSS4G Tokyo
2014 ハンズオン GDALコマンド例GDALコマンドの例を紹介します。 55 ژḱᴨḩὟᾛᾜᾤὥᾫᾠᾝὠ᷂ḀͨΌӭಐࣈὟᾪᾟᾘᾛᾜὥᾫᾠᾝὠḉ܂᷐ࣶḂ gdaldem hillshade dem.tif shade.tif ژḱᴨḩᷥЖঢḉὬὧᾤ✕Ὤὧᾤᷢٯ᷐Ḃ gdalwarp -r bilinear -tr 50 50 dem.tif dem50.tif ͆ᷥḡḑᴨṁḿḋḎṕḉᾌᾋᾄᷢҙ᷐Ḃ ogr2ogr -t_srs epsg:3100 data_utm.shp data.shp これをOSGeo4Wコンソールに打ち込むだけ
56.
2014/10/31 FOSS4G Tokyo
2014 ハンズオン OSGeo4Wの起動OSGeo4Wを起動して、簡単なコマンド操作をして みます。 OSgeo4W Shellのアイコン をダブルクリックして起動。 もしくは、スタート→すべてのプログラム →OSGeo4W→OSGeo4W Shell 56 コマンドを打って以下の操作を実行します。 •kappadataフォルダに移動 •kappadataの中のファイル一覧を表示 •mydataフォルダをmydata_qgisに名前を変更 •新たに空のmydataフォルダを作成 άά܂դḿḓṕḪᷢ̈́ବ >cd kappadata άάḿḋḎṕḉ͔ฅݸ >dir άάḿḓṕḪ൮ᷥٯ >mv mydata mydata_qgis άάࢡ᷎ᶻḿḓṕḪᷥ܂ࣶ >mkdir mydata ファイル名の途中でtabを押すと補完できます。 ↑↓ボタンを押すと、コマンド履歴が表示できます。
57.
2014/10/31 FOSS4G Tokyo
2014 ハンズオン 河川からの距離河川からの距離図をコマンドで作成してみます。 57 άάὗύὸᾃᷥधપ᷏᷁᷵ᷡᶻᴮṋṌṔѦଔุᷝᷟമلḒṝḝᴨḱḍṝḚᷥ݊પᴯ set GDAL_CACHEMAX=1024 set GDAL_FILENAME_IS_UTF8=NO set SHAPE_ENCODING=CP932 άάὗϳशḱᴨḩḉ݊પఇ̷ᷞḙṔḭṁ᷎ᷝଈΌೳḉҙ ogr2ogr -clipsrc 141.5 39.3333333 141.625 39.4166667 -s_srs epsg:4612 -t_srs epsg:3100 mydatakasen_UTM54.shp dataW05-07_03_GMLW05-07_03-g_Stream.shp άάὗЖঢὨὧᾤ✕Ὠὧᾤᷞϳशಊಠ᷃Ὠᷥṓḣḩᷢҙ gdal_rasterize -burn 1 -tr 10 10 -l kasen_UTM54 mydatakasen_UTM54.shp mydatakasen.tif άάὗṓḣḩਯ᷃Ὠ᷂ḀᷥԵฑḉבܭ gdal_proximity -distunits GEO -values 1 mydatakasen.tif mydatakasen_distance.tif άάὗḱᴨḩᷥѐᴮṓḣḩᴯ gdalinfo mydatakasen_distance.tif άάὗḱᴨḩᷥѐᴮṃḙḩᴯ ogrinfo -al -so mydatakasen_UTM54.shp άάὗᾈᾀᾊᷞѐ qgis mydatakasen_distance.tif kappadata¥生息適地コマンド.txtを開く コマンドを選択してコピー→コンソール で右クリック→貼り付け ::はコメント行なので無視される
58.
2014/10/31 FOSS4G Tokyo
2014 ハンズオン GDALコマンドの 習得法 最初からコマンドを自在に組み立てるのは難しいです。 そこでGDALコマンドをどうやったら習得できるのかを 紹介します。 58 コマンドのマニュアルを調べる(WEB) キーワードでググる→ブログやメーリン グリストを参考に真似する 本を見る(GDALに関する情報は多くあ りません) とにかくコマンドを打って試行錯誤する
59.
2014/10/31 FOSS4G Tokyo
2014 ハンズオン 1km圏畑地面積の計算で利用する GRASSとは1km圏畑地面積をGDALとGRASSコマンドで作成 しますが、その前にGRASSについて説明します。 59 GRASSの習得法 ハンズオンに参加する マニュアルを調べる(WEB) 本を見る ・1984年から公開されているオープンソース のGISソフトウェア ・もともとはコマンド操作を基本としていた が、今はGUIもある ・ラスタ形式、ベクタ形式ともにサポート し、豊富な解析コマンドがある。 今回はGRASSをコマンドからバッチ処理的な方法で 利用します。通常のように対話的な操作方法ではあり ませんが、GRASSコマンドの使い方は同じです。
60.
2014/10/31 FOSS4G Tokyo
2014 ハンズオン 1km圏畑地面積1km圏畑地面積をGDALとGRASSコマンドで作成し てみます。(GDAL部分の説明は同じなので省略) 60 άάὗᾉὸᾊᾊҤՉ᷏ࣞ᷁᷵ᷡᶻᴮޒڊҤՉᷥḻḣᴖḱᴨḩ়रᴖधપḿḋḎṕᷥ݊પᴯ set GISBASE=%OSGEO4W_ROOT%appsgrassgrass-6.4.4 set LD_LIBRARY_PATH=%GISBASE%lib;%LD_LIBRARY_PATH% set PATH=%GISBASE%bin;%GISBASE%etc;%GISBASE%etcpython;%GISBASE%lib;%GISBASE% extralib;%OSGEO4W_ROOT%appsmsysbin;%PATH% set PYTHONPATH=%GISBASE%etcpython set GISDBASE=%HOME%Desktopkappadatagrassdata ←今回はここを指定 set GISRC=%HOME%Desktopkappadatahandson.grassrc άάὗଈΌೳḉ݊પ᷎ᷝṗḛᴨḡṑṝḿḓṕḪḉ܂ࣶᴖḕṖṝḲṈḭṁḥḭḲḉधપḿḋḎṕᷢӫຉ g.gisenv.exe set="MAPSET=PERMANENT" g.gisenv.exe set="LOCATION_NAME=temp" g.gisenv.exe set="GISDBASE=%GISDBASE%" g.gisenv.exe set="GRASS_GUI=text" g.proj -c epsg=3100 location=temp άάὗḱᴨḩḉᾉὸᾊᾊᷢ᷶ڴ᷶ᴖבܭฺ͐ḉधપᴖᾩὥᾥᾜᾠᾞᾟᾙᾦᾩᾪḉޒڊᴖḱᴨḩḉࠟ᷄߾᷎ r.in.gdal --overwrite -o -e input=mydatahatati.tif output=tmp g.region rast=tmp r.neighbors --overwrite -c input=tmp output=tmp_neighbors method=average size=101 r.out.gdal -c createopt="TFW=YES,COMPRESS=LZW" input=tmp_neighbors output=mydata hatati1km.tif άάὗࠖซߘวؽᴖṗḛᴨḡṑṝḿḓṕḪḉ܃ࠪ rm -r %GISDBASE%temp ←epsgはデータによって変更 ↓GRASSコマンドの主要な部分
61.
2014/10/31 FOSS4G Tokyo
2014 ハンズオン 日射量日射量をGDALとGRASSコマンドで作成してみます。 61 άάὗᾉὸᾊᾊҤՉ᷏ࣞ᷁᷵ᷡᶻᴮޒڊҤՉᷥḻḣᴖḱᴨḩ়रᴖधપḿḋḎṕᷥ݊પᴯ 同じなので省略 άάὗଈΌೳḉ݊પ᷎ᷝṗḛᴨḡṑṝḿḓṕḪḉ܂ࣶᴖḕṖṝḲṈḭṁḥḭḲḉधપḿḋḎṕᷢӫຉ 同じなので省略 άάὗḱᴨḩḉᾉὸᾊᾊᷢ᷶ڴ᷶ᴖבܭฺ͐ḉधપᴖᾩὥᾪᾬᾥḉޒڊᴖḱᴨḩḉࠟ᷄߾᷎ r.in.gdal --overwrite -o -e input=mydataiwate_demUTM54.tif output=dem r.in.gdal --overwrite -o -e input=mydataaspect.tif output=aspect r.in.gdal --overwrite -o -e input=mydataslope.tif output=slope g.region rast=dem r.sun elevin=dem aspin=aspect slopein=slope day="172" glob_rad=globrad --overwrite r.out.gdal -c createopt="TFW=YES,COMPRESS=LZW" input=globrad output=mydata/ irradiation.tif άάὗࠖซߘวؽṗḛᴨḡṑṝḿḓṕḪḉ܃ࠪ 同じなので省略
62.
2014/10/31 FOSS4G Tokyo
2014 ハンズオン 生息適地の計算生息適地の計算をGDALコマンドで実行してみます。 (QGISで実施した演算式による手法) 62 άάὗᾟᾘᾫᾘᾫᾠὨᾢᾤὥᾫᾠᾝ᷂ḀḱᴨḩḒṔḌḉݸ᷐ṇṔḞṝᾘᾩᾜᾘὥᾪᾟᾧḉ܂ࣶ gdaltindex mydataarea.shp mydatahatati1km.tif άάὗᾢᾘᾪᾜᾥᾖᾛᾠᾪᾫᾘᾥᾚᾜᴖᾟᾘᾫᾘᾫᾠὨᾢᾤᴖᾠᾩᾩᾘᾛᾠᾘᾫᾠᾦᾥᷥḱᴨḩḉ᷐ᷰᷝᾘᾩᾜᾘὥᾪᾟᾧᷥఇ̷ᷢᷔḄᶿḂᴗ gdalwarp -overwrite -r near -tr 10 10 -dstnodata -9999 -t_srs epsg:3100 -crop_to_cutline -cutline mydataarea.shp mydatahatati1km.tif mydatar_hatati1km.tif gdalwarp -overwrite -r near -tr 10 10 -dstnodata -9999 -t_srs epsg:3100 -crop_to_cutline -cutline mydataarea.shp mydatakasen_distance.tif mydatar_kasen_distance.tif gdalwarp -overwrite -r near -tr 10 10 -dstnodata -9999 -t_srs epsg:3100 -crop_to_cutline -cutline mydataarea.shp mydatairradiation.tif mydatar_irradiation.tif άάὗᾞᾛᾘᾣᾖᾚᾘᾣᾚᷞṓḣḩίܭḉޒڊ᷐Ḃ gdal_calc --overwrite -A mydatar_kasen_distance.tif -B mydatar_hatati1km.tif -C mydata r_irradiation.tif --outfile=mydatakappa.tif --calc="pow(((A < 100) * 100 + (100 <= A) * (A < 500) * 50 + (A >= 500) * 10) * B * (100 - C / 100),0.33333)" άάὗḱᴨḩᷥѐ gdalinfo mydatakappa.tif qgis mydatakappa.tif gdal_calcで使用するラスタはすべて、同じ解像度、同じ範囲、同 じ投影法にそろえておく必要があります。
63.
2014/10/31 FOSS4G Tokyo
2014 ハンズオン コマンドの利点GDALやGRASSコマンドでデータを作成することによ る利点を説明します。 63 GISの処理をテキストに保存しておける 手順の再現、再利用が可能 プログラムと連携、バッチ処理ができる 宿題 •500m圏畑地面積率を計算してみましょう •冬至の日射量を計算してみましょう •演算式を変更して生息適地を計算してみましょう →少し数値を変えてコピペするだけ ※最近ではGISの処理をグラフィカ ルに作成・保存できる「モデル」や 「モデルビルダー」が利用できるよ うになってきています。
64.
2014/10/31 FOSS4G Tokyo
2014 ハンズオン おまけPythonとの連携PythonからGRASSを呼び出す方法を紹介します。 参考程度なので興味があれば調べてみてください。 64 # -*- coding: utf-8 -*- import os,sys import grass.script as grass import grass.script.setup as gsetup import binascii ଈΌೳḉ݊પ᷎ᷝṗḛᴨḡṑṝḿḓṕḪḉ܂ࣶᴖḕṖṝḲṈḭṁḥḭḲḉधપḿḋḎṕᷢӫຉ epsg = 3100 gisrc = os.environ['GISRC'] gisbase = os.environ['GISBASE'] gisdb = os.environ['GISDBASE'] location = binascii.hexlify(os.urandom(16)) mapset="PERMANENT" grass.run_command("g.gisenv.exe",set="GISDBASE="+gisdb) grass.run_command("g.gisenv.exe",set="LOCATION_NAME="+location) grass.run_command("g.gisenv.exe",set="MAPSET="+mapset) grass.run_command("g.gisenv.exe",set="GRASS_GUI=text") grass.run_command("g.proj",epsg=epsg,location=location,flags="c") gsetup.init(gisbase, gisdb, location, mapset) ᾩὥᾥᾜᾠᾞᾟᾙᾦᾩᾪᷥࠖซ input=sys.argv[1] output=sys.argv[2] size=sys.argv[3] grass.run_command("r.in.gdal", input = input , output = "tmp",flags="oe", overwrite=True) grass.run_command('g.region', rast="tmp", flags='ap') grass.run_command("r.neighbors", input = "tmp", output = "tmp_neighbors" , method = "average",size=size, flags="c",overwrite=True) grass.run_command("r.out.gdal", input = "tmp_neighbors", output = output,flags="c") άάࡱӫᷥᾧᾰᾫᾟᾦᾥḣḙṔṁḲḉޒڊᴮὪᾢᾤױᷞבܭ᷐Ḃ᷿ᶽᷢࣞ͢ḉ݊પᴯ >python neighbors.py mydata¥hatati.tif mydata¥hatati3km.tif 301 GRASS環境変数は設定しておく
65.
2014/10/31 FOSS4G Tokyo
2014 ハンズオン Rで使用する データの準備 Rで生息適地マップを分析する際に使用する データの作成と確認をしておきます。 άάὗᾉᷞܺෟ᷐ḂṈḣḙᴖͨΌࣈᷥ܂ࣶ gdal_rasterize -a_nodata -9999 -tr 10 10 -burn 1 dataecorisplan.shp mydataplan.tif gdalwarp -overwrite -r near -tr 10 10 -dstnodata -9999 -t_srs epsg:3100 -crop_to_cutline -cutline mydataarea.shp mydataplan.tif mydatamask.tif gdaldem hillshade mydataiwate_demUTM54.tif mydatashade.tif άάὗᾉᷞܺෟ᷐Ḃḕḭḻᷥѐᴖੴێఇ̷ᷥѐ ᾨᾞᾠᾪὗᾤᾰᾛᾘᾫᾘᾶᾪᾟᾘᾛᾜὥᾫᾠᾝὗᾛᾘᾫᾘᾶᾜᾚᾦᾩᾠᾪᾶᾧᾣᾘᾥὥᾪᾟᾧὗᾛᾘᾫᾘᾶᾜᾚᾦᾩᾠᾪᾶᾢᾘᾧᾧᾘὥᾪᾟᾧ 65
66.
2014/10/31 FOSS4G Tokyo
2014 ハンズオン 応用編 Rで生息適地マップの分析・作成 66 Rに現地調査結果のデータと、GDALとGRASSコマンドで作成した データ(河川からの距離、畑地面積率、日射量)を読み込み、その関 係性を分析します。そのあと、生息適地の演算式を統計モデリングを 利用して作成し、その結果を地図データとして出力します。
67.
2014/10/31 FOSS4G Tokyo
2014 ハンズオン Rとは最初にRについて簡単な説明をします。 67 • 統計解析のためのオープンソースのプログ ラム言語 • きれいな図やグラフを表示、出力できる • パッケージ(ライブラリ)を追加すること で機能を拡張することができる。 • 地図データを扱うパッケージを追加するこ とでラスタ、ベクタデータを読み込み、統 計分析することができる
68.
2014/10/31 FOSS4G Tokyo
2014 ハンズオン Rのパッケージ インストール Rを起動して地図データを扱うために必要な パッケージをインストールします。 パッケージ→ローカルにあるzipファイルからの パッケージのインストール を選択 68 kappadata¥program¥R_libraryのすべての ファイルを選択してインストール ※「personal libraryにインストールするか?」 というメッセージが出る場合はYesを選択 今回の分析では、dismo、rgdal、raster、ggplot2ライブラ リを利用します。そのライブラリを利用するために必要な パッケージファイルをインストールします。 通常は、ネットワークを利用してインストールしますが、 今回は回線の都合のためあらかじめ用意しておいたパッ ケージファイルからインストールします。
69.
2014/10/31 FOSS4G Tokyo
2014 ハンズオン スクリプトの読み込みあらかじめ用意しておいたRのスクリプト ファイルを読み込みます。 ファイル→スクリプトを開く を選択 69 kappadata¥kappa.R を選択 コンソール(コマンド実行、結果を表示) スクリプト(コマンドをまとめたもの)
70.
2014/10/31 FOSS4G Tokyo
2014 ハンズオン Rの基礎Rコンソールで簡単な操作をしてみます。 70 ܂դḱḍṖḙḲṔᷥݸᴮᾉᷢ᷁᷈ḂḝṋṝḲڊᷦᴯ > getwd() [1] "C:/Users/mizutani/Documents" ܂դḱḍṖḙḲṔᷥٯὟքढḁᷦᴭὦᴭᴖᾫᾘᾙᷞҐὠ > setwd("C:/Users/mizutani/Desktop/kappadata/") Ҫਓᷡבܭ > 1+2 [1] 3 בܭץϰḉࣞᾘᷢ৩Ὗ৩ᷢᷦὗέὤὗᷟᶻᶽӫڜḉܺᶽὠ > a<-2*3 ࣞᷥਯḉݸ > a [1] 6 ࣞᷥਯḉܺᷚᷝבܭ᷎ᴖᶹḀᷖᷡࣞᷢ৩ᴗבܭץϰḉݸᴗ > b<-a+4 > b [1] 10 このほかRについて最低限知っておか なければならないことは色々あります が、ここでは説明しません。 ・データ形式(スカラー、ベクトル、 行列、データフレーム、リスト) ・制御構文(if、forなど) ・関数など
71.
2014/10/31 FOSS4G Tokyo
2014 ハンズオン 地図データ読み込みRに地図データを読み込んで表示してみます。 71 ṓḎṀṓṔᷥ᷶ڴ᷶ᴮḻḭḛᴨḢᷦḎṝḣḲᴨṕۥ᷶ᴯ library(rgdal) library(raster) library(dismo) library(ggplot2) #GDAL設定おまじない(日本語エンコーディングの指定) setCPLConfigOption("GDAL_FILENAME_IS_UTF8","NO") setCPLConfigOption("SHAPE_ENCODING","cp932") #ラスタデータの読み込み(河川からの距離、畑地面積率、日射量) kasen_distance<-raster("mydata/r_kasen_distance.tif") hatati1km<-raster("mydata/r_hatati1km.tif") irradiation<-raster("mydata/r_irradiation.tif") shade<- raster("mydata/shade.tif") #地図表示 plot(kasen_distance) plot(hatati1km) plot(irradiation,col=cm.colors(12)) plot(shade,col=grey(1:100/100)) #ベクタデータの読み込み(カッパの確認地点、調査範囲) kappa <- readOGR("data/ecoris/kappa.shp","kappa") plan <- readOGR("data/ecoris/plan.shp","plan") #地図表示 plot(kappa) plot(plan) #地図の重ね合わせ plot(shade,col=grey(1:100/100)) plot(plan,add=T) points(kappa,col="red",cex=0.7,pch=20) スクリプトウインドウでCtrl+Rを 押すと、その行を実行します。 (複数行選択→実行も可)
72.
2014/10/31 FOSS4G Tokyo
2014 ハンズオン ラスタ値の抽出 カッパの確認地点における各ラスタ値を抽出し、調査 範囲内からランダムに作成したバックグラウンドデー タにおいてもラスタ値を抽出します。これらを合わせ て分析に使用するデータセットを作成します。 72 #説明変数としてラスタレイヤをまとめる predictors<-stack(kasen_distance,hatati1km,irradiation) #バックグラウンドデータ作成(maskデータ内のランダムなポイントデータ10000点) mask <- raster("mydata/mask.tif") set.seed(0) backg<-randomPoints(mask,n=10000) #地図表示 plot(mask,ext=extent(546817,551330,4354006,4358079)) points(backg,cex=0.05,pch=20) #カッパ確認地点とバックグラウンドデータのラスタ値を抽出する datapres <- extract(predictors,kappa) databackg <- extract(predictors,backg) #データ確認 head(datapres) head(databackg) #データセットを作成する(pa列にカッパ確認地点は1,バックグラウンドデータは0を入れる) pa<-c(rep(1,nrow(datapres)),rep(0,nrow(databackg))) data_rbind<-rbind(datapres,databackg) data_cbind<-cbind(pa,data_rbind) envdata<-data.frame(data_cbind) colnames(envdata)<-c("pa","川からの距離","1km圏畑地面積率","日射量") #データ確認 head(envdata) tail(envdata)
73.
2014/10/31 FOSS4G Tokyo
2014 ハンズオン データ分析① 作成したデータセットから単変量解析をしてみます。 73 #データ要約(pa==0はバックグラウンド、pa==1はカッパ確認地点) summary(envdata[envdata$pa==0,]) summary(envdata[envdata$pa==1,]) #ヒストグラムの表示 hist(envdata[envdata$pa==0,"川からの距離"],col="#ff00ff40") hist(envdata[envdata$pa==1,"川からの距離"],col="#0000ff40") hist(envdata[envdata$pa==0,"1km圏畑地面積率"],col="#ff00ff40") hist(envdata[envdata$pa==1,"1km圏畑地面積率"],col="#0000ff40") hist(envdata[envdata$pa==0,"日射量"],col="#ff00ff40") hist(envdata[envdata$pa==1,"日射量"],col="#0000ff40",add=T) #ggplot2でヒストグラム図作成(くわしく説明しませんがカッコイイ図を作成できます。) xval<-c("川からの距離","1km圏畑地面積率","日射量") windowsFonts(Meiryo=windowsFont("メイリオ")) for(i in 1:3){ #種データ情報と表示位置 mindata<-min(envdata[envdata$pa==1,xval[i]]) maxdata<-max(envdata[envdata$pa==1,xval[i]]) mediandata<-median(envdata[envdata$pa==1,xval[i]]) str<-paste(xval[i],"(確認地点)n","最小値:",sprintf("%2.2f",mindata),"n") str<-paste(str,"最大値:",sprintf("%2.2f",maxdata),"n") str<-paste(str,"中央値:",sprintf("%2.2f",mediandata),"n") xpos<-min(na.omit(envdata[envdata$pa==0,xval[i]])) pafactor<-as.factor(envdata$pa) p<-ggplot(envdata,aes_string(x=xval[i],fill="pafactor"))+ theme_grey(base_size=12,base_family="Meiryo")+ ylab("count(log_10)") + theme(legend.position=c(1,1),legend.justification=c(1,1),axis.title.x=element_blank()) + geom_histogram(position="identity",alpha=0.4) + guides(fill=guide_legend(title=NULL)) + scale_fill_discrete(labels=c("バックグラウンドデータ","確認地点データ")) + scale_y_log10()+ coord_cartesian(ylim = c(10^0, 10^4)) + annotate("text",x=xpos,y=8000,label=str,size=4,family="Meiryo",hjust=0,vjust=1) ggsave(paste("mydata/",xval[i],"分布.png",sep=""), p, width = 16, height = 16,unit="cm",dpi=300) }
74.
2014/10/31 FOSS4G Tokyo
2014 ハンズオン データ分析② 作成したデータセットから二変量解析をしてみます。 74 #説明変数間の相関係数 cor(envdata[envdata$pa==0,2:4]) #説明変数間の散布図 plot(envdata[envdata$pa==0,2:4],pch=".") #相関ペアプロット用関数 panel.cor<- function(x,y,digits=2,prefix="",cex.cor,...){ usr<-par("usr") on.exit(par(usr)) par(usr=c(0,1,0,1)) r<-abs(cor(x,y,use="complete.obs")) txt<-format(c(r,0.123456789),digits=digits)[1] txt<-paste(prefix,txt,sep="") if(missing(cex.cor)) cex.cor<-0.8/strwidth(txt) text(0.5,0.5,txt,cex=cex.cor*(1+r)/2) } panel.hist <- function(x,...){ usr<-par("usr") on.exit(par(usr)) par(usr=c(usr[1:2],0,1.5)) h<-hist(x,plot=FALSE) breaks<-h$breaks nB<-length(breaks) y<-h$counts y<-y/max(y) rect(breaks[-nB],0,breaks[-1],y,col="white",...) } #相関ペアプロット図 ppi=300 png(file="mydata/相関ペアプロット.png", width=16/2.54*ppi, height=16/2.54*ppi,res=ppi) pairs(envdata[envdata $pa==0,2:4],pch=".",upper.panel=panel.cor,diag.panel=panel.hist,lower.panel=panel.smooth) dev.off()
75.
2014/10/31 FOSS4G Tokyo
2014 ハンズオン 統計モデリング統計モデリングにより生息適地を推定してみます。 ※統計モデリングについては説明しません。 75 #統計モデルを作成(glmを利用) colnames(envdata)<-c("pa","r_kasen_distance","r_hatati1km","r_irradiation") fit<- glm(pa~ . + I(r_kasen_distance^2) + I(r_hatati1km^2) + I(r_irradiation^2),family=binomial(link="logit"),data=envdata) fit fit<-step(fit) summary(fit) #モデルの評価(AUC、閾値、ROC曲線、予測値の分布比較) e<-evaluate(p=envdata[envdata$pa==1,],a=envdata[envdata$pa==0,],fit,type="response") e threshold(e) plot(e,"ROC") density(e) boxplot(e,col=c("blue","red")) #モデルにより生息適地を計算、表示、データ書き出し pg<-predict(predictors,fit,type='response') plot(pg) plot(plan,add=T) points(kappa,col='red',pch='+') tr<-threshold(e,'kappa') plot(pg>tr) writeRaster(pg, filename="mydata/カッパ生息確率.tif", format="GTiff", overwrite=TRUE)
76.
2014/10/31 FOSS4G Tokyo
2014 ハンズオン 応答曲線の作成説明変数の変化が生息適地にどのような影響を及ぼす かを示す応答曲線を作成してみます。 ※詳しくは説明しません。 76 #glm応答曲線用関数 predictvals <- function(model,xvar,data,...){ f <- sapply(data, is.factor) notf <- !f m <- matrix(nrow=1, ncol=ncol(data)) if (sum(notf) > 0) m[notf] <- as.numeric(apply(subset(data[,notf,drop=FALSE],pa==1), 2, mean)) if (sum(f) > 0 ) m[f] <- as.numeric(apply(subset(data[,f,drop=FALSE],pa==1), 2, modal)) m <- matrix(m, nrow=nrow(data), ncol=length(m), byrow=TRUE) colnames(m) <- names(data) m<-data.frame(m) m[f]<-sapply(m[,f,drop=FALSE],factor) v<-data[,xvar] if (!is.factor(v)) { xrange<-range(v) m[,xvar]<-seq(xrange[1],xrange[2],length.out=nrow(data)) }else{ m[,xvar]<-v } m['pa']<-predict(model,m,type='response') m } #応答曲線 for(i in 1:3){ xval<-c("r_kasen_distance","r_hatati1km","r_irradiation") xlabel<-c("川からの距離","1km圏畑地面積","日射量") rn<-range(envdata[,xval[i]]) xpos<-(rn[1]+rn[2])/2 gml_predicted <-predictvals(fit,xval[i],envdata) res<-ggplot(envdata,aes_string(x=xval[i],y="pa")) + geom_line(data=gml_predicted,color="red") + xlab(xlabel[i])+ylab("生息適地確率") + geom_line(y=tr,color="blue",size=1,linetype="dashed") + annotate("text",x=xpos,y=0.07,label="生息適地閾値(Cohhen's Kappa)") ggsave(paste("mydata/",xlabel[i],"応答曲線",".png",sep=''),res, width = 16, height =16,unit="cm",dpi=300) }
77.
2014/10/31 FOSS4G Tokyo
2014 ハンズオン ggplot2で地図作成ggplot2で生息適地マップを作成してみます ※詳しくは説明しません。 77 #ggplot2で生息適地マップ作成 windowsFonts(Meiryo=windowsFont("メイリオ")) en<-crop(pg,extent(546620,551600,4354300,4358100)) hs<-crop(shade,extent(546620,551600,4354300,4358100)) hdf <- rasterToPoints(hs) hdf <- data.frame(hdf) colnames(hdf) <- c("X","Y","Hill") edf <- rasterToPoints(en) edf <- data.frame(edf) colnames(edf) <- c("X","Y","Environment") adf<-fortify(plan) colnames(adf)[1:2] <- c("X","Y") sdf<-data.frame(kappa@coords) colnames(sdf)[1:2] <- c("X","Y") g<-ggplot(NULL, aes(X, Y)) + theme_grey(base_size=13,base_family="Meiryo")+ geom_raster(data = edf, aes(fill = Environment)) + geom_raster(data = hdf, aes(alpha = Hill)) + scale_alpha(range = c(0.5, 0), guide = "none") + scale_x_continuous(breaks=NULL,limits=c(546620,551600),expand=c(0,0)) + scale_y_continuous(breaks=NULL,limits=c(4354300,4358100),expand=c(0,0)) + geom_path(data= adf,aes(group=group),colour = "#333333", size = 0.5) + geom_point(data=sdf,aes(x=X,y=Y,colour="black"),size=1.5,alpha=0.8) + scale_colour_manual(guide=guide_legend(title=NULL),name = '確認地点', values = 'black', labels = '確認地点') + coord_equal() + theme(legend.position=c(1,1),legend.justification=c(1,1),axis.title.x=element_blank(),axis.title.y=element_blank()) g<-g+scale_fill_gradientn(name="生息適地",colours = c("white","green","yellow","orange","red")) ggsave("mydata/カッパ生息適地マップ.png", g, width = 16, height = 16,unit="cm",dpi=300) plot(g)
78.
2014/10/31 FOSS4G Tokyo
2014 ハンズオン 地図データを扱うための Rの習得法 Rで地図データを分析出力するには「統計」「コマン ド」「グラフィックス」の知識が必要です。そこで地図 データを扱うためにRをどうやったら習得できるのかを 紹介します。 78 本を見る(Rは情報が多い) とにかくコマンドを打って試行錯誤する キーワードでググる (Rは情報が多い) 「統計」はあきらめて勉強する 生息適地推定については↓のPDFがお薦め
79.
2014/10/31 FOSS4G Tokyo
2014 ハンズオン お疲れ様でした。 上手くいったのは皆様のおかげ。 失敗したのは、妖怪のせい。 79 e-mail: mizutani.takayuki+handson@gmail.com twitter: @tmizu23
Jetzt herunterladen