Upload
yoichi-kayama
View
2.090
Download
2
Tags:
Embed Size (px)
Citation preview
FOSS4Gを利用した水害時避難経路探索システムの構築
嘉山陽一FOSS4G2010 Osaka
自己紹介
• OSGeo.JP 運営委員
• GISA 学会 (FOSS4G 分科会)• QGIS 日本語GUI 翻訳 コーディネータ
• GIS プログラマ 研究員
朝日航洋株式会社
• Twitter ID @pokopen
システムの目的
• レーザー計測データの応用方法提案
• 空間データ利用システム作成にあたりFOSS4G利用の有用性を検証する
浸水想定区域図の整備
• 国土交通省と都道府県は2001年以来洪水予報河川および水位周知河川において水防法に基ずく浸水想定区域図を公表しています。
■浸水想定区域図を公表する河川洪水予報指定河川・国土交通大臣指定河川・都道府県知事指定河川避難判断水位(特別警戒水位)への水位の到達情報を通知および周知する河川(水位周知河川)・国土交通大臣指定河川・都道府県知事指定河川
浸水想定区域図
http://www.ktr.mlit.go.jp/tonejo/saigai/sinsuisoutei/tonegawa_zentai.pdf
洪水ハザードマップの整備
• 河川管理者から提供された浸水想定区域及び想定される水深を表示した図面(浸水想定区域図)に洪水予報等の伝達方法、避難場所その他洪水時の円滑かつ迅速な避難の確保を図るための必要な事項などを記載したものであり、平成17年に改正された水防法第15条に基づき、浸水想定区域を含む市町村の長は、洪水ハザードマップを作成し、各世帯に提供。
市町村で作成した洪水ハザードマップ
http://www.town.itakura.gunma.jp/kurashi/kinkyuu/hazard.html
関東地区のハザードマップ整備状況
http://www.mlit.go.jp/river/bousai/main/saigai/tisiki/syozaiti/pdf/hm-kanto.pdf
http://www.mlit.go.jp/river/shishin_guideline/bousai/press/200507_12/050705/050705_manual.pdf
浸水想定区域の計算単位
浸水位 250m 地形 50m
50m grid を地形に重ねてみます
2m grid と 50m grid の比較
2m 50m
50m gridより 2m grid のほうが細かい単位で浸水判定を行える
2m 50m
より細かいgridを利用したほうが
浸水判定を詳しくできる
細かいgridの地形データ
はどのように作成できるでしょうか
LiDAR SystemAERO ASAHI CORPORATION
ALMAPS
航空機の姿勢および加速度情報ω,φ、κ、a
IMU
航空機の空間位置情報X1,Y1、Z1
GPS on aircraft
レーザー照射角および往復時間
θ,t
Laser Scanner
航空機の空間位置の補正情報
X2,Y2、Z2
Ground GPS
LiDAR を利用すると細かい地形データを取得できます
ALMAPS(Asahi Laser MAPping System/Aerial Lidar Mapping)
LIDARを利用した2m grid 地盤高データ
を利用して細かい地形単位の浸水判定を行えるようになった
2m
2m
2m
2m
LIDAR データを利用して浸水想定領域図を再作成
想定浸水深データは想定破堤箇所別に作成。破堤後10分単位の時間別ラスタデータ。
各ピクセルは浸水深の数値
20minute
30minute
40minute
50minute
60minute
10minute
想定浸水深の状況を破堤後経過時間別にみることができます
破堤後10分
破堤後20分
破堤後50 分
破堤後120 分
破堤後180 分
このような細かい単位の想定浸水深データを利用すると
• 道路ネットワークデータをオーバーレイして利用するれば浸水していない道路のみを利用した経路探索ができないだろうか?
そのようなシステムの作り方は?
経路探索システムを作成する場合
• pgRouting というオープンソースのシステムがある
pgRouting は最短距離探索のための優れたシステム
pgRoutingではSQLの条件式で表現できるものは検索条件として付加できる
• PostGIS/PostgreSQLの条件式として条件を記述.
• PostGISでは地物間の空間位置関係判定を関数として利用できる.
• PostGIS の関数を利用すれば地物間の空間的位置関係をpgRoutingの検索条件に利用できる.
しかし!!
• リリースされている安定版PostGISではベクタ
タイプのジオメトリしか利用できない(ラスタが扱える版もある).
• LIDARデータと想定浸水深データはラスタデータ.
• 想定浸水深データは(安定版)PostGISの空間関数では利用できない.
pgRoutingでラスタデータを利用できないか?
• 想定浸水領域のラスタをポリゴンのようなベクタデータに変換できればPostGISの空間関数で利用でき、pgRoutingでも利用できる.
• そのような機能を持ったプログラムは?
GRASS
• GRASSは最も古い世代のオープンソースGIS• ラスタ、ベクタに関する豊富な機能をもつ
データ変換手順Import raster of flood area to GRASS mapset
r.in.gdal
Select the pixels from raster these are submerged =( depth >= 0.3m).Create a new raster using selected pixels with value 1 and other pixels with null.
r.mapcalc "D_SINSUI_NEW = if (D_SINSUI_ORG >= 0.3,1,null())"(D_SINSUI_NEW is new raster name D_SINSUI_ORG is original raster name)
Convert the raster to the vectorr.to.vect --overwrite --verbose input=D_SINSUI_NEW output=D_SINSUI_POLYGON feature=area
Export the vector of flood area to the shapev.out.ogr -c -e -p --verbose input=D_SINSUI_POLYGON type=line,boundary,area
dsn=D_SINSUI_shp
Make a SQL to load the shape file of flood area to the PostGIS/PostgreSQL databaseshp2pgsql -s 2451 D_SINSUI public.D_SINSUI_TBL > DSinsui.sql
Execute the SQL to load the flood area polygons to the PostGIS/PostgreSQL database
psql -d dbname -U Username -f DSinsui.sql
START
END
想定浸水深データをGRASS mapset にインポート
r.in.gdal
浸水している領域の選択=( depth >= 0.3m).新規ラスタの作成
ピクセル値 浸水域 1 その他はnull とする.
r.mapcalc "D_SINSUI_NEW = if (D_SINSUI_ORG >= 0.3,1,null())"
ラスタをベクタに変換
r.to.vect --overwrite --verbose input=D_SINSUI_NEW output=D_SINSUI_POLYGON feature=area
変換後polygon
変換したベクタをshapeファイル出力
v.out.ogr -c -e -p --verbose input=D_SINSUI_POLYGON type=line,boundary,area dsn=D_SINSUI_shp
作成したshapeファイルをPostGIS/Postgresql データベースにロード
以下の SQLで浸水領域を通らない経路探索が可能
SELECT vertex_id , edge_id , cost FROM shortest_path_astar( -- shortest path A star
'SELECT a.gid as id, source, target, cost as cost, x1, y1, x2, y2 FROM ways as a where a.gid not in( select b.gid from ways as b, suishin_polygon_all as c where c.minute = 30
-- after 30 minute from bank breakand ST_Intersects(b.the_geom,c.the_geom))‘
-- is geometries intersect? a function of PostGIS,4799, 3962, false, false)
/* source id, target id, directed, has reverse cost */
pgRouting を利用すると• ネットワークを使って経路探索を行える
• しかし検索結果はSQLの答えの文字列のみ.• pgRoutingだけでは結果の地図表示はできない. • 経路検索の結果を地図表示する方法は?
pgRouting の経路検索を地図表示する方法はたくさんある
• OpenLayers のようなWEBマッピングシステム
• デスクトップGIS たとえば QGIS, uDig, gvSIG, Open JUMP
etc……
• FOSS4G ツールはデータの相互利用がやり
やすい例が多いので組み合わせ応用ができる.
今回は QuantumGIS を利用
• インターネット無のスタンドアロン利用も想定された
• 日本語GUI(文部科学省宇宙利用で作成)が存在
• 外部プラグインとして
機能拡張可能.
pgRouting利用システム構成
DEM
Floodedarea
Roadnetwork
Shelter sPoints
PostgreSQL
PostGIS
PgRouting
QuantumGIS
QGISPythonPlug-in
避難所への経路
Start point
target pointroute
Submerged area
overflow point
浸水していな経路が無い場合
Start point
Submerged area
overflow point
破堤後10分の経路検索
Start point
target point
route
Submerged areaoverflow point
破堤後30分の経路検索
Start point
target point
route
Submerged areaoverflow point
到達圏検索
Start point
Within 30 minute , reachable route by walking without submerged road
Demo
FOSS4G を利用することで
• FOSS4G を利用は柔軟な空間データの利用を可能にする(低コストで).
• pgRouting, PostGIS/PostgreSQL, GRASS, QGISは それぞれの分野で豊富な機能を持っている.
• このようなFOSS4Gプロダクトの組み合わせは
空間情報利用分野における強力なソリューションとなりうる
• 本研究を「国土交通省関東地方整備局管内氾濫解析基礎資料作成業務」に利用し,関係する方々の指導・助言・協力をいただいた.QuantumGIS,GRASSは文部科学省宇宙利用促進調整委託費の「FOSS4Gを利用した衛星データの利用のためのオープン・リソースの構築」の日本語化成果を利用した. pgRouting, PostGIS, PostgreSQL,GRASS,QuantumGISはFOSS4Gコミュニティが作成・維持している成果を利用した.関係する官庁,企業,コミュニティの方々に感謝します.
謝辞
ご清聴ありがとうございました