Lesson 72
緊急輸送道路 単独 3 研究例分析 — 4 階層 / 2789 km / BCP 脆弱箇所 (橋梁 1612 + トンネル 83 + 老朽橋 350) を読む
L72緊急輸送道路BCP事業継続計画災害脆弱区間バックアップルート第1次第2次第3次補完線RQ×3Format BgeopandasLineString (JSON)NDJSON 風 パーサL11連携 (警戒区域)L66連携 (橋梁)L67連携 (トンネル)L71連携 (法面)浸水想定急傾斜地崩壊土石流地すべり老朽橋耐震基準改定 (1980)
所要 50 分 / 想定レベル: 中級 / データ: DoBoX dataset 1247 (ZIP × 1, ~389 KB)
データ取得手順
⚠️ このスクリプトは自動取得に対応していません。以下のデータセットを DoBoX から手動でダウンロードし、data/extras/ 以下に保存してください。
実行コマンド:
cd "2026 DoBoX 教材"
python -X utf8 lessons/L72_emergency_road.py
DoBoX のオープンデータは申請不要・商用/非商用とも利用可。
data/extras/ は .gitignore 対象(約 57 GB のキャッシュ)。
スクリプト実行で自動再生成されます。
学習目標と問い
本記事の対象 — 「緊急輸送道路」 1 件 単独分析
本記事は DoBoX のデータセット 「緊急輸送道路」 (dataset 1247)
1 件を 単独で取り上げ、 広島県の緊急輸送道路ネットワーク
630 セグメント / 総延長 2789 km / 4 階層を
3 つの独立した研究角度で並列に分析する記事である。
他のシリーズ (橋梁 L66 / トンネル L67 / 道路法面 L71 / 道路規制 L50 /
ハザード L11) と本記事は 合体しない。 RQ2 で警戒区域 (L11)、
RQ3 で橋梁・トンネル (L66/L67) を参照するが、 これは「緊急輸送道路の
災害脆弱性 + BCP 脆弱箇所」 を明らかにするための既扱データの従属的参照に
留め、 本記事の主軸はあくまで緊急輸送道路 1 dataset の分析である。
「緊急輸送道路」 とは:
災害発生直後から救助・救急・医療・消火活動および緊急物資・人員等の
輸送のために緊急車両が通行する重要な道路。 都道府県地域防災計画で
指定され、 災害時の
「生命線 (ライフライン)」として通行確保が
最優先される。 道路法 (1952) 上の道路 (高速・国道・県道・市町道) のうち、
防災拠点 (病院・警察・消防本部・自衛隊基地・港湾・空港・物資集積所)
を相互に結ぶネットワークが指定対象となる。
広島県の緊急輸送道路は
4 階層で構成される:
- 第 1 次緊急輸送道路: 高速自動車国道 + 主要幹線国道
(= 山陽自動車道・中国自動車道・国道 2 号など)。
県全体の骨格となる「国土幹線道路」級。
- 第 2 次緊急輸送道路: 主要地方道 + 一般国道
(= 県内主要都市間と防災拠点を結ぶ「県内幹線」 級)。
- 第 3 次緊急輸送道路: 一般県道 + 市町道 (= 上記を補強する
「補完路線」 級)。
- 補完線: 上記 3 次を補強する追加路線 (= 短い区間)。
本記事の主要発見 (3 RQ):
- RQ1: 県の緊急輸送道路は総延長 2789 km。
第 2 次が 1696 km (60.8%)と最大、
第 1 次は 470 kmのみで国土幹線骨格を形成、
第 3 次は 598 kmで補完。
- RQ2: 緊急輸送道路の56.1%
(1574 km)が浸水想定 or 土砂警戒区域に重なる。
浸水 43.2% / 土砂 25.1%。
災害時に通行不能となる可能性のある区間が広範に存在。
- RQ3: 県内橋梁 4,203 のうち1612 件 (38.4%)
が緊急輸送道路上に位置。 さらに架設 1970 年以前の老朽橋が
350 件存在 = BCP 脆弱箇所のリスト。
独自に定義する用語 (本記事限定)
- 緊急輸送道路 (本記事の中心概念): 災害時に救援・物資輸送・避難に
使う重要道路。 道路法 (1952) + 災害対策基本法 (1961) + 各県の地域防災計画で
指定。
- 第 1 次 / 第 2 次 / 第 3 次 / 補完: 本記事独自の4 階層集約。
公式メタ JSON では
route_01〜route_06 + route_00
の 7 区分が示されているが、 LineString データは 4 ファイル
(_01〜_04) のみ提供されており、 本記事はこれらに対応する
4 階層で集約する。 第 1 次 = 高速・幹線国道、 第 2 次 = 主要地方道・
一般国道、 第 3 次 = 一般県道・市町道、 補完 = 補強路線と解釈。
- BCP (事業継続計画): Business Continuity Plan。 災害時に
重要業務 (= 県の場合は救助・物資輸送・避難) を継続する計画。
緊急輸送道路 + その上の橋梁・トンネル・法面の機能維持が中核。
- 災害脆弱区間 (本記事独自): 緊急輸送道路のうち浸水想定 or 土砂警戒区域
に物理的に重なる区間。 50m 間隔で点サンプリング → sjoin で
ポリゴン内判定 → 該当点数 × 50m で延長換算する。
- BCP 脆弱箇所 (本記事独自): 緊急輸送道路 30m バッファ内にある
老朽橋 (架設 < 1970) ・老朽トンネル等の構造物。 災害時に倒壊・通行
不能となれば緊急輸送道路の機能喪失を引き起こす。
- バックアップルート (本記事独自): 主要な緊急輸送道路が通行不能
となった場合に代替使用する路線。 第 1 次が遮断された際に第 2 次・
第 3 次が機能するかが BCP の鍵。
- 地理クラス: 沿岸島嶼 / 平野・沿岸都市 / 中山間山地 の 3 区分。
本記事の市町分類で、 公式分類ではない。
- 50m 間隔 点サンプリング: 緊急輸送道路 LineString を 50m 間隔で
離散化してできた点群。 N ≈ 56,122 点。 これに対し sjoin で
災害区域 / 市町を判定すると、 LineString-Polygon 直接交差より
数十倍高速 (1 秒 vs 30 秒) で類似精度の集計ができる。
研究の問い (3 RQ)
- RQ1 (主研究): 広島県の緊急輸送道路の構造 — 階層・延長・地理は
どう描けるか? 4 階層 × 計 2789 km の LineString ネットワークを
セグメント数 × 延長 × 市町別カバー × 地理クラスの 4 軸で集計し、
「県の生命線ネットワーク」 の物理的形状を初めて系統的に記述する。
H1 = 第 2 次が ≥ 50% を検証。
- RQ2 (副研究 1): 緊急輸送道路は災害脆弱性 — 浸水・土砂警戒に
どれだけ晒されているか? 想定最大規模の浸水区域 + 土砂警戒区域 3 種に
対して点サンプリング sjoin で重なり延長を計算し、 「災害時通行不能
可能区間」 を同定する。 H2 = 第1次<10% / H3 = 浸水>土砂 を検証。
- RQ3 (副研究 2): 緊急輸送道路上の橋梁・トンネル・老朽橋は
どう分布するか? 30m バッファで sjoin → 件数集計 → 老朽橋 (pre1970) を
抽出し、 BCP 脆弱箇所を同定。 H4 = 橋梁≥30% AND トンネル≥50% /
H5 = 老朽橋≥200 を検証。
仮説 (5)
- H1 (RQ1, 階層延長): 第 2 次緊急輸送道路は総延長の過半数 (≥ 50%)を
占める。 これは第 1 次が高速・幹線国道で短距離、 第 2 次が県内主要地方道で
最も長距離を占めるという階層構造を反映。
- H2 (RQ2, 第1次の防災優位): 第 1 次は浸水・土砂双方の重なり率が
10% 未満。 高速道路中心で高架橋・トンネル・盛土が多く、
災害時最優先確保の設計思想が反映される。
- H3 (RQ2, 浸水 vs 土砂): 全体で浸水 % が土砂 % より高い。
浸水は面的、 土砂は線的というハザード性質の違いが道路重なりに表れる。
- H4 (RQ3, 構造物集中): 県内橋梁の≥ 30%、 トンネルの≥ 50%が
緊急輸送道路 30m バッファ内に位置。 これは緊急輸送道路 = 主要道路という
性質上必然的だが、 BCP 規模の定量化となる。
- H5 (RQ3, 老朽橋 BCP リスク): 緊急輸送道路上の老朽橋 (pre1970) は
200 件以上存在し、 耐震基準改定 (1980) 以前の構造物が生命線道路上に
大量に残存する BCP 脆弱箇所の量的実証。
到達点
本記事を読み終えると、 (1) 県の緊急輸送道路 4 階層・総延長 2789 km・
27 市町 のネットワーク構造を完全に俯瞰、 (2) 浸水想定 +
土砂警戒区域との重なり率 (浸水 43.2% / 土砂 25.1% / いずれか
56.1%) を定量把握、 (3) 緊急輸送道路上の橋梁 1612 件・
トンネル 83 件・老朽橋 350 件 の BCP 脆弱箇所リストを
特定できる、 という 3 段階の知識が獲得できる。 これにより県の地域防災計画
(BCP) における道路インフラ管理の優先順位が研究者視点で見えるようになる。
使用データ
本研究で使う 1 つの dataset (1 ZIP リソース) を以下の表に示す。
本データは緊急輸送道路 LineString を JSON 配列形式 (NDJSON 風) で公開しており、
4 階層を別ファイルに分けて配信している点が大きな特徴。
データセット仕様
| 項目 |
値 |
| dataset_id |
1247 |
| 公式名 |
緊急輸送道路 |
| 公式説明 |
広島県が管理する道路の緊急輸送道路情報 |
| リソース数 |
1 (ZIP) |
| リソース ID |
32491 |
| ZIP サイズ |
397,947 byte (~389 KB) |
| ZIP 内 ファイル |
5 JSON (1 階層メタ + 4 階層 LineString) |
| 配信日 |
2022-09-26 (公式 stamp) |
| 座標系 (元) |
WGS84 (EPSG:4326) → 本記事 EPSG:6671 で処理 |
| 総延長 |
2789 km |
| 総セグメント数 |
630 |
| 階層数 |
4 (本記事独自集約; 公式メタは 7 色) |
| 第1次 (高速・幹線国道) |
470 km / 52 セグ |
| 第2次 (主要地方道・国道) |
1696 km / 379 セグ |
| 第3次 (一般県道・市町道) |
598 km / 184 セグ |
| 補完線 |
25 km / 15 セグ |
| ライセンス |
クリエイティブ・コモンズ表示 (CC-BY) |
| URL |
https://hiroshima-dobox.jp/datasets/1247 |
| 作成主体 |
広島県 (土木建築局道路整備課・防災担当) |
ZIP 内 5 JSON の内訳
| ファイル | 役割 | 形式 | 件数 | 延長 (km) |
05_kinkyu_route.json |
階層メタ (色 / 太さ / 線種) |
dict 配列 (NDJSON 風) |
7 階層メタ ({name, color, weight, type}) |
— |
05_kinkyu_route_01.json |
第 1 次 (高速・幹線国道) |
line array (NDJSON 風) |
52 セグ |
470.3 |
05_kinkyu_route_02.json |
第 2 次 (主要地方道・国道) |
line array (NDJSON 風) |
379 セグ |
1696.1 |
05_kinkyu_route_03.json |
第 3 次 (一般県道・市町道) |
line array (NDJSON 風) |
184 セグ |
598.4 |
05_kinkyu_route_04.json |
補完線 |
line array (NDJSON 風) |
15 セグ |
24.7 |
NDJSON 風の解読ポイント
各 JSON ファイルは厳密な JSON ではなく、 「dict / array」 が「,」 区切りで
複数並ぶ NDJSON 風の形式 (= JSON.parse でそのまま読めない)。
読み込みには「テキストを [ と ] でラップして配列化 → json.loads」
という工夫が必要。
# NDJSON 風を JSON 配列としてパース
with open(path, "r", encoding="utf-8") as f:
text = f.read()
arr = json.loads("[" + text + "]")
各線ファイルの中身: arr は線セグメントの配列で、
各セグメントは [{"e": 経度, "d": 緯度}, ...] の点列。
e = easting (経度), d = degrees of latitude (緯度) と推定される。
これを shapely.LineString に変換する。
データの読み筋
- 緊急輸送道路は 4 階層別ファイルに分かれているため、 階層情報
(= ファイル名末尾の
_01〜_04) を読み込み時に保持する。
- JSON 内の緯度経度の順に注意 (
e=経度,
d=緯度)。 通常の GIS と逆順で記述されているため、
(x, y) = (e, d) = (lon, lat) として LineString を作る。
- 座標系はWGS84 (EPSG:4326)。 距離計算 (RQ2 / RQ3) のため
EPSG:6671 (JGD2011 平面直角第 III 系) に投影変換する。
- 属性情報は階層 (route_01〜_04) のみ。 路線名・起点終点・整備年度 等の
詳細メタは公開データに含まれず、 これは「災害対応用の最小限可視化」 を
目的とした設計と推定される。
ダウンロード
本記事の再現に必要なすべてを直リンクで提供する。
HTML だけ読めば学習者が完全再現できることが目標 (要件 A)。
生データ (DoBoX 1 件)
このスクリプト本体
中間 CSV (本記事生成、再利用可)
図 (PNG, 直 DL 可)
【RQ1】 緊急輸送道路の構造 — 4 階層 × 2789 km / 第2次 61% / 27 市町
狙い (RQ1)
RQ1 では「県の生命線ネットワーク」 の物理的構造を初めて系統的に記述する。
具体的には 630 セグメント / 総延長 2789 km の緊急輸送道路を
4 階層 × 市町 × 地理クラスの 3 軸で集計し、 「どの階層がどこを通過するか」 を
1 枚で俯瞰できるようにする。 H1 (第 2 次 ≥ 50%) は階層構造の中心仮説を検証する。
手法 — 4 ステップ
- STEP 1: ZIP 展開 + NDJSON 風 JSON パース
ZIP を zipfile.ZipFile.extractall() で展開。 5 JSON のうち
4 つの線データ (_01〜_04) はNDJSON 風(= dict / array が
コンマ区切りで並ぶ非標準形式) なので、 "[" + text + "]" で
ラップしてから json.loads() で読み込む。
- STEP 2: LineString 構築
各セグメント = [{"e": lon, "d": lat}, ...] の点列。
shapely.LineString([(pt["e"], pt["d"]) for pt in seg])
で LineString に変換。 1 点だけのセグメント (= 始点 = 終点)は除外。
- STEP 3: 階層 attr 付与 + 投影
ファイル名末尾 (_01〜_04) を rank
列として保持。 EPSG:4326 (WGS84) → EPSG:6671 (JGD2011 第 III 系) に
to_crs() で投影変換 (距離計算が m 単位で正確になる)。
- STEP 4: 階層 / 市町 / 地理クラス 集計
length_m をセグメント長として持ち、 groupby("rank")
で階層別 km、 50m 間隔点サンプリング → 行政界 sjoin で市町別 km、
市町名から地理クラス (沿岸島嶼 / 平野・沿岸都市 / 中山間山地) に分類。
実装 (主要部のみ抜粋)
↑ L72_emergency_road.py 行 1593–1680
1
2
3
4
5
6
7
8
9
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632 | import json, zipfile
from pathlib import Path
import geopandas as gpd
from shapely.geometry import LineString
import pandas as pd
DATA_DIR = Path("data/extras/L72_emergency_road")
extract_dir = DATA_DIR / "340006_emergency_transport_road_20220908T000000"
# (1) ZIP 展開 (既展開なら skip)
zf = zipfile.ZipFile(DATA_DIR / "emergency_road.zip")
zf.extractall(DATA_DIR)
# (2) NDJSON 風を JSON 配列としてパースする helper
def load_route_lines(idx):
p = extract_dir / f"05_kinkyu_route_{idx}.json"
with open(p, "r", encoding="utf-8") as f:
text = f.read()
arr = json.loads("[" + text + "]") # [...,] でラップ
lines = []
for seg in arr:
if len(seg) >= 2: # 1 点だけは LineString にできない
coords = [(pt["e"], pt["d"]) for pt in seg] # e=経度, d=緯度
lines.append(LineString(coords))
return lines
# (3) 4 階層を読み込み GeoDataFrame に統合
records = []
for idx in ["01", "02", "03", "04"]:
for ln in load_route_lines(idx):
records.append({"rank": idx, "geometry": ln})
gdf_road = gpd.GeoDataFrame(records, crs="EPSG:4326").to_crs("EPSG:6671")
gdf_road["length_m"] = gdf_road.geometry.length
# (4) 階層別集計
T_rank = (gdf_road.groupby("rank")
.agg(セグメント数=("geometry", "count"),
延長_km=("length_m", lambda s: s.sum() / 1000))
.reset_index())
print(T_rank)
|
結果 1: 階層別 緊急輸送道路マップ (図 1)
なぜこの図か: 4 階層の緊急輸送道路がどこを通過するかを県全域地図に
重ねて一目で確認したい。 階層を色 (赤=1次, 青=2次, 緑=3次, 橙=補完) で
区別し、 線の太さも階層に対応させて「骨格 → 肉付け → 補完」の階層構造を
直感できるようにする。
図 1 から読み取れること:
- 第 1 次 (赤太線, 470 km): 山陽自動車道 + 国道 2 号 +
中国自動車道 等の東西軸 + 主要南北軸。 県中央部を貫く骨格。
- 第 2 次 (青中線, 1696 km): 主要地方道 + 一般国道で
県内全域を網羅。 中山間部 (北部) や島嶼部 (江田島・大崎上島) にも
到達する密度が高い網。
- 第 3 次 (緑細線, 598 km): 一般県道・市町道で
第 2 次の補完。 集落間アクセスを担う細い線。
- 補完線 (橙短線, 25 km): 主に橋梁前後など第 3 次の
未接続部分の補強。 短いが重要な接続役。
- 第 1 次は都市間連絡に集中、 第 2 次が面的な防災ネットを形成、
第 3 次が毛細血管として末端集落への到達を担保するという3 層
機能分担が明確。
結果 2: 階層別 延長 + セグメント + 地理クラス (図 2)
なぜこの図か: H1 (第 2 次 ≥ 50%) を直感検証するための階層別 km 棒、
セグメント数の比較、 地理クラスの分布 (沿岸都市 / 中山間 / 沿岸島嶼) を
1 枚で並べて、 県の緊急輸送道路の「形」 を 3 角度から把握する。
図 2 から読み取れること:
- 左パネル (階層別延長): 第 2 次 = 1696 km
(60.8%)と最大、 H1 (≥50%) は強支持
- 中央パネル (セグメント数): 第 2 次が
379 セグメントと
最多 — 細かく分割された主要地方道が県全域に広がる
- 右パネル (地理クラス): 平野・沿岸都市が
62.6%、
中山間山地が35.4%、
沿岸島嶼が2.0%。
平野・沿岸都市 が支配的だが、 中山間 + 沿岸島嶼への到達も無視できない
- 緊急輸送道路は「都市部に集中 + 中山間にも届く」面的ネットワークで、
避難・救援の地理的 universal coverageを意図した設計
結果 3: 市町別 緊急輸送道路カバー (図 3)
なぜこの図か: 「自分の市町にどれだけ緊急輸送道路が走っているか」 を
学習者が直感したい。 choropleth + ランキング棒で市町ごとのカバー量を
2 角度から見せる。 第 1 次のみハイライトすることで「骨格」 路線の通り抜け先も
分かる。
図 3 から読み取れること:
- 最大カバー: 庄原市 (285 km)、
2 位: 三次市 (210 km)、
3 位: 東広島市 (206 km)
- 面積の大きい中山間市町 (庄原・三次・東広島) が km 上位に並ぶ
— 面的な広さに比例する
- 沿岸島嶼 (江田島・大崎上島) は km 自体は小さいが道路網全体に対する
緊急輸送道路の占有率は逆に高い (= 主要道路がほぼ全て指定)
- 第 1 次 (赤線) は沿岸を東西に走る山陽自動車道 + 国道 2 号が支配的、
中山間部は中国自動車道のみ通過
- これは「都市部 = 高密度の緊急輸送道路 / 中山間 = 主要 1〜2 路線で全アクセス」
という2 元的な防災到達戦略を反映
結果 4: 階層別 + 市町別 サマリ表
階層別サマリ:
| 階層 |
rank_label |
セグメント数 |
延長_km |
シェア_% |
| 01 |
第1次 (高速・幹線国道) |
52 |
470.3 |
16.9 |
| 02 |
第2次 (主要地方道・国道) |
379 |
1696.1 |
60.8 |
| 03 |
第3次 (一般県道・市町道) |
184 |
598.4 |
21.5 |
| 04 |
補完線 (補強路線) |
15 |
24.7 |
0.9 |
階層別 表から読み取れること: 第 2 次が
1696 km / 60.8%と最大、 第 1 次が
470 km / 16.9% と次。
セグメント数も第 2 次が
379 と最多で、
県内主要地方道としての細分化が見える。
地理クラス別サマリ:
| 地理クラス |
延長_km |
点数 |
シェア_% |
| 中山間山地 |
918.9 |
18378 |
35.4 |
| 平野・沿岸都市 |
1626.7 |
32534 |
62.6 |
| 沿岸島嶼 |
51.0 |
1019 |
2.0 |
地理クラス 表から読み取れること: 沿岸都市 = "都市帯" として
緊急輸送道路の主要部を占める一方、 中山間 (人口疎) でも数百 km の延長を確保。
これは「人口集中地と中山間地の双方をカバーする」 防災設計の表れ。
市町別 ランキング (Top 15):
| 市町名 |
延長_km |
点数 |
地理クラス |
シェア_% |
| 庄原市 |
284.8 |
5695 |
中山間山地 |
11.0 |
| 三次市 |
209.6 |
4191 |
中山間山地 |
8.1 |
| 東広島市 |
205.6 |
4111 |
平野・沿岸都市 |
7.9 |
| 福山市 |
198.9 |
3978 |
平野・沿岸都市 |
7.7 |
| 三原市 |
195.6 |
3911 |
平野・沿岸都市 |
7.5 |
| 呉市 |
186.7 |
3734 |
平野・沿岸都市 |
7.2 |
| 尾道市 |
152.6 |
3052 |
平野・沿岸都市 |
5.9 |
| 安芸太田町 |
140.8 |
2815 |
中山間山地 |
5.4 |
| 安芸高田市 |
138.0 |
2761 |
中山間山地 |
5.3 |
| 廿日市市 |
119.6 |
2393 |
平野・沿岸都市 |
4.6 |
| 広島市安佐北区 |
119.0 |
2379 |
平野・沿岸都市 |
4.6 |
| 世羅町 |
81.2 |
1625 |
中山間山地 |
3.1 |
| 広島市佐伯区 |
76.9 |
1538 |
平野・沿岸都市 |
3.0 |
| 府中市 |
64.6 |
1291 |
中山間山地 |
2.5 |
| 江田島市 |
51.0 |
1019 |
沿岸島嶼 |
2.0 |
市町別 表から読み取れること: 県北部の中山間市町 (庄原・三次・東広島・
安芸太田町) が km 上位に並ぶのは面積の広さが反映された結果。 一方、 広島市
(8 区合計) は最も人口集中地で道路密度が高く、 都市部の緊急輸送道路総延長は
区合算で大きい。
階層 × 市町 (Top 10) クロス:
| 市町名 |
1次_km |
2次_km |
3次_km |
補完_km |
| 庄原市 |
74.5 |
155.2 |
52.2 |
2.9 |
| 三次市 |
44.6 |
139.6 |
25.3 |
0.0 |
| 東広島市 |
50.3 |
122.4 |
32.8 |
0.0 |
| 福山市 |
27.4 |
124.2 |
47.2 |
0.0 |
| 三原市 |
22.8 |
145.2 |
23.4 |
4.2 |
| 呉市 |
10.0 |
101.5 |
70.4 |
4.7 |
| 尾道市 |
54.8 |
58.8 |
39.0 |
0.0 |
| 安芸太田町 |
35.0 |
49.6 |
56.2 |
0.0 |
| 安芸高田市 |
20.3 |
62.6 |
55.1 |
0.0 |
| 廿日市市 |
21.4 |
92.8 |
5.4 |
0.0 |
階層 × 市町 表から読み取れること: 中山間市町は第 2 次が支配的
(主要地方道 + 一般国道のみ)、 都市部は第 1 次 (高速・国道 2) が太く通過、
第 3 次は都市部の市町道として補完。 階層構造が地理に応じて使い分けられている
ことが具体的に見える。
【RQ2】 災害脆弱性 — 浸水 43.2% / 土砂 25.1% / いずれか 56.1% (1574 km)
狙い (RQ2)
RQ1 で「緊急輸送道路がどこを通過するか」 は分かったが、 これは位置情報のみ。
RQ2 では「緊急輸送道路がどれだけ災害区域に晒されているか」を空間関係で見る。
具体的には浸水想定 (想定最大規模) + 土砂警戒区域 3 種に対して点サンプリング
sjoin で重なり延長を計算し、 「災害時通行不能可能区間」 を同定する。
H2 (第 1 次 < 10%) と H3 (浸水 > 土砂) の 2 仮説を検証する。
手法 — 50m 間隔 点サンプリング × sjoin
狙い: LineString と Polygon の直接交差 (intersection) は
計算が重い (~30 秒)。 代わりに緊急輸送道路を50m 間隔で点に
離散化 (56,122 点) → sjoin (point-in-polygon) で災害区域内かを
判定 → 該当点数 × 50m で延長換算する。 これは1 秒未満で完了し、
誤差は ±50m 程度に留まる。
| 災害区分 | 制度 | 意味 | 本研究との関連 |
| 浸水想定 (想定最大規模) |
水防法 (改正 2015) |
想定し得る最大規模降雨で起こる浸水 |
河川氾濫を通る平野部・沿岸部の道路面的脅威 |
| 急傾斜地崩壊警戒区域 |
土砂災害防止法 (2001) |
30度以上の自然斜面の崩壊リスク区域 |
山岳道路の線的脅威。 法面 (L71) と直接対応 |
| 土石流警戒区域 |
土砂災害防止法 (2001) |
渓流域での土石流リスク区域 |
渓流横断・並行路線で線的脅威 |
| 地すべり警戒区域 |
土砂災害防止法 (2001) |
地すべりリスク区域 |
地質弱層を含む箇所の道路線的脅威 |
注意: 本記事は「重なり延長 (km, %)」を「災害時通行不能の可能性」 と
同定するが、 実際の通行可否は道路の構造 (高架 / 橋梁 / 路面標高) や降雨
シナリオ (実時間水位) に左右される。 GIS の polygon-in-polygon 判定は
「リスク存在の有無」 のスクリーニングとして使う。
実装 (主要部)
↑ L72_emergency_road.py 行 1778–1840
1
2
3
4
5
6
7
8
9
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805 | # 50m 間隔の点サンプリング → sjoin で災害区域内判定
points = []
for line_id, (_, row) in enumerate(gdf_road.iterrows()):
L = row.geometry.length
n = max(int(L / 50.0), 1)
for i in range(n + 1):
d = min(i * 50.0, L)
pt = row.geometry.interpolate(d)
points.append({"line_id": line_id, "rank": row["rank"],
"d_m": d, "geometry": pt})
gdf_pts = gpd.GeoDataFrame(points, crs="EPSG:6671")
print(len(gdf_pts)) # 例: 56,000+ pts
# 浸水想定 (想定最大規模) Shapefile を読込 → sjoin
fl = gpd.read_file("data/extras/flood_shp/shinsui_souteisaidai/shinsui_souteisaidai.shp",
encoding="utf-8")[["geometry"]].to_crs("EPSG:6671")
hits = gpd.sjoin(gdf_pts, fl, how="left", predicate="within")
hit_uniq = hits[hits["index_right"].notna()].drop_duplicates(["line_id", "d_m"])
flood_km = len(hit_uniq) * 50.0 / 1000 # 50m/点 × 点数 / 1000 = km
print(f"浸水重なり: {flood_km:.0f} km")
# 同様に土砂警戒区域 3 種 (急傾斜 / 土石流 / 地すべり) も sjoin
# ...省略 (本記事スクリプト参照)
# 階層別重なり率 = 各階層の hit 点数 / 総点数 × 100
rank_total = gdf_pts.groupby("rank").size()
flood_by_rank = (hit_uniq.groupby("rank").size().reindex(rank_total.index, fill_value=0))
print((flood_by_rank / rank_total * 100).round(1))
|
結果 1: 緊急輸送道路 + 浸水想定 + 土砂警戒 重ね合わせマップ (図 4)
なぜこの図か: H2 と H3 を地図上で同時に直感検証するため、
4 階層の緊急輸送道路を線で、 浸水想定 + 土砂警戒 (急傾斜 + 土石流) を半透明
色塗りで重ねる。 「どの階層がどの災害区域に重なるか」 が空間的に分かる。
図 4 から読み取れること:
- 浸水想定 (青) は沿岸 + 河川流域に広く分布、 緊急輸送道路の
第 2 次 (青線) が多くこれを横切る
- 急傾斜警戒 (赤塗り) は中山間部の谷筋に集中、 第 2 次・3 次の
山道で多くがオーバーラップ
- 第 1 次 (赤太線, 高速 + 幹線国道) は高架 + 盛土で水位影響を回避する
設計が多く、 重なり率は他階層より低い (H2 の根拠)
- 全体として緊急輸送道路の56.1% (1574 km)が
何らかの災害区域に重なる — これは想像以上に大きく、 BCP 計画の
根拠となる重要数字
結果 2: 階層別 + 全体 重なり率 (図 5)
なぜこの図か: H2 (第 1 次 < 10%) と H3 (浸水 > 土砂) を 1 枚で
直接判定する。 左で階層 × 災害種別の % を棒で並べ、 右で全体合算 (浸水 / 土砂 /
いずれか) を比較する。 10% 閾値ラインを入れて H2 が直感判定できる。
図 5 から読み取れること:
- 左パネル: 第 1 次 = 浸水 4.3% / 土砂 11.9%、
第 2 次 = 浸水 48.8% /
土砂 27.6%、
第 3 次 = 浸水 57.9% /
土砂 28.4%。
H2 (反証)が直接読める
- 右パネル: 全体浸水 43.2% > 土砂 25.1%、
H3 (強支持)
- 第 2 次は第 1 次の数倍の重なり率を持つ — 「主要地方道は河川氾濫域や
急傾斜地を通過する」 という県の地形構造を反映
- BCP の観点では、 第 2 次・3 次の災害脆弱区間が「第 1 次の代替
バックアップとしては不安定」 という重要含意
結果 3: 階層別 災害区域重なり 詳細表
階層別 重なり (RQ2 中核データ):
| 階層 |
総延長_km |
浸水_km |
浸水_% |
急傾斜_km |
土石流_km |
地すべり_km |
土砂いずれか_km |
土砂いずれか_% |
災害いずれか_km |
災害いずれか_% |
| 第1次 (高速・幹線国道) |
471.6 |
20.2 |
4.3 |
5.2 |
51.5 |
0.4 |
56.1 |
11.9 |
73.8 |
15.6 |
| 第2次 (主要地方道・国道) |
1706.3 |
832.6 |
48.8 |
137.2 |
368.2 |
2.8 |
471.6 |
27.6 |
1063.2 |
62.3 |
| 第3次 (一般県道・市町道) |
603.1 |
349.0 |
57.9 |
55.4 |
124.5 |
1.1 |
171.0 |
28.4 |
424.1 |
70.3 |
| 補完線 (補強路線) |
25.0 |
10.1 |
40.3 |
2.0 |
3.4 |
0.0 |
5.0 |
20.2 |
13.2 |
52.5 |
階層別 重なり 表から読み取れること:
- 第 1 次は浸水 4.3% / 土砂 11.9%と最も低リスク
— 高架 + 盛土設計の効果
- 第 2 次は浸水 48.8% /
土砂 27.6%と中リスク
— 県内全域を網羅するため必然的に災害区域を多く通過
- 第 3 次は浸水 57.9% /
土砂 28.4%で
第 2 次に近い — 補完路線も主要地方道に類似する地形を通る
- 補完線は浸水 40.3% /
土砂 20.2%で
短延長ながら平均並み
重なり率
- 「第 1 次にバックアップを期待する場合、 第 2 次以下の代替路線が同時に
災害脆弱性を持つ」 というBCP 設計の盲点を示唆
【RQ3】 構造物リスク — 橋梁 1612/4203 (38.4%) / トンネル 83/157 (52.9%) / 老朽橋 350
狙い (RQ3)
RQ2 で「災害区域との重なり」 という面的リスクを見たが、 BCP の
もう一つの重要要素は「点的構造物リスク」 — 緊急輸送道路上にある橋梁・
トンネルが災害時に倒壊・通行不能となれば、 区域より広範な機能喪失を引き起こす。
RQ3 では緊急輸送道路 30m バッファ内に入る橋梁 + トンネル + 老朽橋を
sjoin で同定し、 BCP 脆弱箇所のリストを定量化する。
H4 (≥30% 橋梁 + ≥50% トンネル) と H5 (老朽橋 ≥ 200) を検証する。
手法 — 30m バッファ + sjoin
狙い: 緊急輸送道路 LineString に対して30m バッファを作成
(= 道路敷地 + 構造物近接帯) し、 橋梁 POINT・トンネル POINT を
gpd.sjoin(predicate="within") で重なり判定。 1 構造物が複数階層
バッファに重なる場合は最高階層 (= 数字最小)を採用。
| 項目 | 値 | 意味 |
| バッファ幅 |
30 m |
道路敷地 (典型的に 4-15m) + 構造物近接帯 (橋台・取付道路) の上限 |
| 橋梁 POINT |
L66 既扱 4,203 件 |
架設年度・延長・幅員・点検年度・判定区分付き |
| トンネル POINT |
L67 既扱 157 件 |
建設年度・延長・幅員付き |
| 老朽橋 (pre1970) |
架設 < 1970 = 1100 件 |
耐震基準改定 (1980) 以前 + 高度成長期前の構造物 |
| 老朽橋 (pre1980) |
架設 < 1980 = 1660 件 |
耐震基準改定 (1980) 以前の構造物 (= 旧耐震) |
実装 (主要部)
↑ L72_emergency_road.py 行 1923–1976
1
2
3
4
5
6
7
8
9
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945 | # 緊急輸送道路 30m バッファを構築
gdf_road["geometry_buf"] = gdf_road.geometry.buffer(30)
buf = gpd.GeoDataFrame(gdf_road[["rank", "geometry_buf"]].rename(
columns={"geometry_buf": "geometry"}), geometry="geometry", crs="EPSG:6671")
# L66 橋梁 + L67 トンネル CSV → POINT
df_b = pd.read_csv("lessons/assets/L66_all_bridges.csv", encoding="utf-8-sig")
df_b = df_b.dropna(subset=["緯度(10進数)", "経度(10進数)"])
df_b = df_b[df_b["緯度(10進数)"] < 50]
gdf_b = gpd.GeoDataFrame(df_b,
geometry=[Point(x, y) for x, y in zip(df_b["経度(10進数)"], df_b["緯度(10進数)"])],
crs="EPSG:4326").to_crs("EPSG:6671")
# sjoin: 橋梁 within 緊急輸送道路 30m バッファ
b_on = gpd.sjoin(gdf_b, buf[["rank", "geometry"]], how="left", predicate="within")
gdf_b["on_road"] = b_on.groupby(b_on.index)["rank"].apply(
lambda s: s.notna().any())
print(f"橋梁 on 緊急輸送: {int(gdf_b['on_road'].sum())}/{len(gdf_b)}")
# 老朽橋 (架設 < 1970) on 緊急輸送
gdf_b["is_old_pre1970"] = gdf_b["架設年度"].astype(float) < 1970
n_old_on = int((gdf_b["is_old_pre1970"] & gdf_b["on_road"]).sum())
print(f"老朽橋 on 緊急輸送: {n_old_on}")
|
結果 1: 緊急輸送道路 + 橋梁 + トンネル マップ (図 6)
なぜこの図か: 「緊急輸送道路上にどれだけの橋梁・トンネルが乗っているか」 を
1 枚で把握したい。 橋梁 on (赤) / off (灰) を色分け、 トンネル on (紫菱形) / off (灰
菱形) を区別、 緊急輸送道路を背景線に置くことで「赤と紫が緊急輸送道路に乗る」
構図が直感できる。
図 6 から読み取れること:
- 橋梁 on 緊急輸送 = 1612/4203 (38.4%) — 赤点が緊急
輸送道路に沿って密集
- トンネル on 緊急輸送 = 83/157 (52.9%) — 紫菱形が
中山間部の幹線道路に集中
- 橋梁の38.4%が緊急輸送道路上に位置 — 「主要道路上の橋梁が
過半数を占める」 という構造
- トンネルは52.9%と橋梁より集中度が高い — トンネルが特に
主要道路 (= 緊急輸送道路) に集中して整備されてきた歴史的経緯
- これは緊急輸送道路 = 主要道路という性質上必然的だが、 「災害時にこれだけの
構造物の機能を維持しなければならない」 という BCP 規模の定量化となる
結果 2: 階層別 BCP 構造物 + 老朽橋 (図 7)
なぜこの図か: H4 と H5 を 3 角度から検証する: 階層別 橋梁・トンネル数 +
階層別 橋梁密度 (件/km) + 階層別 老朽橋。 これで「どの階層に構造物が集中するか」
「どの階層が老朽橋を多く抱えるか」 が同時に分かる。
図 7 から読み取れること:
- 左パネル (件数): 第 2 次が橋梁 1144 件 +
トンネル 61 件と圧倒的最多 — 第 2 次の延長が長い
(≥50%) ことを反映
- 中央パネル (橋梁密度): 補完線は密度0.36 件/kmと
高い — 短いが橋梁集中区間 (= 接続役の補強)
- 右パネル (老朽橋): 第 2 次が老朽橋256 件と
最多 — 主要地方道は早期整備 (1950-60s) で老朽が進行
- 緊急輸送道路上の老朽橋 (pre1970) 計 350 件は、
「災害時に最優先確保すべき道路上に 1980 耐震基準改定以前の構造物が
大量に残存」 という BCP 脆弱箇所の量的事実を示す (H5
強支持)
結果 3: 老朽橋 BCP 脆弱箇所マップ (図 8)
なぜこの図か: 「老朽橋がどこに集中しているか」 を地理的に見せる。
緊急輸送道路 on (赤) / off (灰) を色分けすることで、 BCP 観点で優先補強すべき
箇所を地図上で直接見られる。
図 8 から読み取れること:
- 赤点 (老朽橋 on 緊急輸送 = 350) は沿岸都市 + 中山間幹線に
広く分布 — 早期整備時代 (1950-60s) の橋梁が県内全域に残る
- 灰点 (老朽橋 off 緊急輸送 = 750) は市町道・
生活道路のもの — 緊急輸送道路上ではないが地域コミュニティの
アクセス路として重要
- 赤点が緊急輸送道路 (赤・青・緑線) に密集する都市: 広島市・呉市・
福山市等の主要都市で、 ここが BCP 補強の最優先地域
- これらの赤点 (350 件) は耐震補強・架替え計画の
ターゲットリストとして直接利用可能
結果 4: 階層別 BCP 構造物 詳細表
階層別 BCP 構造物 (RQ3 中核):
| 階層 |
延長_km |
橋梁数 |
橋梁密度_件/km |
トンネル数 |
老朽橋_pre1970 |
老朽橋_% |
| 第1次 (高速・幹線国道) |
470.3 |
18 |
0.04 |
0 |
2 |
11.1 |
| 第2次 (主要地方道・国道) |
1696.1 |
1144 |
0.67 |
61 |
256 |
22.4 |
| 第3次 (一般県道・市町道) |
598.4 |
441 |
0.74 |
22 |
90 |
20.4 |
| 補完線 (補強路線) |
24.7 |
9 |
0.36 |
0 |
2 |
22.2 |
階層別 BCP 表から読み取れること:
- 第 1 次は橋梁 18 件 + トンネル 0 件
で主要構造物が集中、 高速道路の長大橋・長大トンネルを含む
- 第 2 次は橋梁 1144 件 + トンネル 61 件と
最多 — 県内全域の主要地方道に分散する短-中規模構造物群
- 橋梁密度は第 1 次 0.04 件/km
vs 第 3 次 0.74 件/km と倍以上の差
— 第 1 次は跨道橋・河川橋が高密度
- 老朽橋 % は第 2 次が 22.4%と
最高 — 主要地方道の早期整備が老朽進行を加速
- これらの数字は県の「災害時最優先点検対象」 リストとして直接利用可能
仮説検証総合
仮説検証総合 (H1〜H5)
本記事冒頭で立てた 5 仮説の検証結果を以下にまとめる。
すべての仮説の検証根拠は本記事中の図表に明示されており、再現可能。
| 仮説 |
観測値 |
判定 |
詳細解説 |
| H1 第2次が総延長 ≥ 50% (RQ1) |
観測 = 第2次 1696 km / 全 2789 km = 60.8% |
強支持 |
H1 強支持: 第 2 次緊急輸送道路は1696 km で総延長 2789 km の60.8%を占める。 第 1 次 (470 km, 16.9%) は高速道路 + 主要幹線国道に 限定される短距離ネットワークで、 県内主要都市 (広島・呉・福山・三原) を 結ぶ「骨格」 を形成。 第 2 次は主要地方道 + 一般国道 + 主要市町道で 県内全域を網羅する「肉付け」 ネットワークとして 第 1 次の 3.6 倍の延長を持つ。 これは典型的な「太い骨格 + 細かい肉付け」 階層構造。 |
| H2 第1次は浸水<10% AND 土砂<10% (RQ2) |
観測 = 第1次 浸水 4.3% / 土砂 11.9% |
反証 |
H2 反証: 第 1 次緊急輸送道路の重なり率は 浸水 4.3% / 土砂 11.9%。 浸水は10% 未満 (4.3%)に収まるが、 土砂は11.9%でわずかに 10% を超え、 H2 (両方とも < 10%) は反証となった。 ただし第 2 次の土砂 27.6% / 第 3 次の土砂 28.4% と比較すると、 第 1 次は依然として最低リスク階層である事は明確。 高速道路中心で高架橋・トンネル・盛土区間が多く、 水位上昇の 影響を受けにくい構造であるが、 中国自動車道などの山岳貫通区間で 土砂警戒区域とのオーバーラップが発生する。 GIS の polygon-on-line 判定では「重なり」 と判定されても、 高架・トンネル構造のため実際の通行確保はもう少し優位 — 道路構造を加味した補正で実効重なり率はさらに下がる可能性がある。 |
| H3 全体 浸水重なり > 土砂重なり (RQ2) |
観測 = 浸水 43.2% / 土砂 25.1% |
強支持 |
H3 強支持: 緊急輸送道路全体で浸水重なり率は 43.2% (1212 km)、 土砂警戒区域 (3 種いずれか) は25.1% (704 km)。 差は+18.1 ポイント。 浸水は河川氾濫想定で沿岸都市・平野部の主要道路が広範囲に 指定区域を通過するため重なりが拡大する一方、 土砂は急傾斜地に 局所的に分布するためライン状道路との交差が物理的に短い。 これは「浸水は面的脅威 / 土砂は線的脅威」 という性質の違いが 道路 × ハザード重なり率に直接反映された結果。 |
| H4 橋梁 ≥ 30% AND トンネル ≥ 50% on 緊急 (RQ3) |
観測 = 橋梁 38.4% / トンネル 52.9% |
強支持 |
H4 強支持: 県内橋梁 4,203 のうち緊急輸送道路 30m バッファ内に入る橋梁は1612 件 (38.4%)、 トンネル 157 中83 件 (52.9%)。 これは「災害時に通行確保しなければならない構造物」 の規模感を 定量化する。 とりわけトンネルの52.9%が緊急輸送道路上に 位置するという事実は、 トンネル管理 (= 換気・照明・排水・耐震補強) が 県の BCP に直結することを意味する。 橋梁 1612 件 × トンネル 83 件は「災害時優先点検対象 のリスト」 として直接利用可能。 |
| H5 老朽橋 (pre1970) ≥ 200 on 緊急 (RQ3) |
観測 = 老朽橋 (pre1970) on 緊急 350 |
強支持 |
H5 強支持: 緊急輸送道路上に架設 1970 年以前の老朽橋が 350 件 (全老朽橋 1100 件の 31.8%) 存在。 これは耐震基準改定 (1980 年) 以前の構造物が県の生命線道路上に 大量に残存する事実を示し、 BCP 脆弱箇所の最重要リストとなる。 参考: 1980 以前 (改定前耐震基準) で見ると 613 件に拡大。 これらの橋梁は災害時に倒壊・通行不能となれば「孤立集落 + 緊急車両 進入不能」 の連鎖を引き起こすため、 計画的な耐震補強・架替えが BCP の核心である。 |
主要発見の整理
- RQ1 主発見: 県の緊急輸送道路は総延長 2789 km。
第 2 次が 1696 km (60.8%)と最大、 H1
(強支持)。 「太い骨格 (第 1 次) + 肉付け
ネットワーク (第 2 次) + 毛細血管 (第 3 次)」 という3 層機能分担が
定量的に示された。 地理クラス別では平野・沿岸都市
63%と
都市部支配的だが、 中山間も
35%と
無視できないカバー。
- RQ2 主発見: 緊急輸送道路の56.1%
(1574 km)が浸水想定 or 土砂警戒区域に重なる。
第 1 次は浸水 4.3% / 土砂 11.9% と低リスク
(H2 反証)、 全体では浸水 43.2% >
土砂 25.1% (H3 強支持)。 「面的脅威の
浸水 vs 線的脅威の土砂」 というハザード性質が道路重なり率に直接表れた。
- RQ3 主発見: 県内橋梁 4,203 中1612 件 (38.4%)、
トンネル 157 中83 件 (52.9%)が緊急輸送道路上に
位置 (H4 強支持)。 老朽橋 (pre1970) が
350 件 (H5 強支持)、
pre1980 では613 件に拡大。 これらは
BCP 脆弱箇所の最重要リストとして直接耐震補強・架替え計画の
ターゲットになる。
本記事の独自貢献
- 「災害脆弱区間」 概念の定量化: 緊急輸送道路 LineString を 50m 間隔で
点サンプリング → sjoin で災害区域内判定 → 該当点数 × 50m で延長換算する
手法を導入。 LineString-Polygon 直接交差の30 倍高速 (1 秒 vs 30 秒)で
類似精度の集計が可能。
- 「BCP 脆弱箇所」 リストの作成: 緊急輸送道路 30m バッファ内の橋梁
(1612 件) + トンネル (83 件) + 老朽橋 (pre1970, 350 件) を
個別 CSV で提供。 県の BCP 計画の耐震補強・架替えターゲットリストと
して直接利用可能。
- 階層別 災害重なり率の体系化: 4 階層 × 4 災害区分 (浸水 + 急傾斜 +
土石流 + 地すべり) のクロス集計で、 「第 1 次 = 高架優位、 第 2 次・3 次 =
地形脆弱」 という設計差を空間データで実証。
- L66 + L67 + L11 との横断連携: 緊急輸送道路 (1 dataset) + 橋梁
(L66 既扱) + トンネル (L67 既扱) + 警戒区域 (L11 既扱) の 4 dataset を
sjoin で組合わせ、 県の道路インフラ防災ネットを初めて統合的に
定量化した。
- NDJSON 風の独自パーサ: 公式 ZIP 内の JSON は非標準形式(= dict /
array が「,」 区切り) で
json.loads() でそのまま読めない。
"[" + text + "]" でラップして配列化するトリックを発見・公開。
本記事の限界
- 属性情報の欠落: 公開データには路線名・起点終点・整備年度等の
詳細メタが含まれない。 これは「災害対応用の最小限可視化」 設計と推定されるが、
研究用途には限界。 詳細 BCP 計画には県の道路台帳との結合が必要。
- 4 階層集約の独自解釈: 公式メタは
route_00〜route_06 の
7 区分だが、 LineString データは _01〜_04 の 4 ファイルのみ。
本記事は 4 階層に「第 1 次 / 第 2 次 / 第 3 次 / 補完」と命名するが、
これは典型的な緊急輸送道路 3 階層 + 補完の解釈で、 公式分類ではない。
- 50m 間隔誤差: 点サンプリングによる延長換算は ±50m 程度の誤差を
含む。 道路長の合計値で約 +/-3% の誤差を許容する近似。
- 30m バッファの妥当性: 橋梁・トンネルは道路上の構造物として
30m バッファでほぼ確実に判定できるが、 道路敷地が広い (= 高速道路 IC) や
狭い (= 山道) 場所では 30m が過大・過小となる場合がある。
- 浸水重なり率の構造補正なし: 高架橋・トンネルは浸水想定区域と
polygon-on-polygon で重なっても実際の通行は維持される。 本研究は
「リスクスクリーニング」 として使い、 通行可否の確定には道路高さ
・橋脚標高の追加データが必要。
発展課題
発展課題 — 結果 X → 新仮説 Y → 課題 Z 形式
発展課題 1 (RQ1 拡張): 緊急輸送道路 vs 全道路網のカバー率
- 結果 X: 県の緊急輸送道路は総延長 2789 km だが、
これは県内道路総延長 (約 30,000 km と推定) に対する9% 程度。
残り 91% は緊急輸送道路に指定されない一般道路。
- 新仮説 Y: 緊急輸送道路指定は「人口集中度 + 防災拠点近接度」で
決まるため、 中山間部の人口疎な地域では指定密度が低く、 結果として
限界集落の災害時孤立リスクが定量化できる仮説。
- 課題 Z: DoBoX 道路台帳付図 (dataset 1445) から県内全道路網の
Shapefile を取得 → 緊急輸送道路と差分計算 → 集落単位 (避難所 dataset と
結合) で「緊急輸送道路までの最近接距離」 を集計 →
「集落孤立リスクマップ」として展開。
発展課題 2 (RQ1 拡張): 防災拠点 (病院・消防本部・港湾)との接続性検証
- 結果 X: 緊急輸送道路は防災拠点を相互に結ぶネットワークとして指定される
が、 本研究では拠点側のデータが含まれず、 接続性は未検証。
- 新仮説 Y: 県内主要病院 (災害拠点病院 約 30 件) のすべてが緊急輸送道路
に直接面しており、 さらに最近接距離 ≤ 100 m に位置する仮説。 もし離れた拠点が
あれば、 それは「最終 100m 問題」 として救急車到達のボトルネックを示す。
- 課題 Z: DoBoX または県の災害拠点病院 dataset を取得 → 各拠点から
緊急輸送道路への最近接距離を BallTree で計算 → 100m を超える拠点を
抽出 → 「最終 100m 問題マップ」として展開。 補完線追加の優先順位を
示せる。
発展課題 3 (RQ2 拡張): 河川氾濫 vs 高潮の同時被災シナリオ
- 結果 X: 本研究は浸水想定 (河川 = 想定最大規模) のみだが、 沿岸都市は
高潮 (L44) と津波 (L8) も重なり脅威。 同時被災シナリオは未検証。
- 新仮説 Y: 沿岸都市 (広島市西区・南区, 呉市, 福山市) では河川氾濫 +
高潮 + 津波の 3 重ハザードが同時発生する区間が緊急輸送道路上に存在。
これらの区間は「3 重バッグアップルート設計が必要」な BCP 最重要箇所
仮説。
- 課題 Z: L44 高潮 Shapefile + L8 津波 Shapefile + 本記事浸水想定
Shapefile を緊急輸送道路と sjoin → 3 つすべてに重なる点を抽出 →
「3 重ハザード区間マップ」として展開。 該当区間に対する迂回路
(= バックアップルート) 設計の優先順位を示す。
発展課題 4 (RQ2 拡張): 降雨シナリオ別 通行可否シミュレーション
- 結果 X: 浸水重なり率は polygon-on-line の幾何判定のみで、 実際の
通行可否は降雨量 × 道路高さに依存する。 現状は「リスクのある区間」を
列挙しただけ。
- 新仮説 Y: 24 時間降雨 100mm / 200mm / 400mm の 3 シナリオで、
緊急輸送道路の通行可能率は100mm: 95% / 200mm: 80% / 400mm: 50%程度に
低下する仮説。 400mm では第 2 次・3 次の半数が通行不能となり、 第 1 次の
バックアップ依存率が極大化する。
- 課題 Z: 県の浸水想定の降雨シナリオ別 Shapefile(30 年確率 +
想定最大 + 3-4 段階) を取得 → 各階層 × 各シナリオで重なり率を計算 →
シナリオ別「通行可能率マトリクス」を作成。 BCP 計画の核心となる。
発展課題 5 (RQ3 拡張): L71 道路法面 + 第3次・補完路線の沿道斜面リスク統合
- 結果 X: 本研究は橋梁・トンネルのみ扱ったが、 L71 で扱った
道路法面 (12 区間 / パイロット 公開) は沿道斜面崩壊リスクとして
緊急輸送道路 BCP の追加要素。
- 新仮説 Y: 緊急輸送道路の第 3 次・補完路線のうち中山間部に位置する
区間は法面比率が高く、 「老朽法面 + 老朽橋 + 老朽トンネル」 の 3 重老朽が
集中するBCP 最脆弱区間が存在する仮説。
- 課題 Z: L71 法面区間 + L66 老朽橋 + L67 トンネル + 本研究
緊急輸送道路で4 dataset 結合 → 30m 圏内に 3 種以上集中する区間を
抽出 → 「3 重老朽区間マップ」として展開。 県全域で十数区間程度が
抽出される見込み。
発展課題 6 (RQ3 拡張): 判定区分 (?) のマスク影響と老朽橋実態の補正
- 結果 X: L66 橋梁データの判定区分は '?' でマスクされており、
実際の健全度評価 (I/II/III/IV) は不明。 本研究では「老朽 = 架設年度 < 1970」 と
代理した。
- 新仮説 Y: 判定区分 III/IV (= 早期措置 + 緊急措置) の橋梁を架設年代別に
推定すると、 1970 以前架設のうち30%程度が III/IV と推定。 緊急輸送
道路上の「真の BCP 脆弱橋梁」は105 件規模の仮説。
- 課題 Z: 国交省の MICHI システム (公開データ) や県の点検結果集計報告書
から判定区分の年代別分布を取得 → 本研究の老朽橋 (350 件) に
確率的に判定区分を割り振る → 推定 BCP 脆弱橋梁数を計算。
発展課題 7 (展望): 地震動 + 浸水 + 土砂 同時発生時の通行可能ネットワーク
- 結果 X: 本研究は災害区分別の重なりを別個に計算したが、 実際の災害
(= 南海トラフ巨大地震 + 津波 + 土砂崩壊) は同時多発。 ネットワーク
連結性 (= ある拠点から別拠点に到達できるか) は未検証。
- 新仮説 Y: 南海トラフ Mw9.1 想定で、 県内緊急輸送道路の50%が
何らかのリスク区域に重なる。 さらに連結性 (= グラフ上の到達可能性) を
考えると、 拠点ペアの20-30%が「直接到達不能 (= 迂回必要)」 となる
仮説。
- 課題 Z: 緊急輸送道路 LineString を networkx グラフ (拠点 = node,
路線区間 = edge) に変換 → 災害区域に重なるエッジを除去 → 連結成分を
算出 → 「災害時連結性マップ」として展開。 県の BCP 計画の根幹となる
解析。