Share
Embed
No.3_Python・QGISを用いた地震災害時の避難障害シミュレーション分析
PLATEAU AWARD 2025 ファイナリスト作品No.3
チーム名:Nakamura Yoshiyuki
作品名:Python・QGISを用いた地震災害時の避難障害シミュレーション分析
国土交通省国際・デジタル政策課
March 04, 2026
Transcript
48 slides
-
対象地域 ポイント(目指す在り方) ◆ 実効性を持った地域防災計画等への活用 • このシミュレーション手法により、予測震度・建築物等の立地条件など地域特性を加味した危険なエリアや改 善すべき道路等を具体的に把握 • パラメータを自分で操作することでより汎用的にシミュレーション実行可能 ◆
オープンデータ・オープンソースの活用による情報共有 • PLATEAUというオープンデータをQGISといったオープンソースのソフトウェアで活用し、シミュレーションにより 得られたデータから旧耐震木造などの地震に耐震性の低い建物による道路閉塞や消防活動困難地域の拡大 のおそれのある地域を関係者間での共有を可能にする。 ◆ 省力化 • リアルなデータを用いることで、改善すべき建築物や道路をピンポイントで定め、該当道路等周辺の住民に対 する耐震化のアプローチなどの対策に優先順位をつけて重点的に行う等、データ駆動型の施策立案と実施を 進める -
背景 阪神・淡路大震災 高齢化・空き家率の増加 • 震災による死者は6,434人に及ぶ。 • 犠牲者のほとんどは自宅における死亡であり、戦前の木造住宅が比較的多く残存していた地域での死者が多 かったとされる。 • 死因のほとんどは、家屋の倒壊や家具などの転倒による圧迫死。
• 負傷者約43,800人についてもその多くは家具などの転倒、家屋の倒壊、落下物などによるもの。 • 建物の倒壊による道路閉塞が起こっている。 • 令和5年住宅・土地統計調査 調査の結果によると空き家率は13.8%で過去最高。 • 空き家は一戸建・木造が約7割、また、3/4超が新耐震基準以前に建築されている。 • また、居住者の高齢化に伴い、旧い住宅の耐震化率も低い現状がある。 令和5年住宅・土地統計調査 https://www.stat.go.jp/data/jyutaku/2023/tyousake.html シミュレーション分析による地震災害時の旧家屋が周囲へ与えるリスクの見える化・改善エリアの把握 -
• 建物の倒壊 全壊率を基にした、Pythonのrandom関数によ る乱数シミュレーション • 避難ルート Python NetworkXパッケージ •
避難所等へ到達できなくなる、閉鎖されるルートの 発生 • 避難所等への到達、消防活動に遅延が発生する ルート • 車両の交通渋滞などによる逃げ遅れが発生する可 能性のあるルート シミュレーション方法 • PLATEAU 建物・道路ポリゴン、建物の高さ (建物構造・建築年代) • 避難所所在地(※1) • 震度マップ(※2) 選定地域の予測震度 使用するデータ シミュレーション方法 避難支障として想定される事態 • 道路中心線 幅員情報 PLATEAUの道路 ポリゴンと路線IDによる情報連携 PLATEAUには建物の建築年や構造などのデータが必要 (※)しずマップ―静岡市地理情報システム 防災マップ ∟ 地震に関する情報 ∟ 想定震度分布図(葵・駿河区で最大になるケース) (※2) ∟ 避難に関する情報 ∟ 避難所(※1) -
シミュレーション方法 建物ポリゴンのデータ成型の流れ 建物全壊率から倒壊シミュレーション PLATEAUとのマッチング PLATEAU建物ポリゴンに予測震度・全壊率を付与 ・(建築年&構造)静岡市 PlATEAU建物ポリゴンにも ともと付与されているデータ ・静岡市オープンデータより、建物位置から予測震度を付与 ►これらの情報から全壊率をあてはめる。
Pythonのrandom関数により、建物全壊 率に基づきランダムに建物を倒壊させる。 ◆全壊率 - 東京都防災ホームページ https://www.bousai.metro.tokyo.lg.jp/_res/projects/default_project/_page_/001/000/402/p art3-4-2.pdf ◆計測震度 - 気象庁HP 計測震度の算出方法 https://www.data.jma.go.jp/eqev/data/kyoshin/kaisetsu/calc_sindo.html ※実際には全壊率と倒壊率は異なるが、今回は全壊率の割合を使用 →全壊により倒壊、壁面崩壊などによるがれきが流出すると考える。 ※震度6強の計測震度は一律6.7を設定 ※建築年が不明のもの→2000年(新耐震)を設定。 ※階数が不明なもの→1階高さを約7mに設定 …予測震度 …建築年・構造 …全壊率 -
シミュレーション方法 道路ポリゴンのデータ成型の流れ 道路中心線の整備 PLATEAUとの情報整理 PLATEAU道路ポリゴン とPLATEAU建物倒壊ポ リゴンとの交差抽出 ラインデータによる避難 路等の分析 国土地理院ベクトルタイル提供実
験から、ズームレベル 16でデータ をダウンロード。道路線を geojson に変換して道路中心線として整備 ※最短経路検索を行うにはラインデータが必 須 道路中心線とPLATEAU道路ポ リゴンデータに同じ道路なら同じ キー情報を持たせるように整 理。道路中心線との交差部分か らPLATEAU道路ポリゴンに幅員 情報を計算して付与。 共通キー PLATEAU 道路中心線 道路中心線 PLATEAU道路ポリゴンと建物の 倒壊ポリゴンの交差部分を抽出 し、幅員の減少幅(または閉塞フ ラグ)を計算する。共通キーを使 用し、道路中心線へ減少幅、閉 塞フラグを転記する。 道路中心線 道路中心線 ラインデータを使用して最短経路検 索を行い、避難路の分析を行う。 ※閉塞部分はラインを切断。 残存幅員による可変的な移動速 度(車か徒歩か)などを設定し シミュレーションする。 PLATEAU 国土地理院ベクトルタイルとその提供実験について :https://maps.gsi.go.jp/development/vt.html -
シミュレーション方法 道路ポリゴンデータ成型過程 -幅員の算出 (Python処理) • 出来上がったラインデータは道路中心線として整理。 • 具体的には上図のように PLATEAU道路部分のポリゴンとは 1対1で交差
し、交差点部分のポリゴンとは 1対多で交差するよう整理する。(手作業) • 道路ポリゴン部分と交差する道路中心線の長さから、「 面積÷長さ」を計算 し、幅員を算出する。 • 交差点ポリゴン部分は計算できないため作業しない。 交差長さ 幅員を算出 • 国土地理院ベクトルタイル提供実験より静岡市対象 地域のベクトルデータをズームレベル 16でダウン ロードしてGeojsonとして保存 道路ポリゴン 交差点ポリゴン 道路中心線 ダウンロードデータの例 -
シミュレーション方法 道路ポリゴンデータ成型過程 -幅員減少幅、閉塞の判定 (Python処理) ・建物ポリゴンごとに道路ポリゴンとの交差を確認。 交差部分の面積と交差部分の長さを取得し、「 面積÷長さ」 から道路閉塞幅を算出 ※ 不規則な面積も長方形で均されてしまうが、一律判定可能
交差面積 交差長さ 幅員減少 幅を算出 ・減少後の幅員が0.5m未満の場合、道路閉塞とみなす。 ※ 瓦礫によって危険な道路であると思われることから、別の 道を選ぶと想定。 単一建物による幅員減少幅の算出、道路閉塞判定 複数建物による道路閉塞判定 • 車で通行する際、車の横幅 (1.5m)×道路距離分の面積が必要と考え る。このことから、道路ポリゴンの面積から倒壊した建物ポリゴンと道 路ポリゴンとの交差面積を差し引き、差し引き後の道路ポリゴンの残 存面積が車の交通に必要な面積より少なければ車での交通は不可 と考える。 • 同様に人の交通に必要な幅 (0.5m)についても考える。 …車の交通に必要な面積 …人の交通に必要な面積 ・複数の倒壊建物ポリゴンが道路ポリゴンと交差する場合は、 もっとも幅員減少幅が大きいものを保持。 道路ポリゴン残存面積と車、徒歩に必 要な面積を比較 この部分の幅は計算できない -
シミュレーション方法 道路ラインデータによる避難路等の分析方法 (Python処理) • 閉塞を生じさせた建物ポリゴンと道路中心線との交差部分を 削除、面積により閉塞判定した道路ラインデータの両端を 1.2m削り、道路中心線をノード( )とエッジ( )に変換。 ノード… • 最大幅員減少幅をエッジごとに管理。これにより、車で交通
可、徒歩のみで交通可をエッジごとに判断し、各建物から避 難所までのルートにかかる距離、時間を計測( Python NetworkX)。 道路ラインデータ(エッジ) 面積により閉塞判定した道路ポリゴン 個別建物の倒壊により閉塞 判定した建物 交差点。エッジ同士のつながりを管理。 また、避難路の検索においては、始点、終点とな る。 エッジごとに幅員減少幅を保持しており、これに より車交通可能か、徒歩交通となるかを管理。 … • 以下の分類ごとに速度を管理。 残存幅員2.5m以上 …時速30kmで車で移動 残存幅員1.5m以上、2.5m未満…時速15kmで車で移動 残存幅員0.5m以上、1.5m未満…時速4.5kmで徒歩で移動 ※なお、一度徒歩に切り替わった場合、その後も徒歩移動 ※車は軽自動車を想定。 0.5m幅減少 0.5m幅減少 の情報を保持 削除 切断 平時 出発 到着 地震災害 時 出発 到着 時速30km 時速15km 時速4.5km 時速4.5km イメージ ※処理としては両端を1.2m ずつ削る -
シミュレーション方法 Python処理の流れ 項番 繰返し 操作 工程 インプット Python実 行コード アウトプット
処理内容 アウトプットファイルの属性に 対する付加情報 1 対象外 (初回 のみ) 建物ポリゴンの作 成 (CityGMLから GPKGデータへ変 換) 建物ポリゴン gml_gpkg.p y PLATEAUプラグインだけでは必要な属性情 報が抽出できなかったため、citygml-toolsを用 いてCityGMLをGPKGに変換。 処理上geojsonとしているので、QGIS上の操 作でGPKGからgeojsonに変換。 静岡市のPLATEAUに当初 から整備されている属性情 報を保持してGPKGファイル として出力 建物ポイント *.gml (地名)_plateau.gpkg 全壊後建物ポリゴン 道路ライン 道路ポイント 道路ポリゴン *.gml (地 名)_road_plateau.shp 2 対象外 (初回 のみ) 道路中心線のダウ ンロード 建物ポリゴン *.geojson geojson_do wn.py (地名)_road.shp ズームレベル16程度で道路線が一本となるた め、こちらのレベルでダウンロードする。 ベクトルタイルに当初から整 備されている属性情報を保 持してgeojsonとしてダウン ロードし、シェイプファイルで 保存。 建物ポイント 全壊後建物ポリゴン 道路ライン 道路ポイント 道路ポリゴン -
シミュレーション方法 Python処理の流れ 項番 繰返し 操作 工程 インプット Python実 行コード アウトプット
処理内容 アウトプットファイルの属性に 対する付加情報 3 対象外 (初回 のみ) 道路道路中心線と 道路ポリゴンデータ による道路幅員算 出及び共通キー作 成 建物ポリゴン rosenID_pos ting_width.p y 道路中心線の路線IDを道路ポリゴンに転記す る。また、道路中心線と道路ポリゴンの面積及 び中心線との交差部分長さから道路幅員を算 出し、道路ポリゴン及び道路中心線に付与す る。 交差点ポリゴンには路線IDを転記しない、ま た、幅員算出も行わない。別途交差点IDを付 与する。 ※道路中心線はあらかじめ QGISのフィールド計 算機で路線IDに固有のIDを付与する。 路線ID、交差点ID、道路幅 建物ポイント 全壊後建物ポリゴン 道路ライン (地名)_road.shp 道路ポイント 道路ポリゴン (地 名)_road_plateau.shp (地 名)_road_plateau_id.sh p 4 対象 全壊建物randomシ ミュレーション 建物ポリゴン (地 名)_plateau_zenkairitsu .geojson ※GIOJSON指定 build_destro y.py (地 名)_plateau_destruction .geojson pythonのrandom関数で、全壊率に基づき建物 の全壊シミュレーションを行う。建物高さ、階層 から、周囲への影響範囲を指定して建物の四 方にバッファを発生させる。 倒壊結果…1(全壊),0(全壊し ていない) 建物ポイント 全壊後建物ポリゴン 道路ライン 道路ポイント 道路ポリゴン -
シミュレーション方法 Python処理の流れ 項番 繰返し 操作 工程 インプット Python実行 コード アウトプット
処理内容 アウトプットファイルの属性に対 する付加情報 5 対象 個別全壊建物による 幅員減少幅の計算、 閉塞の判定 建物ポリゴン cross_analysis 7.py 交差面積、交差長さ、最大幅員減少幅、最大幅員減少 幅を生じさせた建物ID、道路閉塞フラグ、閉塞させた建 物ID(複数ある場合、セミコロンで区切り複数記載)を保 存する。閉塞があった場合、幅員減少幅は、閉塞させて いない建物による幅員減少幅を入力する。閉塞のみが発 生した道路は幅員減少幅は0となる。 道路をまたいで閉塞させる建物がある場合、交差長さを 合計すると倍程度の長さとなってしまうため、セグメント(ラ インの集合)ごとに交差長さを合計し、1セグメントあたりの 交差長さが総合計の40%以上であれば道路をまたいで いると判定する。なお、交差点ポリゴンに対する幅員減少 幅は処理上、無視する。 int_area…総交差面積(単位:㎡) 建物ポイント int_length…総交差長さ(単位:m) 全壊後建物ポリゴン (地 名)_plateau_destructio n.geojson max_width…最大幅員減少幅(単 位:m) 道路ライン w_build_id…最大幅員減少を生じさ せた建物ID 道路ポイント is_closed…1(閉塞)、0(閉塞していな い) 道路ポリゴン (地 名)_road_plateau_id.g eojson (地 名)_road_kosa_with_reductions.s hp c_build_id…閉塞原因建物ID(複数 の場合はセミコロン区切り) 6 対象 複数全壊建物による 閉塞判定 建物ポリゴン area_analysis. py 道路ポリゴンの残存面積(1つの道路ポリゴンから全 壊後建物ポリゴンの交差面積を除いた残差)が、車が 通行するために必要な面積( 1.5m×道路長さ)又は人 が通行するために必要な面積( 0.5m×道路長さ)を超 えているかどうかチェック。複数建物の全壊により、車 が通行できるかどうか、人が通行できるかどうかを道 路面積から判定し、それぞれのフラグを管理する。な お、道路長さは道路ポリゴンと道路中心線データの交 差部分の合計とするため、 2方向以上のラインデータ が交わる交差点ポリゴンにおいては不自然な結果が 出るが、交差点ポリゴンへの影響は処理上、無視す る。 rem_area…残存面積 建物ポイント line_len…道路ラインとの交差長さ 全壊後建物ポリゴン (地 名)_plateau_destructio n.geojson car_access…1(車通行可能)、0(車通 行不可) 道路ライン (地名)_road.shp ped_access…1(人通行可能)、0(人通 行不可) 道路ポイント 道路ポリゴン (地 名)_road_kosa_with_r eductions.shp (地 名)_road_plateau_area_analysis.s hp -
シミュレーション方法 Python処理の流れ 項番 繰返し 操作 工程 インプット Python実行 コード アウトプット
処理内容 アウトプットファイルの属性に対 する付加情報 7 対象 閉塞部分のラインを 切断 建物ポリゴン closedpoint2. py 個別全壊建物による道路閉塞判定において、閉 塞を発生させた建物IDと道路中心線データとの 交差部分を削除。複数全壊建物による道路閉塞 判定において、人の通行が不可と判定された道 路ポリゴンに対応する道路ラインデータの両端を 1.2m削除する。路線ID(道路ポリゴンと道路ライン との共通キー)を使って道路ポリゴンに行った処 理結果を道路ラインデータに移行する。また、切 断されたラインの重複路線IDにサフィックス(子番 号付与(末尾にアンダーバー01から始まる2桁数 値[_XX])を付与)処理を行う。 道路ポリゴンから道路ライン データへデータ移行 建物ポイント 全壊後建物ポリゴ ン (地 名)_plateau_destruction.g eojson 道路ライン (地名)_road.shp (地 名)_road_split_with_all_attribute s.shp 道路ポイント 道路ポリゴン (地 名)_road_plateau_area_an alysis.shp 8 対象 道路ラインデータを ノードとエッジに変換建物ポリゴン node_edge3.p y 道路中心線データをノード(◦)とエッジ(―)に変換 する。 エッジ作成時、エッジの距離を算出・保持(m単 位)。また、(地 名)_road_split_with_all_attributes.shpの属性情報 から、maxwdth、is_closed、car_access、 ped_accessの情報を転記。 (地名)_edges.shp 建物ポイント edgeID、startnode、endnode、 length(単位:m)、 路線ID(転記)、maxwdth(転記)、 is_closed(転記)、 car_access(転記)、ped_access(転記) 全壊後建物ポリゴ ン 道路ライン (地 名)_road_split_with_all_a ttributes.shp (地名)_edges.shp 道路ポイント (地名)_nodes.shp (地名)_nodes.shp 道路ポリゴン nodeID、座標情報(X,Y) -
シミュレーション方法 Python処理の流れ 項番 繰返し 操作 工程 インプット Python実 行コード アウトプット
処理内容 アウトプットファイルの属性に対する付 加情報 9 対象 避難路最短経路検索 建物ポリゴン (地 名)_plateau_destruction.geojso n NetworkX7. py すべての建物から最寄りの避難所までの最短経路 検索を行う。以下の速度設定で距離・時間を計測 する。 ・残存幅員が2.5m以上の場合、30km/h(ただし残 存面積が車の通行不可である場合、徒歩 ) ・残存幅員が1.5m以上、2.5m未満の場合、 15km/h(ただし残存面積が車の交通不可である場 合、徒歩) ・残存幅員が0.5m以上、1.5m未満の場合、4.5km/h ※避難路の途中で一度徒歩に切り替わった場合、 幅員が広い道路にでても徒歩のまま ※建物出発点となる最寄りノードと避難所最寄り ノードが同じ場合はルート発見できない r_id…ルートID b_id…建物ID 建物ポイント (地名)_shelters r_found…(1)ルート発見、(0)ルート発見できない n_node…避難経路の出発点となる最寄りのノードの ID 全壊後建物ポリゴン p_nodes…通過するノードのID 道路ライン (地名)_edges.shp (地名)_routes.shp e_30km…速度30km/hで通過したエッジのID e_15km…速度15km/hで通過したエッジのID 道路ポイント (地名)_nodes.shp e_4_5km…速度4.5km/hで通過したエッジのID walk_f…(1)徒歩に切り替わった、(0)徒歩に切り替 わらなかった 道路ポリゴン t_time…避難に要した時間(単位:分) t_dist…避難に要した距離(単位:m) 10 ― 繰り返し処理 建物ポリゴン (地 名)_plateau_destruction.geojso n batch_simul ation8.py 項番2~7の成果 物のうち、インプッ トファイルの3つか ら必要な項目を繰 返し回数分CSV ファイルで出力す る 項番2~7の処理を順番に実行する。実行 後、処理ファイルは先頭に [XXXX_]の番号 (イテレーション(繰り返し)番号)を附番してリ ネーム処理を行う。リネーム後、指定した回 数を上限に繰り返し処理を行う。 項番2~7の処理のアウトプットファイルから 任意の属性情報を指定回数分記録し、 CSV ファイルとして保存する。 出力する CSV 01_倒壊結果.csv、02_閉塞状況 (max_width).csv、03_閉塞状況 (w_build_id).csv、04_閉塞状況 (is_closed).csv、05_閉塞状況 (c_build_id).csv、06_閉塞状況 (car_access).csv、07_閉塞状況 (ped_access).csv、08_避難路検索結果 (r_found).csv、09_避難路検索結果 (p_nodes).csv、10_避難路検索結果 (walk_f).csv、11_避難路検索結果 (t_time).csv、12_避難路検索結果 (t_dist).csv 建物ポイント 全壊後建物ポリゴン 道路ライン (地名)_routes.shp 道路ポイント 道路ポリゴン (地 名)_road_plateau_area_analysi s.shp -
シミュレーション方法 Python処理(繰り返し)の流れ build_destroy.py cross_analysis7.py area_analysis.py closedpoint2.py node_edge3.py NetworkX7.py 結果の一部を CSV出力
結果の一部を CSV出力 結果の一部を CSV出力 レイヤー コード実行 CSV [n回数繰り返し] batch_simulation8.py 結果分析へ wait.py(2sec) wait.py(2sec) wait.py(2sec) wait.py(2sec) wait.py(2sec) wait.py(2sec) 建物はランダムに全壊する。その全壊する建物の組み合わせは途方もないが、複数回実行し、平均値をとって偏りを少なくする。 -
シミュレーション方法 シミュレーション結果の分析方法 項目名 項目 詳細 摘要 id 建物の固有ID 地域名アルファベット+B+四桁数字連番 例)SB0001
usage 建物種別 建物の用途を記載 例)住宅、店舗兼住宅 等 buildingStructureType 建物構造 建物の構造を記載 例)木造・土蔵 等 yearOfConstruction 西暦年月日 建物の建築年を西暦(四桁)で記載 例)1980 等 X X軸座標 平面直角座標系Ⅴ(EPSG:6676Ⅴ)でX軸を記載 Y Y軸座標 平面直角座標系Ⅴ(EPSG:6676Ⅴ)でY軸を記載 kozo 建物構造 主構造から木造、非木造を区別したもの 例)木造 kozonendai 構造年代 kozo+建築年から年代別に9区分するもの (木造旧築年、木造中築年1、木造中築年2、木造新築年1、木造新築年2、木造新築年3、非木造旧築年、非木造中築 年、非木造新築年) 例)木造中築年2 storeysAboveGround 階数 建物の階数 例)2 measuredHeight 建物高さ 高さを記載(単位:m) tokaihani 倒壊範囲 全壊建物による瓦礫流出の範囲を記載(単位:m) (木造は一階部分の高さ(例:2階建てなら 2で除す)、旧耐震非木造であれば建物の高さ、 新耐震非木造であれば 0) shindo 予測震度 予測震度マップ上の予測震度から計測震度にしたもの zenkai 全壊率 構造年代と予測震度から得られる全壊率を当てはめたもの 建物マスターテーブル( (地名)_plateau_zenkairitsu.geojsonの属性情報) -
シミュレーション方法 シミュレーション結果の分析方法 項目名 項目 詳細 摘要 路線ID 道路の固有ID 地域名アルファベット+R+四桁数字連番 例)SR0001
道路幅 道路の幅員 道路の幅員(単位:m) buffer 道路幅員/2 道路の幅員を2で割ったもの(単位:m) 道路PLATEAUデータとの幅員確認用 道路マスターテーブル( (地名)_road.shpの属性情報) 項目名 項目 詳細 摘要 r_id ルートID 各避難ルートの固有ID 例)1 b_id 建物ID 避難路検索の主体 例)SB0001 r_found ルート検索フラグ ルート発見できたかどうか 1…ルート発見、0…ルート発見できない n_node 出発点ノード 避難経路の出発点となる最寄りのノードのID p_nodes 通過ノードID 通過するノードのID e_30km 30km/h通過エッジID 速度30km/hで通過したエッジのID e_15km 15km/h通過エッジID 速度15km/hで通過したエッジのID e_4_5km 4.5km/h通過エッジID 速度4.5km/hで通過したエッジのID walk_f 徒歩フラグ 避難中徒歩に切り替わったかどうか 1…徒歩に切り替わった、0…徒歩に切り替わらなかった t_time 経過時間 避難に要した時間(単位:分) t_dist 経過距離 避難に要した距離(単位:m) 最短経路検索実行結果 ((地名)_routes.shpの属性情報) -
シミュレーション方法 シミュレーション結果の分析方法 項目名 項目 詳細 摘要 id 建物の固有ID 地域名アルファベット+B+四桁数字連番 例)SB0001
試行回数 建物の全壊判定 1:該当、0:非該当 試行回数分列に記載。 項目名 項目 詳細 摘要 路線ID 道路の固有ID 地域名アルファベット+R+四桁数字連番 例)SR0001 試行回数 最大幅員減少幅 全壊後建物ポリゴンによる幅員減少幅のうち、最大のもの。 試行回数分列に記載。 項目名 項目 詳細 摘要 路線ID 道路の固有ID 地域名アルファベット+R+四桁数字連番 例)SR0001 試行回数 最大幅員減少させた建物 最大幅員減少幅を生じさせた建物IDを記載 試行回数分列に記載。 実行結果CSV 01_倒壊結果.csv((地名)_plateau_destruction.geojsonの属性情報から抽出) 02_閉塞状況(max_width).csv((地名)_road_plateau_area_analysis.shpの属性情報から抽出) 03_閉塞状況(w_build_id).csv((地名)_road_plateau_area_analysis.shpの属性情報から抽出) -
シミュレーション方法 シミュレーション結果の分析方法 項目名 項目 詳細 摘要 路線ID 道路の固有ID 地域名アルファベット+R+四桁数字連番 例)SR0001
試行回数 道路閉塞の状況 1(true):閉塞、0(false):閉塞していない 試行回数分列に記載。 項目名 項目 詳細 摘要 路線ID 道路の固有ID 地域名アルファベット+R+四桁数字連番 例)SR0001 試行回数 道路閉塞させた建物 道路閉塞を生じさせた建物IDを記載 試行回数分列に記載。 項目名 項目 詳細 摘要 路線ID 道路の固有ID 地域名アルファベット+R+四桁数字連番 例)SR0001 試行回数 車通行可能かどうか 1(true)::車通行可能、0(false):車通行不可 試行回数分列に記載。 04_閉塞状況(is_closed).csv((地名)_road_plateau_area_analysis.shpの属性情報から抽出) 05_閉塞状況(c_build_id).csv((地名)_road_plateau_area_analysis.shpの属性情報から抽出) 06_閉塞状況(car_access).csv((地名)_road_plateau_area_analysis.shpの属性情報から抽出) -
シミュレーション方法 シミュレーション結果の分析方法 項目名 項目 詳細 摘要 路線ID 道路の固有ID 地域名アルファベット+R+四桁数字連番 例)SR0001
試行回数 徒歩で通行可能かどうか 1(true):人通行可能、0(false):人通行不可 試行回数分列に記載。 項目名 項目 詳細 摘要 b_id 建物の固有ID idとおなじ 例)SB0001 試行回数 避難路があるかどうか 1(true):ルート発見、0(false):ルートなし 試行回数分列に記載。 項目名 項目 詳細 摘要 b_id 建物の固有ID idとおなじ 例)SB0001 試行回数 経由ノード 出発から到着まで経由したノードを記載(複数ノードはセミコロン区切り) 試行回数分列に記載。 07_閉塞状況(ped_access).csv((地名)_road_plateau_area_analysis.shpの属性情報から抽出) 08_避難路検索結果(r_found).csv((地名)_routes.shpの属性情報から抽出) 09_避難路検索結果(p_nodes).csv((地名)_routes.shpの属性情報から抽出) -
シミュレーション方法 シミュレーション結果の分析方法 項目名 項目 詳細 摘要 b_id 建物の固有ID idとおなじ 例)SB0001
試行回数 徒歩に切り替わったかどうか 1:徒歩に切り替わった、0:徒歩に切り替わらなかった 試行回数分列に記載。 項目名 項目 詳細 摘要 b_id 建物の固有ID idとおなじ 例)SB0001 試行回数 避難(場)所までの移動時間 建物最寄りノードから避難(場)所最寄りノードへ移動する時間を分単位で記載 試行回数分列に記載。 10_避難路検索結果(walk_f).csv((地名)_routes.shpの属性情報から抽出) 11_避難路検索結果(t_time).csv((地名)_routes.shpの属性情報から抽出) 項目名 項目 詳細 摘要 b_id 建物の固有ID idとおなじ 例)SB0001 試行回数 避難(場)所までの距離 建物最寄りノードから避難(場)所最寄りノードへ移動する時間をm単位で記載 試行回数分列に記載。 12_避難路検索結果(t_dist).csv((地名)_routes.shpの属性情報から抽出) -
シミュレーション結果 シミュレーション結果(全体) • 南側に閉塞・孤立回数の多い地域が集中 • 閉塞原因は木造旧耐震または木造新耐震の建物 • 一部、周辺に閉塞が見られないが、孤立している建物がある。 QGISへプロット 凡例
建物の孤立回数 道路閉塞回数 閉塞原因建物の構 造年代(円グラフ) 木造旧耐震 木造新耐震 非木造旧耐震 batch_simulation8.pyにより、 300回シミュレーションを実施 【全体的なシミュレーション結果】 周辺に道路閉塞がないが、 頻繁に孤立している。 … -
シミュレーション結果 避難路の平時との避難時間を比較 (n=7,478) すべての建物を避難ルートの出発点としており、多 くの建物は5分以内の遅れだが、最大で20分避難 に送れる建物がある。 ※ ただし、建物の出発点(最寄りノード)と避難 所の当着点(避難所ノード)が同じ場合は ルート検索しない。
単位:分 平時ルート検索結果と、11_避難路検索結果(t_time).csvの結果を比較 検証④-避難時間の平時との比較 -
シミュレーション結果 以下のデータを使用して、消防活動困難地域(主に消防活動に必要な幅員6m以上の道路からホース延長距離 140mの範囲内)の広がりを検 証 ・02_閉塞状況(max_width).csv (最大幅員減少幅を平均) 地震災害前 地震災害後 6m以上幅員の道路から 140mのバッファを発生 …6m以上幅員道路
…1.5m以上幅員道路 …1.5m未満幅員道路 …6m以上幅員道路から 発生させた140mバッファ 幹線道路がしっかりしているためか、140mバッ ファの範囲に大きな差はないものの、特に赤枠部 分は明らかに幅員が減少していることがわかる。 検証⑦-消防活動困難地域の広がり検証 -
シミュレーション結果 路線ID 道路幅(m) 単一建物 による閉塞 複数建物 による閉塞 平均の最大 幅員減少幅 残存幅員(m)
SR0031 20.08542217 0 0 0 20.08542 SR0109 23.00698452 0 0 0.607153196 22.39983 SR0150 11.37474088 0 0 0.9807047 10.39404 SR0155 20.25143033 0 0 0 20.25143 SR0558 18.763652 0 0 0.320414123 18.44324 SR0616 20.32334541 0 0 0 20.32335 SR0617 19.40541439 0 0 0 19.40541 SR0656 19.8503806 0 0 0 19.85038 SR0657 19.56573316 0 0 0 19.56573 SR0763 20.03019942 0 0 0.617430884 19.41277 SR0837 19.20206678 0 0 0.67435657 18.52771 SR0879 23.3026391 0 0 0 23.30264 SR0880 23.57723527 0 0 0 23.57724 SR0961 21.8916103 0 0 0.069051505 21.82256 SR1161 11.68004148 0 0 0 11.68004 SR1163 13.73150107 0 0 0.416032151 13.31547 SR1255 9.759938533 0 0 0.219175235 9.540763 SR1319 10.20205169 0 0 0.18253829 10.01951 SR1321 21.97792174 0 0 0 21.97792 SR1355 14.89925755 0 0 1.167642068 13.73162 SR1359 9.699223049 0 0 0.304205058 9.395018 SR1386 19.80711268 0 0 0 19.80711 SR1445 9.643068445 0 0 1.653098635 7.98997 SR1451 9.622087014 0 0 0 9.622087 SR1452 9.579602383 0 0 0 9.579602 SR1496 10.11395472 0 0 1.86702754 8.246927 300回試行した結果、単一建物や複数建物による 障害は発生せず。平均の最大幅員減少幅も通行や 緊急車両に必要な幅員は確保されている。 以下の処理結果を利用し、緊急輸送路への影響を検討 • 02_閉塞状況(max_width).csv (最大幅員減少幅を平均 ) • 04_閉塞状況(is_closed).csv (単一建物による閉塞回数を合計 ) • 07_閉塞状況(ped_access).csv (複数建物による閉塞回数を合計 ) 緊急輸送路 (黒太線) 検証⑧-緊急輸送路への影響調査 -
シミュレーション結果 Networkx7.py(避難(場)所までの最短経路検索 )の出力ファイルである [(地名)_routes.shp]ファイルには、車が通行する道路を記載している。 その道路面積は、車が通行する台数分の面積を持っているか、検証する。 →避難時に渋滞が発生するかどうか、発生する場合の割合を検証 batch_simulation8.pyにより、リネーム退避された 1~300のGISデータの内容を参照し、追加調査( batch_congestion_0300.py)を実施。 列名
内容 備考 路線ID 道路の固有ID SRXXXX A_road_m2 [路線ID]の道路ポリゴンの残存道路面積 XXXX_szoksrg_road_plateau_area_analysis.geojsonの残存面積(rem_area) rem_width_m 残存幅員の平均値 道路幅員-最大幅員減少幅の平均値 k 車間係数 車間距離を含めた車一台当たりの面積を算出するための、車の面積に対する係数 残存幅員に応じて必要な車間を変更。 (残存幅員4m未満=1.5倍、残存幅員4m以上=2倍) N_cars [路線ID]を車が通過した数 XXXX_szoksrg_routes.shpの車通行(e_30km、e_15km)ノードを路線IDに当てはめて通過した 車の数をカウント(徒歩切替したものも含む) A_elf 車一台当たりの通行必要面積 軽自動車の車体(1.5m×3.4m)×車間係数[k] A_demand_m2 [路線ID]を車が通行する際に使用する面積の合計 [N_cars]×[A_elf] occ_ratio 道路ポリゴンの残存面積を通行車両が占める割合 平均的な混雑割合 A_demand_m2÷A_road_m2の300回平均 occ_pct occ_ratio × 100 平均的な混雑割合(%表示) lack_m2 道路面積-車通行面積 (A_road_m2 - A_demand_m2) プラス …道路残存面積の方が多く、通行にあまり支障がない。 マイナス…車通行に必要な面積が多く、渋滞・詰まっている。 p_occ_gt_100 [路線ID]が、車避難で(道路面積<車占有面積)状態になる確 率 300回試行のうち、渋滞(occ_pct > 100 )になった割合。 (occ_pct > 100 となった回数を300で除す。値の範囲は0以上1以下) ※幅員が1.5mにもともと満たない道路は処理結果に含まれない。 追加調査する Python処理(batch_congestion_0300.py)により出力される CSVの内容 検証⑨-自動車避難による混雑状況検証 -
シミュレーション結果 凡例(p_occ_gt_100の値) 処理結果 濃い赤の道路ほど、渋滞となる確率が高い状態になっている(車通行に必要 な面積が道路面積を超過)。 幹線道路に集中しているようにも見えるが、幹線道路に隣接する道路につい てもぽつぽつ赤い道路が確認できる . ※このシミュレーションでは、避難者はまず車を選択する、幅員が大きければ速度が速くなる ため、大きな幅員道路を選択する(避難(場)所までの到達時間に比重を置いたルート検索とし
ているため)という前提があり、過大評価な部分はある。 2025年7月30日カムチャツカ半島沖地震時の津波警報における避難行動において、多くの避難者が車移動を選択した。 車での避難をどう考えるか。 検証⑨-自動車避難による混雑状況検証 -
本シミュレーションの課題・将来構想 過去震災事例との比較検証(今後の課題) • 阪神・淡路大震災 • 令和6年能登半島地震 など 被災時のGISデータのアーカイや先行研究などにより多くのデータが蓄積されている。 しかしながら、このシミュレーションにおいては、具体的な都市データが必要。 【発災前の建物】 建築年代
建築構造 高さ など 【発災前の道路】 道路ライン、ポリゴンのデータ 航空写真などから建物ポリゴンの生成、建築年代、構造の推定、道路ラインポリゴン、ラインデータの復元などに取り組 み、一部の地域でも再現できれば、先行研究との突合により震災時の被害をシミュレーションにより再現でき、現在課題と 感じている部分の解決が図られるかもしれない。 GISデータの例 ◆摂南大学理工学部 都市環境工学科都市・地域計画研究室 阪神・淡路大震災建物被災状況の GIS情報化 https://www.setsunan.ac.jp/~civ/teachers/fukushima/katudou/hisai.html ◆災害復興GISデータアーカイブ 令和6年能登半島地震に関する GISデータ https://masumura.ues.tmu.ac.jp/dr_gis/2024_noto_peninsula_earthquake/ -
謝 辞 謝 辞 このシミュレーション手法を検討するにあたり、政策研究大学院大学(現 国立研究開発法人 建築研究所)片山耕 治先生に、また道路最短経路検索においては同大学土谷隆先生にご知見を賜りました。その他関係教授に多大 なるご支援・ご指導を賜りました。心より感謝申し上げます。 コード掲載
https://github.com/deenbmg-wq/Python-QGIS- 以下のページでコードを掲載しています。今後どなたかの開発のヒントや気づきになれば幸いです。 -
【参考】本シミュレーションで参考にした先行研究 • 阪神・淡路大震災における「街路閉塞現象」に着目した街路網の機能的障害とその影響(家田ら) 調査対象地区ごとに、街路幅員別に道路閉塞の発生状況を明らかにし、また、救助・消火・救援活動などへの影響を各関係機関にイ ンタビューを実施し分析した。沿道建物の被災程度、種別、街路幅員、歩道幅員が地震後の通過可能幅員に強く影響していること、 幅員8m以上の車道においては倒壊建物があっても車両通行がおおむね可能であることを明らかにした。震災後の救助・消火・救援 活動への影響として、緊急車両等の通行機能の障害、消火活動等の現場作業の障害を発生させ、諸活動に混乱をもたらしたことが 分かった。 • デジタル道路地図を活用した災害時における道路閉塞の可視化と道路網の防災性能評価(後藤ら)
家田らの研究内容から、長野市防災アセスメントの結果を用いてデジタル道路地図のラインデータに閉塞率を付与し、モンテカルロシ ミュレーションにより道路閉塞シミュレーションを行った。消防等の緊急車両、県外からの救援車両や市役所間の連絡車両の通行を 分析し、特定のシミュレーションにおいては緊急車両、救援車両に交通障害が発生することを明らかにした。このシミュレーションで は、個別建物の特徴・立地関係、一般車両や主要道路以外の道路を考慮していない。 • 緊急輸送道路の災害リスクを考慮した都道府県庁と市町村役場間の到達可能性に関する分析(大澤ら) 新潟県、富山県、石川県、福井県、長野県の5県を対象に、県庁・市役所間の広域的な観点から地震による建物倒壊と河川氾濫の 複合災害における道路閉塞を想定し、緊急輸送道路への影響を分析している。複合災害では到達不能となる市町村役場が増加し、 県庁からの到達県も縮減する結果となり、緊急輸送道路には高い可能性で被災する恐れのある区間が多数あることを明らかにした。 この研究においては緊急輸送道路以外の代替路が考慮されていない。また、道路の閉塞判定は瓦礫流出範囲が道路にかかれば閉 塞と判定している。 被災地の街路閉塞の分析 GIS(道路ライン、建物ポリゴンなど)データを用いたシミュレーション分析 -
【参考】本シミュレーションで参考にした先行研究 • 建物倒壊および道路閉塞のモデル化による避難経路の危険度を考慮した避難地への到達可能性に関する研 究(市川ら) 東京都荒川区町屋駅周辺の23町丁目を対象に、密集市街地の個別建物に着目した倒壊シミュレーション実施。個別建物には構造、 年代を町丁目単位で考慮している。また、複数の倒壊建物による道路閉塞の判定ロジックを用いた。出発点 a~d を設定し、一時避難場所までの到達可能性や平常時との避難距離の差を評価した。同様に一時避難場所から広域避難場所までの 到達可能性についても評価を行っている。指定した 4か所から一時避難場所、一時避難場所から広域避難場所への徒歩の避難のみ
を想定している。瓦礫流出が道路中心線を超えたものに対し、手作業で交通可能性を判断している。 • 震災時の道路閉塞状況からみた文化財の危険度評価(亀井ら) 京都市に広範囲に存在する文化財の危険度評価のため、京都市全域の個々の建物の倒壊をシミュレーションし、消防施設から文化 財の立地地点までの交通可能ルートの有無を予測した。また、建物単位での建築年代・構造の推定方法を新規に提案している。本 研究においては、倒壊建物の瓦礫流出が道路中心線を分断すれば道路閉塞と判定している。 • 緊急輸送道路閉塞をもたらす沿道空き家の抽出分析(佐藤ら) つくば市、つくばみらい市、下妻市、稲敷市の空き家実態調査の結果から、除却の優先度が高い空き家を特定することを目的とし、 GIS を用いて緊急輸送道路の閉塞の恐れのある空き家を抽出した。緊急輸送道路のみに着目しており、また、空き家の建築構造な どは考慮されていない。道路閉塞の恐れの判定は空き家の瓦礫流出が緊急輸送路にかかれば影響ありと判断している。 GIS(道路ライン、建物ポリゴンなど)データを用いたシミュレーション分析 -
【参考】シミュレーション方法の前提条件 建物ポリゴンデータ成型過程 -建物倒壊による影響範囲の考え方 • 建物の倒壊や、瓦礫流出の方向(どちらの向きに倒れるか、流出するか)を考慮することは難しい。そのため、既往研究(市川 ら、亀井ら)と同様、四方に一定の範囲、影響を与えるという考え方で建物による道路閉塞をシミュレーションする。 • 影響を与える範囲として、建物の高さをそのまま影響範囲と考える研究(大澤ら、市川ら)があるが、亀井らの研究においては、 阪神・淡路大震災の既往研究の実態調査と比較検討し、高さ ÷4を瓦礫流出幅として採用している。このシミュレーションでは構
造年代によって影響を与える範囲を決定した。 例えば建物の四方4m分倒壊、瓦礫 の流出が発生すると考える。 道路ポリゴンにより、幅 員4mの道路を再現 道路との交差部分に 2.75mの閉塞が発生 -
【参考】シミュレーション方法の前提条件 建物ポリゴンデータ成型過程 -建物倒壊による影響範囲の考え方 • 1階部分の倒壊 倒壊の影響=建物の高さ ÷2 • すべて倒壊
倒壊の影響=建物の高さ 岩屋付近(灘区/1995年1月18日) 桜ヶ丘町付近(灘区/ 1995年1月17日) 阪神・淡路大震災「1.17の記録」 写真提供:神戸市 =高さ÷2 =高さ 木造二階建 木造平家建 なお、非木造は、旧耐震(1980年以前)のものは建物の高さ分周囲に影響を与え、 新耐震(1981年以降)のものは全壊しても周囲への影響なしとした。 -
【参考】シミュレーション方法の前提条件 最短経路検索 -NetworkX 車、徒歩判定切替パターン表 • 避難時、車から徒歩に切り替えるパターンとして、①個別の全壊建物による残存幅員が 1.5m未満となるケースと②複数建物 の全壊により、道路の残存面積が車の通行する面積に満たないケース、二つの判定方法がある。 • ①、②どちらからかのケースが車通行不可の場合、徒歩に切り替えるよう判定を行う。 •
徒歩不可のケースは前段の処理である [closedpoint2.py]でライン切断処理を行うことから [NetworkX7.py]の処理上は考慮 する必要がない。そのため、基本の移動手段を残存幅員で行いつつ、太枠部分のケースのみ判定に加える。 1残存幅員(幅員-幅員減少幅)による判定 2面積判定 利用する判定方法 車で通行可能(幅員1.5m以上) 1:車可 1:徒歩可 1の判定 車で通行可能(幅員1.5m以上) 0:車不可 1:徒歩可 2の判定優先とし、徒歩に切り替える。 車で通行可能(幅員1.5m以上) 0:車不可 0:徒歩不可 closedpoint2.pyで処理。孤立ノードとなる。 車で通行可能(幅員1.5m以上) 1:車可 0:徒歩不可 ありえない。1の判定 車不可だが徒歩で行ける(0.5m以上、1.5m未満) 1:車可 1:徒歩可 1の判定 車不可だが徒歩で行ける(0.5m以上、1.5m未満) 0:車不可 1:徒歩可 1の判定 車不可だが徒歩で行ける(0.5m以上、1.5m未満) 0:車不可 0:徒歩不可 closedpoint2.pyで処理。孤立ノードとなる。 車不可だが徒歩で行ける(0.5m以上、1.5m未満) 1:車可 0:徒歩不可 ありえない。1の判定