組み合わせて作る オープンソースGIS環境 鮭科生息地解析を例として

Download Report

Transcript 組み合わせて作る オープンソースGIS環境 鮭科生息地解析を例として

組み合わせて作る
オープンソースGIS環境
鮭科生息地解析を例として (20min)
今木 洋大
(NOAA, Northwest Fisheries Science Center )
オープンソースGISを使うことの強み
1. 研究の必要に合わせ自分なりに地理情報解
析を行う環境を作り上げられる
2. オープンソースコミュニティーは道具がいっ
ぱい
1. freegis.org: 2月27日現在、349のGIS関連ソフト
2. Sourceforge: オープンソースソフトの宝庫
3. Python, R , NASA World Wind
3. 高機能フリーソフト
1. Google Earth, Virtual Earth
どのような状況で?
• コロンビア川の河川および河畔林タイプ予測
– 予測モデルの構築および予測
• PostGIS + QGIS + R
– 河川の傾斜計測、そのほかの属性抽出
• PostGIS + StarSpan + Python
– 予測結果の現地踏査
• PostGIS + GoogleEarth + GeoServer
– 結果地図の図表化
• PostGIS + MapScript + Python
– 河川の抽出(ラスター分析)
• GDAL + Python + NumPy
PostGIS、QGIS、Rの関係
GISデータ
の視覚化
QGIS
PostGIS
R
環境修復を目的とした米国コロンビア
川における鮭科生息地解析
• プロジェクトの目的
– 絶滅危惧種に指定されているシャケ科5種の生
息環境修復のためのガイドライン作り
• 方法
– ヨーロッパ移民による土地改変が大規模に行わ
れる以前(1850年頃)の生息環境をGIS上に復元
– 復元された生息環境を参照して修復事業の優先
順位付け、および修復のガイドラインを作成
コロンビア川流域
総面積 668,000km2
主流総延長 2,000km
日本総面積
377,944km2
潜在的にはどんな川?
直線型
蛇行型
島網型
網型
河川形態類型はBeechie et al. 2(2006) に従う
河川形態を決める5つの要素
根茎の強さ
樹木の供給
堆砂供給
堆砂サイズ
流量
河川の傾斜
谷の閉じこみ度
最終的なアウトプット
島網型
閉塞型
直線型
蛇行型
分析の流れ
属性値の計
算
トレーニング
データの作成
トレーニング
データの保存
予測モデルの
作成と予測
データの
視覚化
バギング
線形判別分析
ランダムフォレスト
サポートベクターマシン
PostGIS
R
QGIS
フィールドへの
データの持ち出し
予測値の
保存
GoogleEarth
GeoServer
PostGISとは?
• 空間情報データベースの一種
– 他にはOracle、MySQL、SQLite、IBM DB2、SQL Server2008、Ingres
等がある
– このうちオープンソースは、 PostgreSQL、MySQL、 SQLite、Ingres
• 空間情報データベースとは?
– データベース上でジオメトリーオブジェクト定義し、ジオメトリー情報を
格納し、空間情報の検索やジオメトリーの操作を可能にしたリレー
ショナルデータベース
• PostgreSQLのオープンソース ライブラリとして提供
– PostGISという単独のGISソフトウェアーではない
– いうなれば、PostgreSQLを機能拡張するアドインのようなもの
PostGISとは?
QGISからのPostGISデータの利用
QGISからのPostGISデータの利用
PGquery
for QGIS
PostGIS SQL
マネージャー
PostgreSQLへの
PostGIS
シェープファイル
マネージャー
のインポート
QGISからPostGISクエリー
分析の流れ
属性値の計
算
トレーニング
データの作成
トレーニング
データの保存
予測モデルの
作成と予測
データの
視覚化
バギング
線形判別分析
ランダムフォレスト
サポートベクターマシン
PostGIS
R
フィールドへの
データの持ち出し
予測値の
保存
QGIS
GoogleEarth
実際には、
RODBCで
PostgreSQLにア
クセス
Rパッケージを使
いモデルの作成
モデルを使い予
測
RODBCで予測結
果をPostgreSQL
に戻す
# ライブラリーの読み込み
library (RODBC)
# 接続オブジェクトの作成
channel<-odbcConnect("cb_basin2", uid="postgres")
#SQL文の作成
sql_count <- paste ("select count uid from channel_table;")
#SQL文の実行と変数への格納
n_rows <- sqlQuery(channel, sql_count)
# 接続の切断
odbcClose(channel)
フィールドでのオープンソースGIS
属性値の計
算
トレーニング
データの作成
トレーニング
データの保存
予測モデルの
作成と予測
データの
視覚化
バギング
線形判別分析
ランダムフォレスト
サポートベクターマシン
PostGIS
R
QGIS
フィールドへの
データの持ち出し
予測値の
保存
GoogleEarth
GeoServer
フィールドでのオープンソースGIS
• 予測した河川形態型を現地踏査で確認する
予測結果の保存
データのWMSレイ
ヤー化
PostGIS
R
QGIS
予測結果とGPSポイ
ントの現地での重
ね合わせ
GoogleEarth
GeoServer
GeoServerは何をするのか?
• リアルタイムで要求に応じて地図画像を作成
する (Web Mapping Service)
• 地図情報のブラウザーであるGoogle Earthの
要求を受けて地図画像を作成
Google Earth によるレイヤーの重ね合
わせ例
Google Earthで
リアルタイムナビケーション
まとめ
• オープンソース+フリーGISソフトで自分の研
究環境にあったGIS環境を築くことができる
• オープンソースコミュニティーに積極的に参加
することにより、コミュニティー全体のレベル
が上昇する
• どんどん使って見よう!
• オープンソースGISポータル GeoPacific.org