Lesson 68
シェッド基本情報 単独 3 研究例分析 — 22 件から県の道路保護階層を読む
L68シェッド覆道洞門防雪覆道ロックシェッド国道県道RQ×3Format BgeopandasPOINT (CSV)中山間山腹通過道路保護階層L66連携 (橋梁)L67連携 (トンネル)L11連携 (土砂・雪崩)
所要 50 分 / 想定レベル: 中級 / データ: DoBoX dataset 13 (CSV, ~4.8 KB)
学習目標と問い
本記事は DoBoX のシリーズ「シェッド基本情報・維持管理情報」 1 件
(dataset_id = 13)
を 単独で取り上げ、広島県が管理する 道路シェッド (覆道) 全 22 件
/ 7 市町 / 5 事務所 /
8 路線を 3 つの独立した研究角度
(RQ1 / RQ2 / RQ3) で並列に分析する。
本データは CSV 形式 (4,892 byte / 16 列) で、緯度経度は
21 / 22 件取得可。
L66 (橋梁) / L67 (トンネル) との位置付け — 道路保護三層構造:
本記事 L68 はシリーズ「○○基本情報・維持管理情報」 のうちシェッド版で、
L66 橋梁 (4,203 件) / L67 トンネル (157 件) / L68 シェッド (22 件)
は同じ管理体系・同じ事務所階層で扱われる「道路保護施設の三兄弟」。
ただし機能・地形対象・規模は明確に分かれる:
橋梁 = 平野・川越え (網状多数)、
トンネル = 山岳貫通 (希少大規模)、
シェッド = 山腹通過 (超希少特殊解)。
本記事 RQ3 はこの三層構造を県全域で実証する。
シェッドの本質: 道路の上部を覆う構造物で、
落石・雪崩・崩土から道路と通行車両を守る。トンネルが「貫通」 して山の中を通すのに対し、
シェッドは道路を残したまま上から覆うことで開放感と低コストを両立する。
急傾斜地・雪崩多発区間・崩落履歴区間にピンポイント設置される。
2014 年改正の道路法で5 年に 1 回の点検が義務化され、
判定区分 I (健全) 〜 IV (緊急措置) が付与されるが、
本データの「判定区分」 列は全件 "?" でマスクされている。
そのため本研究では「築年数」 を健全度の代理指標として扱う。
独自用語の定義
- シェッド (覆道, 本データ #13):
道路を上部から覆って落石・雪崩・崩土等から守る構造物の総称。
「シェッド」 は英 shed (小屋) 由来で工学用語化したもの。
日本語では古くから「洞門」「覆道」 と呼ばれてきた。
本データは広島県管理の道路シェッド 22 件を全件対象。
- 洞門 (本データの大半 = 16 件):
最も古い呼称。明治・大正期から使われる「山腹を覆う門」 の意。
機能としては落石覆道だが、雪崩・崩土の対策も兼ねる場合が多い。
本記事では「一般落石覆道」として分類。
- 防雪覆道 / 防雪トンネル (本データ 5 件):
雪崩・吹雪・積雪からの防護を主目的とする覆道。
豪雪地帯の山岳道路に設置。
本データでは「防雪トンネル」 と命名されているが、構造上はシェッドの一種。
- ロックシェッド (本データ 1 件):
落石防護を明示した近代的呼称。本データでは「七谷ロックシェッド」 のみ。
新規整備のシェッドはこの呼称が一般的。
- 覆道 (ふくどう):
シェッド全体の正式名称。一般通行人にとっては「短いトンネル」 のように見えるが、
断面の片側または両側が開放されており、内部に外光が入る点で
トンネル (全断面閉鎖) と異なる。
- 落石覆道:
落石防護を主機能とするシェッド。屋根に岩石を受け止め、
下方の道路に落とさない「ガードレールの巨大版」。
- 雪崩覆道 (= 防雪覆道):
雪崩防護を主機能とするシェッド。屋根を斜面側に強く傾け、
雪を反対側に流す構造。豪雪地帯の「冬季通行確保の要」。
- 山腹通過 (本記事 RQ3 用語):
シェッドの地形特性を表す独自概念。橋梁が「川越え」、
トンネルが「山岳貫通」 なのに対し、シェッドは「山腹を切り通した道路の上を覆う」
= 山と道路の側面接触面を覆う。地形上のニッチ。
- 道路保護階層 (本記事 RQ3 用語):
橋梁 (平野クロス) → トンネル (山岳貫通) → シェッド (山腹通過)
の 3 段階で、件数 (191 : 7 : 1) と
規模 (短 → 長 → 中) が指数的に変化する補完地理分担。
- 長尺シェッド (本記事 RQ1 用語, 閾値 = 延長 150m 以上):
シェッドはトンネルより小さい (≥ 1000m はゼロ件) ため、
閾値は150mに設定。本研究で 6 件 (27.3%) を同定。
- 急傾斜地警戒区域 (本記事 RQ2 用語):
土砂災害防止法に基づく指定区域 (土砂災害警戒区域 #80)。
傾斜 30 度以上 + 高さ 5m 以上の急斜面下方の受け側を指定。
シェッドはこの区域に隣接または含まれる斜面の道路保護として設置される。
- 雪崩危険箇所:
気象庁・国交省の指定する雪崩発生履歴 + 地形条件から
雪崩リスクが高い地点 (本データは点)。
本研究では L11 既扱の 2,169 点を再利用。
- 近接判定 (500m バッファ):
シェッド POINT を 500m 半径でバッファ化し、
警戒区域・危険箇所とgeopandas sjoin (intersects) で交差を判定。
500m はシェッドが保護する道路区間長 (~500m) と
斜面の典型的長さの中間で、関連性の検出に妥当。
- POINT geometry:
緯度経度 1 組で表される点形式の geometry。
シェッドは実際には線状 (延長 17-322m) だが、本データは
代表点 1 点で記録される。これは橋梁・トンネルと同じ表現。
研究の問い (3 RQ)
- RQ1 (主研究): 広島県の道路シェッドの構造 — 種類・規模・地理分布はどう描けるか?
22 件を市町 × 事務所 × 道路種別 × 路線 × 延長 × 幅員 × 建設年代 × シェッド種別
の 8 軸で多角度に集計し、県のシェッド網の物理的形状を立体化する。
- RQ2 (副研究 1): シェッドの地形特性 — 急傾斜地・雪崩危険箇所との関係はどう現れるか?
シェッド位置 vs L11 既扱の急傾斜地 (29,756 polys) + 土石流 (13,337) +
雪崩 (2,169) を 500m バッファ sjoin で重ね、
「最も危険な道路区間」 を同定する。
- RQ3 (副研究 2): L66 橋梁 (4,203) + L67 トンネル (157) + L68 シェッド (22) の
道路保護三層構造はどう現れるか?
件数比 (191:7:1) + 規模 + 地形 + 整備年代を 4 軸で対比。
仮説 H1〜H5
- H1 (シェッド 3 分類, RQ1): シェッド 22 件は
洞門 (一般落石覆道)を過半数とし、防雪覆道 + ロックシェッドがそれに次ぐ
3 分類構造。施設名から自動分類して検証。
- H2 (中山間 + 山岳路線集中, RQ1): シェッドの80% 以上が
中山間 9 市町の国道 186/191/182 号 + 山岳県道に集中。平野部にはほぼ存在しない。
- H3 (危険箇所近接, RQ2): シェッドの過半数が 500m 以内に
急傾斜地・土石流・雪崩のいずれかを持つ (前半)。
特に防雪覆道は雪崩危険箇所に近接する (後半)。
- H4 (件数の三層比, RQ3): 橋:トン:シェ ≒ 191:7:1。
橋梁=網状多数、トンネル=希少大規模、シェッド=超希少特殊解。
- H5 (規模の段階差, RQ3): 平均延長 橋 < シェ < トン。
シェッドは橋梁 (19m) より大きく、トンネル (314m) より小さい中間規模。
到達点
- 1 つの超小規模 CSV (22 件 × 16 列, 全件 POINT) から、
シェッド種別 / 道路種別 / 市町 / 事務所 / 路線 / 延長 / 幅員 / 建設年度 を
多角度で集計し、施設名からの種別自動分類という実データ加工技を身につける。
- シェッド × 急傾斜・土石流・雪崩の空間結合 (geopandas sjoin) を体験し、
L11 既扱データを再活用する横断分析の技を獲得する。
- RQ3 で橋梁 + トンネル + シェッド の道路保護三層構造を完成させ、
「県の道路インフラ」 の物理的形状の全景を一望する。
使用データ
DoBoX のシリーズ「シェッド基本情報・維持管理情報」 1 件のみを単独で扱う。
リソースは CSV 1 ファイル (4.8 KB)。
| 項目 |
値 |
| dataset_id |
13 |
| 公式名 |
シェッド基本情報・維持管理情報 |
| ファイル |
shed_basic.csv |
| 形式 |
CSV (UTF-8 BOM) |
| ファイルサイズ |
4,892 byte (~4.8 KB) |
| レコード数 |
22 行 (= 道路シェッド件数) |
| 列数 |
19 列 |
| 種別 |
全件 シェッド (本記事で 3 分類: 洞門/防雪/ロックシェッド) |
| 道路種別 |
国道 14 + 県道 8 |
| 管理事務所 |
5 事務所 |
| 路線数 |
8 異なり値 |
| 市町数 (正規化済) |
7 市町 |
| 緯度経度 |
21 / 22 件取得可 (1 件 = 16 番津浪洞門のみ欠損で地図に出ない) |
| 建設年度 |
21 / 22 件取得可、範囲 1933-2007 (1 件 = 22 番杉ノ泊防雪トンネルが '0' で不明) |
| 点検年度 |
全件 取得可、範囲 2018-2022 |
| 判定区分 |
全件 "?" (= 公開データでは伏せられる) |
| 延長 (m) |
中央値 77m / 最大 322m / 最小 17.0m |
| 幅員 (m) |
中央値 7.0m / 最大 10.50m / 最小 6.50m |
| 座標系 (元) |
EPSG:4326 (WGS84) → EPSG:6671 で処理 |
| ライセンス |
クリエイティブ・コモンズ表示 (CC-BY) |
| 作成主体 |
広島県土木建築局道路整備課 |
| URL |
https://hiroshima-dobox.jp/datasets/13 |
この表から読み取れること:
dataset 13 は 22 行 × 19 列の超軽量 CSV。
列構成は L66 橋梁・L67 トンネルとほぼ同型で、
種別 / 路線 / 道路種別 / 建設年度 / 延長 / 幅員 / 緯度経度 / 点検年度 / 判定区分を持つ。
緯度経度は 21 / 22 件取得可、建設年度は 21 / 22 件。
判定区分は全件マスクされており、健全度値は本データから直接は取れない。
L66 (橋梁) / L67 (トンネル) との関係 — 道路保護三層構造
| 項目 | L66 橋梁 | L67 トンネル | L68 シェッド (本記事) |
| 研究の問い |
橋梁台帳 (種別・規模・年代・防災) |
トンネル台帳 + 二極構造 |
シェッド台帳 + 三層構造 |
| 主役データ |
dataset 11 (4,203 件) |
dataset 12 (157 件) |
dataset 13 (22 件) |
| 地形対象 |
河川・谷を渡る (平野・低地) |
山岳を貫く (中山間) |
山腹を覆う (急峻地形) |
| 機能 |
道路の連続性確保 (橋渡し) |
山岳バイパス (貫通) |
落石・雪崩・崩土からの保護 |
| 規模 |
中央値 ~ 7m, 短橋多数 |
中央値 ~ 206m, 中・長尺中心 |
中央値 ~ 77m, 中尺中心 |
| 道路種別偏向 |
県道 72.6% (件数支配) |
国道 52.9% (規模支配) |
国道 63.6% (山岳幹線保護) |
| 共通点 |
同じ管理体系 (道路法 + 5 年周期点検) + 健全度区分マスク + 同じ事務所階層 |
この表から読み取れること:
L66/L67/L68 は同じシリーズの三兄弟データセット。
研究の問いは似ているが、対象地形・規模・偏向が階段状に変化する。
本記事 RQ3 でこれを「道路保護三層構造」として定量化する。
データ取得手順
| ステップ |
操作 |
値 / URL |
| ステップ 1 |
DoBoX dataset 13 ページ |
https://hiroshima-dobox.jp/datasets/13 |
| ステップ 2 |
CSV DL (リソースリンク) |
ページ内の 1 リソースから「ダウンロード」 |
| ステップ 3 |
保存先 |
data/extras/L68_sheds/shed_basic.csv |
| ステップ 4 |
POINT 構築 + EPSG:6671 投影 |
21/22 件 → POINT (1 件は緯度経度欠損) |
| ステップ 5 |
種別自動分類 |
施設名から 防雪/ロックシェッド/洞門 の 3 分類 |
| ステップ 6 |
市町同定 (テキスト + sjoin) |
sjoin 18/21 直接, 残りは最近隣 |
| ステップ 7 |
RQ1 集計 (構造) |
種別 + 道路種別 + 市町 + 事務所 + 路線 + 延長 + 幅員 + 年代 |
| ステップ 8 |
RQ2 危険近接判定 (500m バッファ) |
急傾斜 29,756 + 土石流 13,337 + 雪崩 2,169 と sjoin |
| ステップ 9 |
RQ3 集計 (L66/L67 比較) |
件数比 191:7:1 |
| ステップ 10 |
8 図 + 12 表 出力 |
本スクリプト全体で ~10 秒 |
この表から読み取れること:
DoBoX dataset 13 → CSV DL → POINT 構築 → 種別自動分類 →
市町同定 → 危険箇所 sjoin → RQ1/2/3 集計、の 10 ステップで再現可能。
全工程は本スクリプト 1 本で自動実行 (~10 秒)。
関連データセットとの対応
- L66 橋梁基本情報: 同シリーズの橋梁版 (4,203 件)。RQ3 で対比。
- L67 トンネル基本情報: 同シリーズのトンネル版 (157 件)。RQ3 で対比。
- L11 トリプルハザード: 土砂災害警戒区域 (本記事 RQ2 と関連) + 雪崩。
本記事は L11 の sediment_shp + avalanche_shp を直接再利用。
- L56 急傾斜防止施設: 急傾斜地崩壊対策施設の整備実績。
シェッドと「道路保護 vs 集落保護」の補完関係 (発展課題)。
- L50 道路規制: 老朽シェッドの規制状況 (発展課題)。
ダウンロード
本レッスンの再現に必要な全データ・中間 CSV・図 PNG・スクリプトを以下から直接 DL できる:
生データ (DoBoX 直リンク + 本日取得分)
本記事の中間 CSV (再現用)
図 PNG (8 枚) と Python スクリプト
個別取得 (PowerShell, このレッスンだけ)
cd "2026 DoBoX 教材"
# DoBoX のページから shed_basic.csv をブラウザで DL し、
# data/extras/L68_sheds/shed_basic.csv に置く (~5 KB)
py -X utf8 lessons/L68_sheds.py
本スクリプトは data/extras/L68_sheds/shed_basic.csv が無ければ
ensure_dataset() ヘルパで自動取得を試みる。
全工程は約 10 秒で完走 (要件 S 余裕クリア)。
【RQ1】 シェッドの構造 — 国道 64% / 中央値 77m / 中山間 82%
RQ1 の狙い
22 件の道路シェッドをシェッド種別 / 道路種別 / 市町 / 事務所 / 路線 /
延長 / 幅員 / 建設年代の 8 軸で多角度に集計し、広島県のシェッド網の
物理的形状を立体化する。
特に「シェッド」 という急峻地形保護の特殊インフラの規模・分布を
初めて定量化する。
手法 (前置き解説)
- POINT 構築: 緯度経度列から
shapely.geometry.Point を直接生成。
EPSG:4326 → EPSG:6671 (平面直角第 III 系) に投影。
1 件 (16 番津浪洞門) は緯度経度欠損で地図にプロットされない。
- シェッド種別の自動分類: 本データの「種別」 列は全件「シェッド」
で内部的差異を捉えない。本研究では施設名から正規表現で 3 分類:
「防雪」 を含む = 防雪覆道、「ロックシェッド」 を含む = ロックシェッド、
残り = 洞門 (一般落石覆道)。これは本記事の独自の定義。
- 市町名の正規化: 「住所(市町)」 列が「広島県大竹市小方町後飯谷」
のような複合表記の場合は、先頭の市町名を抽出。
旧町村名 (君田町等) は現市町に正規化。
- geopandas sjoin (空間結合): シェッド POINT を市町 polygon に
predicate="within" で結合し市町同定。
未マッチは最近隣市町で補完。
- 長尺シェッド: 延長 ≥ 150m を「長尺」 と定義。
トンネルの長大閾値 (1000m) より低い (シェッドは 1km 級は皆無)。
入出力の Before/After 例
| 段階 | 1 件 (= 18番 君田洞門) の中身 | 件数 |
| (0) CSV 1 行 |
施設番号=18, 施設名=君田洞門, 種別=シェッド, 路線名=三次高野線,
道路種別=県道, 延長=50.0, 幅員=6.75, 建設年度=1979, 緯度=34.885,
経度=132.851, 住所=三次市 君田町 西入君 |
22 |
| (1) 種別 自動分類 |
+ シェッド種別 = 「洞門 (一般落石覆道)」 (← 「防雪」「ロックシェッド」 含まない) |
22 |
| (2) 市町正規化 |
+ 市町名 = 三次市 (← 「三次市 君田町 西入君」 の先頭 = 三次市) |
22 |
| (3) POINT 構築 + EPSG:6671 |
+ geometry = Point (X, Y, m 単位) |
21 |
| (4) sjoin 検証 |
+ CITY_CD = 209 (= 三次市) — テキストと整合 |
21 |
| (5) 派生フラグ |
+ 年代=1970, is_old=False, is_long=False (50m < 150m), 地形分類=中山間 |
22 |
| (6) 集計 (例: 種別別) |
洞門: 16 件 (1 位) |
(別) |
(0)-(6) を全 22 件に適用 → 8 軸で集計 → 図化。
実装コード (CSV → 数値正規化 → 種別自動分類 → 集計)
↑ L68_sheds.py 行 1571–1688
1
2
3
4
5
6
7
8
9
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625 | # 1. CSV 読込 + 数値列クリーニング
import pandas as pd, geopandas as gpd, numpy as np
from shapely.geometry import Point
df = pd.read_csv("data/extras/L68_sheds/shed_basic.csv", encoding="utf-8-sig")
print(df.shape, df["道路種別"].value_counts()) # 22 行, 国道 14 / 県道 8
# 2. 数値列をきれいに
df["建設年度"] = pd.to_numeric(df["建設年度"], errors="coerce")
df.loc[df["建設年度"] <= 1800, "建設年度"] = np.nan # "0" を NaN
df["延長(m)"] = pd.to_numeric(df["延長(m)"], errors="coerce")
df["幅員(m)"] = pd.to_numeric(df["幅員(m)"], errors="coerce")
df["緯度(10進数)"] = pd.to_numeric(df["緯度(10進数)"], errors="coerce")
df["経度(10進数)"] = pd.to_numeric(df["経度(10進数)"], errors="coerce")
# 3. シェッド種別 自動分類 (施設名ベースの 3 分類)
def classify_shed(name):
s = str(name)
if "防雪" in s: return "防雪覆道 (雪崩対策)"
if "ロックシェッド" in s: return "ロックシェッド (明示的落石対策)"
return "洞門 (一般落石覆道)"
df["シェッド種別"] = df["施設名"].apply(classify_shed)
print(df["シェッド種別"].value_counts())
# 洞門 (一般落石覆道): 16
# 防雪覆道 (雪崩対策): 5
# ロックシェッド (明示的落石対策): 1
# 4. POINT 構築 + 投影
geom_ok = df["緯度(10進数)"].notna() & df["経度(10進数)"].notna()
df_geom = df[geom_ok].copy()
df_geom["geometry"] = df_geom.apply(
lambda r: Point(float(r["経度(10進数)"]), float(r["緯度(10進数)"])), axis=1)
gdf = gpd.GeoDataFrame(df_geom, geometry="geometry",
crs="EPSG:4326").to_crs("EPSG:6671")
# 5. 市町正規化
def parse_city(addr):
head = str(addr).replace("広島県", "").strip().split(" ")[0].strip()
for c in ["広島市","呉市","三原市","尾道市","福山市","三次市","庄原市",
"東広島市","廿日市市","府中市","大竹市","安芸高田市",
"竹原市","江田島市"]:
if head.startswith(c): return c
return head # 「北広島町」「安芸太田町」 等はそのまま
df["市町名"] = df["住所(市町)"].apply(parse_city)
# 6. RQ1 多軸集計
print(df.groupby("市町名").size().sort_values(ascending=False).head(5))
print(df["路線名"].value_counts())
print(f"国道シェア: {(df['道路種別']=='国道').sum()/len(df)*100:.1f}%")
print(f"中山間シェア: {df['市町名'].isin(['庄原市','三次市','北広島町','安芸太田町','神石高原町','世羅町','府中市','安芸高田市','大崎上島町']).sum()/len(df)*100:.1f}%")
# 7. 長尺シェッド (>=150m)
LONG = 150.0
df["is_long"] = df["延長(m)"] >= LONG
print(f"長尺シェッド: {df['is_long'].sum()} / {len(df)}")
|
図 1: なぜこの図か (RQ1)
「広島県のどこにどんな種別のシェッドがあるか」 を 1 枚で読みたい。
全 22 件のうち緯度経度有 21 件を、
洞門 (青) / 防雪 (緑) / ロックシェッド (赤)の 3 色で大三角に描く。
これにより県内シェッド網の物理的形状 + 種別偏在が一目で読める。
点を大きめ (msize=85) + 三角マーカーで設定し、
橋梁・トンネルとは別の「特殊解インフラ」感を出す。
この図から読み取れること:
- 北部・西部の中山間部に集中 = シェッドは急峻山地保護のため、
安芸太田町・北広島町・三次市・庄原市等に密集。
これは L67 トンネルマップと類似だが、件数はトンネルの 1/7 と希少。
- 大竹市西部 (国道 186 号弥栄洞門群 4 件) + 廿日市市西部 (栗栖洞門)
は中山間外だが山間道路。中山間扱いされない山地のシェッド配置を示す。
- 緑 (防雪覆道) は北部山間 (北広島町・安芸太田町) に集中 =
豪雪地帯の冬季通行確保。地理的に明確に偏在。
- 赤 (ロックシェッド) は安芸高田市の 1 件のみ。
これは新しい呼称が定着しつつあることを示す
(古いシェッドは「洞門」 名のまま残る)。
- 福山市・広島市中心部・尾道市・呉市等の沿岸・平野部はシェッドゼロ =
地形的に必要ない。「平野=橋梁、山岳=トンネル + シェッド」の地形分担。
- 1 件 (16 番津浪洞門, 国道 191 号, 安芸太田町) は緯度経度欠損で地図に出ない。
これはデータの不完全性の例。
図 2: なぜこの図か (RQ1)
「7 市町と 8 路線のうち、どこに集中しているか」 を
左右ペアで比較したい。横棒 (件数 + 値ラベル) で並べ、市町は
中山間 (青) vs 平野・沿岸 (橙)で塗り分け。
これにより市町別偏在 + 路線別偏在が一目で読める。
この図から読み取れること:
- 市町 Top 1 = 北広島町 (8 件,
36%)。
Top 3 = 北広島町 / 安芸太田町 / 三次市 で全体の
68%。
- 市町別の青 (中山間) が大半 = 中山間集中度 81.8% (H2 検証用)。
平野・沿岸 (橙) は大竹市・廿日市市・安芸高田市の山間部のみ。
- 路線 Top 1 = 国道 186 号 (11 件,
50%) =
廿日市〜安芸太田〜大竹を縦貫する山岳幹線。
「186 号 = 県内シェッドのメイン路線」。
- 三次高野線 + 国道 182 号 + 国道 191 号 等の山岳路線でも複数件のシェッド。
急峻路線にピンポイント整備のパターン。
- 政策的含意: 国道 186 号沿いの長期維持管理がシェッド長寿命化計画の中心。
この 1 路線で県シェッドの過半数を占めるため、優先度が高い。
図 3: なぜこの図か (RQ1)
「シェッドの3 分類の比率 + 規模 (延長 + 幅員) 分布」 を 1 枚で読みたい。
左 = 種別棒グラフ (H1 検証)、中 = 延長ヒスト + 長尺閾値 (150m) + 中央値線、
右 = 幅員ヒスト + 中央値線。3 ペインで構造を網羅。
この図から読み取れること:
- 左: 種別の洞門 16 (青, 過半数) + 防雪 5 (緑) + ロック 1 (赤)
の 3 分類が共存 = H1 強支持。
「シェッドの大半は古い呼称『洞門』 で残り、
新規は明示分類化される」呼称の歴史的変遷が読める。
- 中央 (延長): 中央値 77m = 半数は 100m 以下の小規模。
最大は322m (滝山洞門上) で、トンネル最大 (2,212m) の 1/7。
長尺 (150m 以上) は 6 件 (27.3%)。
- 中央 (延長): 17m から 322m の 19 倍の桁差は、橋梁の桁差 (~ 7 桁) より小さい。
「シェッドは規模のばらつきが小さい標準化インフラ」。
- 右 (幅員): 中央値 7.0m = ほぼ 2 車線分。
最頻値域は 6.5-7.5m に集中 = 山岳道路規格 (やや狭い 2 車線) を反映。
最大も 10.5m と狭く、「山岳道路の幅員制約をそのまま保護」。
- 規模の右裾: 延長は 322m まで延びるが、幅員は 10.5m で頭打ち。
「長さは地形依存で多様、幅は道路規格依存で標準化」はトンネルと同じパターン。
図 4: なぜこの図か (RQ1)
「シェッドがどの年代に集中整備されたか」 を 1 枚で読みたい。
10 年区切りの建設年代別件数を棒グラフで描き、
老朽閾値 (1970 年代以前) を赤色、1980 年以降を青色で塗り分け。
この図から読み取れること:
- 最多年代 = 2000s (7 件)。
シェッドは 21 件と少なく特定年代への集中ピークを論じにくいが、
1980-2000s の 3 年代が中心。
- 1930s には本三坂トンネル (1933 年, 浜田八重可部線, 北広島町)がある =
昭和初期の山岳道路整備の遺産。
築 90 年超の最古シェッドで、橋梁の最古より古い記録。
- 1970 年代以前の老朽シェッドは 4 件 (19%)。
築 50 年超で大規模補修・更新の対象になりつつある。
- 2000s 以降も新規整備が続く (7 件) =
道路法改正 (2014) 以降も急傾斜地対策として新規整備。
これは橋梁・トンネルが「維持管理時代」 に入ったのと対照的。
- 1 件 (22 番杉ノ泊防雪トンネル) は建設年度が "0" で記録不明。
これは古い記録 (1960 年代以前と推測) を示す。
表: RQ1 全体サマリ
| 指標 |
値 |
| 総件数 (RQ1) |
22 件 |
| 国道シェッド |
14 (63.6%) |
| 県道シェッド |
8 (36.4%) |
| 管理事務所数 |
5 |
| 路線数 |
8 |
| 市町数 |
7 |
| Top 1 市町 (RQ1) |
北広島町 (8 件) |
| 中山間 9 市町シェア (RQ1) |
81.8% (18 件) |
| 最頻種別 (RQ1) |
洞門 (一般落石覆道) (16 件, 72.7%) |
| 長尺シェッド (≥150m) (RQ1) |
6 件 (27.3%) |
| 延長 中央値 / 最大 (RQ1) |
77 m / 322 m |
| 幅員 中央値 / 最大 (RQ1) |
7.0 m / 10.50 m |
| 最多年代 (RQ1) |
2000s (7 件) |
| 老朽シェッド (≤1974) (RQ1) |
4 件 (19.0%) |
この表から読み取れること: 県内道路シェッドは 22 件 / 7 市町 / 5 事務所 / 8 路線 / 国道 + 県道 / 3 種別 の超小規模管理対象。国道シェア 63.6% で件数支配、規模は中尺集中 (中央値 77m)。中山間シェア 81.8% は L66 (橋梁) の中山間率より圧倒的に高い。
表: シェッド種別 サマリ (3 分類, H1 検証)
| シェッド種別 |
件数 |
シェア_% |
平均延長_m |
| 洞門 (一般落石覆道) |
16 |
72.7 |
108.7 |
| 防雪覆道 (雪崩対策) |
5 |
22.7 |
110.6 |
| ロックシェッド (明示的落石対策) |
1 |
4.5 |
72.0 |
この表から読み取れること: 洞門 16 件 (73%, 過半数) + 防雪覆道 5 件 (23%) + ロックシェッド 1 件 (5%)。3 分類の共存はシェッドの呼称の歴史的変遷を反映。古い覆道は「洞門」、雪深い地域は「防雪○○」、新規は「ロックシェッド」。平均延長は種別ごとに異なり、設計思想の差を示す。
表: 道路種別 サマリ
| 道路種別 |
件数 |
シェア_% |
平均延長_m |
平均幅員_m |
| 国道 |
14 |
63.6 |
117.9 |
7.85 |
| 県道 |
8 |
36.4 |
89.3 |
6.89 |
| 合計 |
22 |
100.0 |
107.5 |
7.50 |
この表から読み取れること: 国道 63.6% (n=14) + 県道 36.4% (n=8)。国道は件数も規模も優勢: 平均延長 118m vs 県道 89m。これは L67 トンネル (国道偏重) と同じパターンで、「広域幹線でこそ大規模保護施設」の事業構造を反映。
表: 市町別 ランキング (全件)
| 順位 |
市町名 |
件数 |
| 1 |
北広島町 |
8 |
| 2 |
安芸太田町 |
4 |
| 3 |
三次市 |
3 |
| 4 |
大竹市 |
3 |
| 5 |
庄原市 |
2 |
| 6 |
安芸高田市 |
1 |
| 7 |
廿日市市 |
1 |
この表から読み取れること: 件数最多は 北広島町 (8 件)、Top 3 で 68% を占める。中山間市町 (青色市町) が上位を独占し、「シェッド = 中山間+山岳道路の特殊解」のパターンが鮮明。
表: 管理事務所別 ランキング
| 順位 |
管理事務所名 |
件数 |
シェア_% |
| 1 |
安芸太田支所 |
12 |
54.5 |
| 2 |
廿日市支所 |
4 |
18.2 |
| 3 |
北部建設事務所 |
3 |
13.6 |
| 4 |
庄原支所 |
2 |
9.1 |
| 5 |
西部建設事務所 |
1 |
4.5 |
この表から読み取れること: 安芸太田支所 (12 件, 54.5%) が単独 1 位 = 西部山地 (国道 186 号沿線) の中山間道路網担当。事務所間で大きな偏りがある = シェッド整備が地形に強く依存することを反映。
表: 路線別 ランキング (全件)
| 順位 |
路線名 |
件数 |
シェア_% |
| 1 |
186号 |
11 |
50.0 |
| 2 |
三次高野線 |
3 |
13.6 |
| 3 |
182号 |
2 |
9.1 |
| 4 |
八幡雲耕線 |
2 |
9.1 |
| 5 |
浜田八重可部線 |
1 |
4.5 |
| 6 |
甲田作木線 |
1 |
4.5 |
| 7 |
191号 |
1 |
4.5 |
| 8 |
弁財天加計線 |
1 |
4.5 |
この表から読み取れること: 路線別 1 位は 186号 (11 件) で全体の 50%。残り 7 路線は 1-3 件のみ。「主要 1 路線にシェッドが集中する」偏在は橋梁・トンネルより極端で、国道 186 号の優先度が際立つ。
表: 建設年代別 件数
| 年代 |
件数 |
シェア_% |
| 1930s |
1 |
4.8 |
| 1960s |
2 |
9.5 |
| 1970s |
5 |
23.8 |
| 1980s |
2 |
9.5 |
| 1990s |
4 |
19.0 |
| 2000s |
7 |
33.3 |
この表から読み取れること: 建設年代は1930s から 2000s に分散、最多は 2000s (7 件)。老朽 (1970s 以前) は 4 件 (19%)。2000s も新規整備があり 「シェッドは現在進行形のインフラ」。これは橋梁・トンネルが「維持管理時代」 に入ったのと対照的。
【RQ2】 危険箇所との関係 — いずれか近接 48% / 防雪覆道の雪崩近接 0% (反直観!)
RQ2 の狙い
RQ1 で抽出した 22 件のシェッド (うち緯度経度有 21 件) について、
急傾斜地・土石流・雪崩の 3 種類の危険箇所と 500m バッファで
sjoin し、「シェッドが危険箇所をピンポイント保護している」仮説を検証する。
特に防雪覆道が雪崩危険箇所に近接するパターンを追う。
手法 (前置き解説)
- 500m バッファ:
gdf.geometry.buffer(500) で
シェッド POINT を 500m 半径の円ポリゴンに拡張。
シェッドが保護する道路区間長 (~500m) と斜面長の中間値で、関連性検出に妥当。
- geopandas sjoin:
gpd.sjoin(buffer, hazard, predicate='intersects') で
バッファと警戒区域・危険箇所の交差を判定。
内部 R-tree で高速化。3 種類のハザード × 21 シェッドで <1 秒。
- 急傾斜地警戒区域 (29,756 polys):
L11 既扱の土砂災害警戒区域 (急傾斜) を再利用。
傾斜 30 度以上 + 高さ 5m 以上の受け側を指定したポリゴン。
- 土石流警戒区域 (13,337 polys):
渓流からの土石流氾濫想定区域。L11 既扱を再利用。
- 雪崩危険箇所 (2,169 pts):
気象庁・国交省指定の雪崩発生履歴 + 地形条件から指定された点。L11 既扱を再利用。
- 限界: 警戒区域は斜面下方の受け側を示す。
シェッドは斜面側の道路上にあるため、区域内に入っているとは限らない。
500m バッファでもこの間接的関係しか捉えられない。
入出力の Before/After 例
| 段階 | 1 件 (= 18番 君田洞門) の中身 | 件数 |
| (0) シェッド POINT |
geometry = Point(X, Y), 種別=洞門, 延長=50m |
21 |
| (1) 500m バッファ |
geometry = Polygon (半径 500m の円, 面積 ~ 0.79 km²) |
21 |
| (2) 急傾斜 sjoin |
+ near_急傾斜 = True (バッファ内に急傾斜 polygon 重なり) |
10 |
| (3) 土石流 sjoin |
+ near_土石流 = True |
8 |
| (4) 雪崩 sjoin |
+ near_雪崩 = True |
5 |
| (5) 危険スコア |
+ hazard_count = 3 (3 種すべて近接 — 君田洞門は最高ランク) |
4 |
(0)-(5) を全 21 件に適用。
hazard_count = 0/1/2/3 の 4 段階で各シェッドのリスクを評価。
実装コード (バッファ → sjoin → 種別 × 危険 集計)
↑ L68_sheds.py 行 1867–1947
1
2
3
4
5
6
7
8
9
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903 | # 1. シェッド POINT を 500m バッファ
gdf_buf = gdf.copy()
gdf_buf["geometry"] = gdf_buf.geometry.buffer(500.0)
# 2. 土砂災害 + 雪崩 Shapefile を読込 (L11 既扱を再利用)
import geopandas as gpd
sed_dir = ROOT / "data" / "extras" / "sediment_shp"
ava_dir = ROOT / "data" / "extras" / "avalanche_shp"
kyukei = gpd.read_file(sed_dir / "kyukeisha" / "..." / "73_031krp_34_20260427.shp"
).to_crs("EPSG:6671")
doseki = gpd.read_file(sed_dir / "doseki" / "..." / "73_031drp_34_20260427.shp"
).to_crs("EPSG:6671")
ava = gpd.read_file(ava_dir / "..." / "74_34_20260427.shp").to_crs("EPSG:6671")
# 3. sjoin で各バッファに hazard が交差するかを bool で取得
def has_within(buf, hz):
j = gpd.sjoin(buf[["geometry"]].reset_index(),
hz[["geometry"]],
how="inner", predicate="intersects")
hit = set(j["index"].tolist())
return [i in hit for i in range(len(buf))]
gdf["near_急傾斜"] = has_within(gdf_buf, kyukei)
gdf["near_土石流"] = has_within(gdf_buf, doseki)
gdf["near_雪崩"] = has_within(gdf_buf, ava)
gdf["hazard_count"] = (gdf["near_急傾斜"].astype(int)
+ gdf["near_土石流"].astype(int)
+ gdf["near_雪崩"].astype(int))
# 4. 種別 × 雪崩近接率 (H3 検証)
print(gdf.groupby("シェッド種別")["near_雪崩"].mean() * 100)
# 洞門: 25.0% (4/16)
# 防雪覆道: 0.0% (0/5) <-- 名前は「防雪」 だが公式雪崩危険箇所には近接せず
# ロックシェッド: 100.0% (1/1, 注意: n=1)
# 5. hazard_count > 0 のシェッド (= 何らかの危険近接) の割合
print(f"いずれか近接: {(gdf['hazard_count']>=1).sum()} / {len(gdf)}")
|
図 5: なぜこの図か (RQ2)
「シェッドと急傾斜・土石流・雪崩の位置関係」 を 1 枚で読みたい。
背景に 3 種類のハザード (急傾斜=薄赤、土石流=薄橙、雪崩=薄青) を重ね、
シェッドを前景の三角マーカー、hazard_count (0-3 = 近接危険種類数) で
色分け (灰=0, 緑=1, 橙=2, 赤=3)。
これにより「どのシェッドが多重リスク区間にあるか」が一目で読める。
この図から読み取れること:
- 急傾斜地 (薄赤) は中山間に広く分布 = 県内の山岳地形を反映。
シェッドの多くがその近傍に立地。
- 赤三角 (hazard_count=3) は 4 件 = 「最危険シェッド」。
これは急傾斜 + 土石流 + 雪崩のすべての近傍 = 多重リスク区間。
対象は君田洞門 (三次市, 県道 三次高野線, 1979 年, 50m)。
「シェッドだけでなく道路区間そのものが要監視」。
- 橙三角 (hazard_count=2, n=5) は二重リスク。
「久代洞門 (庄原市)」「杉ノ泊防雪トンネル (安芸太田町)」 等が含まれる。
- 緑三角 (hazard_count=1) は単一リスク (= 1 件)、
灰三角 (hazard_count=0) は明示的危険近接なし (= 11 件)。
- 「灰三角が約半数」あるのは: 警戒区域は斜面下方の受け側を示し、
道路上のシェッド点は区域から外れる場合が多いから。
これは「警戒区域指定の論理 vs シェッド設置論理」のズレを示唆。
シェッドは「警戒区域指定前から存在する崩落履歴区間」に多く立地する。
図 6: なぜこの図か (RQ2)
「シェッド種別ごとにどの危険箇所への近接率が異なるか」 を比較したい。
3 種別 × 3 危険の 9 組み合わせをグループ棒グラフで並べる。
これによりH3 (防雪覆道は雪崩近接偏重) の検証が直感的にできる。
この図から読み取れること (反直観的な研究発見):
- 防雪覆道の雪崩近接率 = 0% (0/5) =
仮説 H3 後半は反証! 名前は「防雪」 だが、公式雪崩危険箇所 (2,169 点) との
近接率はゼロ。
洞門の雪崩近接率 (25%, 4/16) より低い。
- なぜ防雪覆道は雪崩危険箇所に近接しないのか: ① 防雪覆道は
雪崩というより吹雪・雪庇・路面凍結からの保護を狙う,
② 公式雪崩危険箇所は過去の発生履歴で指定され、
防雪覆道整備の論理とは独立, ③ 防雪覆道は豪雪地帯の路線全体を保護する設計で、
ピンポイント警戒区域近接が必須ではない。
- 洞門の急傾斜近接率 (44%) が最高 = 「古い洞門」 が崩落多発区間に
集中設置されてきた歴史を反映。「洞門 = 多目的の老兵」という性格。
- ロックシェッドは n=1 で統計的議論が難しい (1 件のみで率が 100% / 0% に振れる)。
本データの希少性ゆえの限界。
- 政策的含意: シェッドの名前 (種別) と公式災害区域近接の対応はズレている。
これは、シェッド整備が 「公式区域指定よりも長年の地域知見・崩落履歴」に基づいて
決定されてきたことを示唆する。
災害区域指定 = 受け側 (=斜面下方の集落保護)、シェッド = 道路上 (=道路保護) という
「論理の起点の違い」が浮かぶ。
表: シェッド種別 × 危険近接 クロス表
| シェッド種別 |
件数 |
急傾斜n |
土石流n |
雪崩n |
急傾斜_% |
土石流_% |
雪崩_% |
| ロックシェッド (明示的落石対策) |
1 |
1 |
1 |
1 |
100.0 |
100.0 |
100.0 |
| 洞門 (一般落石覆道) |
16 |
7 |
6 |
4 |
43.8 |
37.5 |
25.0 |
| 防雪覆道 (雪崩対策) |
5 |
2 |
1 |
0 |
40.0 |
20.0 |
0.0 |
この表から読み取れること: 種別ごとに危険対応パターンが異なる。防雪覆道は雪崩近接率 0% で偏重あり。洞門 (16 件) は急傾斜近接率が最高で「古来の落石+崩落対応」の典型。全体として急傾斜近接 48% > 土石流 38% > 雪崩 24% の順位。
表: 各シェッドの危険近接プロファイル (22 件)
| 施設番号 |
施設名 |
シェッド種別 |
道路種別 |
路線名 |
市町名 |
延長(m) |
急傾斜500m |
土石流500m |
雪崩500m |
危険箇所数 (0-3) |
| 17 |
南雨洞門 |
洞門 (一般落石覆道) |
県道 |
三次高野線 |
三次市 |
79.5 |
○ |
○ |
○ |
3 |
| 1 |
七谷ロックシェッド |
ロックシェッド (明示的落石対策) |
県道 |
甲田作木線 |
安芸高田市 |
72.0 |
○ |
○ |
○ |
3 |
| 19 |
第二南雨洞門 |
洞門 (一般落石覆道) |
県道 |
三次高野線 |
三次市 |
54.0 |
○ |
○ |
○ |
3 |
| 18 |
君田洞門 |
洞門 (一般落石覆道) |
県道 |
三次高野線 |
三次市 |
50.0 |
○ |
○ |
○ |
3 |
| 22 |
杉ノ泊防雪トンネル |
防雪覆道 (雪崩対策) |
県道 |
弁財天加計線 |
安芸太田町 |
130.0 |
○ |
○ |
— |
2 |
| 12 |
黒滝洞門 |
洞門 (一般落石覆道) |
国道 |
186号 |
安芸太田町 |
122.0 |
○ |
— |
○ |
2 |
| 21 |
久代洞門 |
洞門 (一般落石覆道) |
国道 |
182号 |
庄原市 |
69.0 |
○ |
○ |
— |
2 |
| 4 |
栗栖洞門 |
洞門 (一般落石覆道) |
国道 |
186号 |
廿日市市 |
51.0 |
○ |
○ |
— |
2 |
| 20 |
名倉洞門 |
洞門 (一般落石覆道) |
国道 |
182号 |
庄原市 |
42.0 |
○ |
○ |
— |
2 |
| 11 |
下山防雪トンネル |
防雪覆道 (雪崩対策) |
国道 |
186号 |
北広島町 |
95.0 |
○ |
— |
— |
1 |
| 9 |
滝山洞門(上) |
洞門 (一般落石覆道) |
国道 |
186号 |
北広島町 |
322.0 |
— |
— |
— |
0 |
| 16 |
津浪洞門 |
洞門 (一般落石覆道) |
国道 |
191号 |
安芸太田町 |
245.0 |
— |
— |
— |
0 |
| 6 |
本三坂トンネル |
洞門 (一般落石覆道) |
県道 |
浜田八重可部線 |
北広島町 |
183.0 |
— |
— |
— |
0 |
| 8 |
王泊防雪トンネル |
防雪覆道 (雪崩対策) |
国道 |
186号 |
北広島町 |
182.0 |
— |
— |
— |
0 |
| 7 |
八神洞門 |
洞門 (一般落石覆道) |
国道 |
186号 |
北広島町 |
174.5 |
— |
— |
— |
0 |
| 10 |
滝山洞門(下) |
洞門 (一般落石覆道) |
国道 |
186号 |
北広島町 |
156.5 |
— |
— |
— |
0 |
| 13 |
後平洞門 |
洞門 (一般落石覆道) |
国道 |
186号 |
安芸太田町 |
108.0 |
— |
— |
— |
0 |
| 15 |
八幡防雪トンネル(下) |
防雪覆道 (雪崩対策) |
県道 |
八幡雲耕線 |
北広島町 |
73.6 |
— |
— |
— |
0 |
| 14 |
八幡防雪トンネル(上) |
防雪覆道 (雪崩対策) |
県道 |
八幡雲耕線 |
北広島町 |
72.5 |
— |
— |
— |
0 |
| 3 |
弥栄洞門(2-3) |
洞門 (一般落石覆道) |
国道 |
186号 |
大竹市 |
40.0 |
— |
— |
— |
0 |
| 2 |
弥栄洞門(1-2) |
洞門 (一般落石覆道) |
国道 |
186号 |
大竹市 |
26.0 |
— |
— |
— |
0 |
| 5 |
弥栄洞門(3-4) |
洞門 (一般落石覆道) |
国道 |
186号 |
大竹市 |
17.0 |
— |
— |
— |
0 |
この表から読み取れること: 多重リスク (hazard_count ≥ 2) は 9 件、三重リスク (=3) は 4 件。特に君田洞門 (三次市, 県道, 50m, 1979 年) は 3 種すべて近接で県内最危険シェッド区間。老朽化 + 多重リスク シェッドは耐震・覆工補修の最優先対象。半数のシェッドは hazard_count=0 だが、これは警戒区域の指定論理上の特性 (受け側を指定) によるもので、シェッド自体が安全という意味ではない点に注意。
【RQ3】 道路保護三層構造 — 件数比 191:7:1 / 規模 19→107→314m
RQ3 の狙い
L66 橋梁 (4,203) + L67 トンネル (157) + L68 シェッド (22) を比較し、
道路保護三層構造を実証する。三者は同じ管理体系・同じ事務所階層を共有するが、
機能・地形・規模が階段状に分かれる。
本研究はこの違いを件数 / 規模 / 道路種別 / 地理の 4 軸で定量化する。
手法 (前置き解説)
- L66 + L67 中間 CSV 流用:
lessons/assets/L66_all_bridges.csv + L67_all_tunnels.csv
を直接読込。各 4,203 + 157 件のフルデータ + 派生フラグを利用。
- 件数比 / 平均延長比:
単純比較指標で桁数の違いを視覚化。
件数比 191 : 7 : 1、規模 中央値 7m → 80m → 280m の 3 段階。
- 規模分布の重ね合わせ (log 軸):
延長分布のヒストグラムを密度正規化して 3 系列を重ねる。
件数差を排除し規模の重なり度・三層構造を比較。
- 地図の三層描画:
橋梁 (背景灰) + トンネル (中景紫円) + シェッド (前景三角) でz-order を制御。
件数比に応じてマーカーサイズと透明度を調整。
実装コード (L66 + L67 中間 CSV 流用 + 三層比較)
↑ L68_sheds.py 行 2021–2092
1
2
3
4
5
6
7
8
9
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052 | # 1. L66 + L67 中間 CSV を読込 (既存の出力を流用)
import pandas as pd
df_bridge = pd.read_csv("lessons/assets/L66_all_bridges.csv", encoding="utf-8-sig")
df_tunnel = pd.read_csv("lessons/assets/L67_all_tunnels.csv", encoding="utf-8-sig")
print(f"橋梁: {len(df_bridge):,} 件, トンネル: {len(df_tunnel)} 件, "
f"シェッド: {len(df)} 件")
# 2. 件数 + 平均延長 比較
n_b = len(df_bridge); n_t = len(df_tunnel); n_s = len(df)
mean_b = df_bridge["延長(m)"].mean() # ~ 19m
mean_t = df_tunnel["延長(m)"].mean() # ~ 360m
mean_s = df["延長(m)"].mean() # ~ 100m
print(f"件数比: 橋:トン:シェ = {n_b//n_s} : {round(n_t/n_s)} : 1")
print(f"平均延長: {mean_b:.0f}m → {mean_s:.0f}m → {mean_t:.0f}m")
# 階段状に並ぶ: 橋 (短) < シェ (中) < トン (長)
# 3. 道路種別偏向の三層対比
for name, d in [("橋梁", df_bridge), ("トンネル", df_tunnel), ("シェッド", df)]:
print(f"{name} 国道率: {(d['道路種別']=='国道').sum()/len(d)*100:.1f}%")
# 4. 規模分布の三層密度ヒスト
import matplotlib.pyplot as plt, numpy as np
bins = np.logspace(0, 4, 35)
for name, d, c in [("橋梁", df_bridge, "#0969da"),
("トンネル", df_tunnel, "#7c3aed"),
("シェッド", df, "#cf6f00")]:
counts, _ = np.histogram(d["延長(m)"].dropna(), bins=bins)
pct = 100 * counts / counts.sum()
plt.bar(bins[:-1], pct, width=np.diff(bins), color=c,
alpha=0.45, align="edge", label=name)
plt.xscale("log"); plt.xlabel("延長 (m)"); plt.ylabel("%")
plt.legend()
|
図 7: なぜこの図か (RQ3)
「橋梁・トンネル・シェッドの三層構造を 1 枚で読みたい」 ため、
件数比 (191 : 7 : 1) に合わせ
橋梁を背景灰小点 (n=4,203, msize=2)、
トンネルを中景紫円 (n=157, msize=22)、
シェッドを前景大三角 (n=22, msize=160) で重ねる。
z-order でレイヤー順序を厳密に制御し、シェッドが必ず最上位に見えるようにした。
この図から読み取れること:
- 橋梁 (灰, n=4,203) は県全域に網状分布 = 中小河川クロスポイントの全分布。
平野部・沿岸部の点群が密で、画面を埋める。
- トンネル (紫円, n=157) は中山間山岳部に集中。
橋梁とは別の地理パターン。
- シェッド (三角, n=22) はさらに集中度が高く、
国道 186 号沿線 + 大竹市西部 + 北部山地のごく限られた区間にのみ存在。
平野部はゼロ。
- 三層が同じ場所に重なる箇所はわずか = それぞれが独自の地理ニッチ。
「橋梁=平野・川越え + トンネル=山岳貫通 + シェッド=山腹通過」の
補完地理分担。
- 政策的含意: 防災投資・長寿命化計画は三層別に異なる戦略が必要。
橋梁中心 (件数多) は分散管理、トンネル中心 (規模大) は集中管理、
シェッド中心 (希少特殊) は個別カスタム管理。
図 8: なぜこの図か (RQ3)
「3 種類の件数 + 規模分布を 1 枚で対比したい」 ため、
左 = 件数比較 (log y 棒, 桁差を視覚化)、右 = 延長分布の密度正規化ヒスト (log x) の 2 ペイン。
3 系列を重ねることで三層の規模ニッチを直感化する。
この図から読み取れること:
- 左 (件数, log y): 橋梁 4,203 vs トンネル 157
vs シェッド 22 = 比 191 : 7 : 1。
H4 (強支持): 件数の指数的階層。
- 右 (延長密度, log x): 橋梁 (青, 中央値 7m) は 1-100m に集中、
シェッド (橙, 中央値 77m) は 30-300m に集中、
トンネル (紫, 中央値 206m) は 100-3000m に集中。
3 分布が階段状にスライドしている。
- 規模順: 平均は 橋 19m → シェ 107m → トン 314m。
中央値も7 → 77 → 206mと階段状。
H5 (強支持): 規模に段階差。
- シェッド分布 (橙) は橋梁右裾とトンネル左裾の「中間ニッチ」を埋める。
「橋梁とトンネルの規模の谷間に位置する中間規模の保護施設」という
シェッドの設計位置付けが見える。
- 政策的含意: シェッド 1 件の機能停止 = 橋梁数件分の社会影響。
トンネル 1 件の機能停止 = シェッド数件分の社会影響。
「件数 vs 規模で見る防災重要度」の三層が政策優先度の根拠となる。
表: 道路保護三層構造比較 (L66 / L67 / L68)
| 指標 |
L66 橋梁 (4,203) |
L67 トンネル (157) |
L68 シェッド (22) |
三層構造の意味 |
| 件数 |
4,203 |
157 |
22 |
比 = 191 : 7 : 1 |
| 平均延長_m |
19.3 |
314.5 |
107.5 |
段階差: 橋 19 < シェ 107 < トン 314 |
| 中央値_m |
7.0 |
206.0 |
76.5 |
中央値も 3 層差あり |
| 最長_m |
540 |
2212 |
322 |
シェッドの最長は 322m (滝山洞門上) で長大とは別格 |
| 国道シェア_% |
27.4 |
52.9 |
63.6 |
シェッドは国道偏重 (急峻峠の幹線保護) |
| 地形対象 |
中小河川クロス |
山岳貫通 |
山腹通過 (急傾斜・雪崩) |
三層: 平野・山岳・山腹 |
| 機能 |
道路の連続性 (橋渡し) |
山岳バイパス (貫通) |
落石・雪崩・崩土からの保護 (覆い) |
保護の方向性が異なる |
この表から読み取れること: 件数比 191 : 7 : 1、規模は橋 19m → シェ 107m → トン 314m と階段状。国道シェアは橋 27.4% → トン 52.9% → シェ 63.6% で「規模が大きくなるほど国道偏重」のパターン。地形対象は平野 → 山岳 → 山腹と異なり、機能も橋渡し → 貫通 → 保護と分業。これらが「県の道路インフラ三層構造」を構成する。
表: シェッド延長 Top 10
| 順位 |
施設名 |
シェッド種別 |
路線名 |
道路種別 |
延長(m) |
幅員(m) |
建設年度 |
市町名 |
| 1 |
滝山洞門(上) |
洞門 (一般落石覆道) |
186号 |
国道 |
322.0 |
7.0 |
1984.0 |
北広島町 |
| 2 |
津浪洞門 |
洞門 (一般落石覆道) |
191号 |
国道 |
245.0 |
10.5 |
2003.0 |
安芸太田町 |
| 3 |
本三坂トンネル |
洞門 (一般落石覆道) |
浜田八重可部線 |
県道 |
183.0 |
8.4 |
1933.0 |
北広島町 |
| 4 |
王泊防雪トンネル |
防雪覆道 (雪崩対策) |
186号 |
国道 |
182.0 |
7.0 |
1979.0 |
北広島町 |
| 5 |
八神洞門 |
洞門 (一般落石覆道) |
186号 |
国道 |
174.5 |
7.5 |
1992.0 |
北広島町 |
| 6 |
滝山洞門(下) |
洞門 (一般落石覆道) |
186号 |
国道 |
156.5 |
7.0 |
1984.0 |
北広島町 |
| 7 |
杉ノ泊防雪トンネル |
防雪覆道 (雪崩対策) |
弁財天加計線 |
県道 |
130.0 |
7.0 |
- |
安芸太田町 |
| 8 |
黒滝洞門 |
洞門 (一般落石覆道) |
186号 |
国道 |
122.0 |
7.0 |
1990.0 |
安芸太田町 |
| 9 |
後平洞門 |
洞門 (一般落石覆道) |
186号 |
国道 |
108.0 |
7.1 |
1990.0 |
安芸太田町 |
| 10 |
下山防雪トンネル |
防雪覆道 (雪崩対策) |
186号 |
国道 |
95.0 |
7.5 |
1975.0 |
北広島町 |
この表から読み取れること: 最長は 滝山洞門(上) (322m, 186号, 北広島町)。Top 10 中の国道率 = 80% = 長尺シェッドは国道偏重。これらは県の山岳幹線インフラの基幹であり、覆工補修の最優先対象。
仮説検証総合
本記事の 5 仮説と観測結果の照合:
| 仮説 |
観測値 |
判定 |
解釈 |
| H1 シェッド 3 分類が共存 (RQ1) |
洞門 16 + 防雪 5 + ロック 1 = 22 |
強支持 |
H1 強支持: 施設名から自動分類した結果、洞門 16 件 (73%, 過半数)、防雪覆道 5 件 (23%)、ロックシェッド 1 件 (5%)。3 分類が共存し、洞門が支配的。「シェッドの大半は古い『洞門』 呼称、近年新設は明示分類」という呼称の歴史的変遷が読み取れる。防雪覆道は雪深い北部、ロックシェッドは岩盤崩落多発地点に配置。 |
| H2 中山間 9 市町に ≥ 80% 集中 (RQ1+2) |
観測 = 81.8% (18/22) |
強支持 |
H2 強支持: 中山間 9 市町に 81.8% 集中。残り 18.2% も大竹市山間部・廿日市市西部の山地。「シェッドは平野部にゼロ」という地形依存性は L67 トンネルの 「中山間集中」 よりさらに極端。市町別 Top: 北広島町 (8 件) / 安芸太田町 (4 件) / 三次市 (3 件)。路線では国道 186 号 (廿日市〜安芸太田〜大竹を貫く山岳幹線) が 11 件と過半数を占め、「186 号 = 県内シェッドのメイン路線」。 |
| H3 ≥ 50% が 500m 以内に危険 + 防雪は雪崩偏重 (RQ2) |
観測 = いずれか 48% / 防雪 雪崩近接率 0% vs 洞門 25% |
前半部分支持/後半反証 |
H3 前半 部分支持 (47.6% で 50% 閾値の境界): 500m バッファで急傾斜近接 10/21 (48%) + 土石流 8 (38%) + 雪崩 5 (24%)、いずれか近接 = 10/21 (48%) で過半数を超える。H3 後半は反証: 防雪覆道の雪崩近接率は0% (0/5)で、洞門 (25%) より低い。「防雪覆道は名前と機能の対応 ≠ 雪崩危険箇所への偏在」という反直観的発見。理由は: ① 防雪覆道は雪崩発生地点ではなく雪庇・吹雪・路面凍結の影響を主目的とする, ② 公式雪崩危険箇所 (2,169 点) は 過去の発生履歴ベースで、防雪覆道整備の指定とは独立, ③ 防雪覆道は豪雪地帯の路線全体を保護する設計思想で、ピンポイント警戒区域近接が必須でない。これは「インフラ命名と災害区域指定論理のズレ」を浮かび上がらせる重要な研究発見。 |
| H4 件数比 ≒ 橋:トン:シェ = 191:7:1 (RQ3) |
観測 = 4,203 : 157 : 22 = 191 : 7.1 : 1 |
強支持 |
H4 強支持: 橋梁 4,203 : トンネル 157 : シェッド 22、件数比 191 : 7.1 : 1。橋梁は分散型多数 (中小河川クロス)、トンネルは希少大規模 (山岳貫通)、シェッドは超希少特殊解 (山腹通過)という件数の指数的階層が定量化された。 |
| H5 規模に段階差: 橋 < シェ < トン (RQ3) |
観測 平均 = 19m → 107m → 314m / 中央値 = 7m → 77m → 206m |
強支持 |
H5 強支持: 平均延長は 橋梁 19m → シェッド 107m → トンネル 314m ときれいな段階差。中央値も 7 → 77 → 206m。「シェッドはトンネルとボックスカルバートの中間規模」という設計の論理が現れている。規模順は橋 (短) < シェ (中) < トン (長) で、地形対象は平野 < 山腹 < 山岳。規模と地形の連動が見える。 |
3 RQ × 3 結論
- RQ1 結論: 広島県の道路シェッドは22 件 / 国道 14 + 県道 8 / 7 市町 / 5 事務所 / 8 路線の超小規模管理対象。種別は洞門 16 (過半数) + 防雪 5 + ロックシェッド 1 の 3 分類が共存 (H1 強支持)。中山間集中度 81.8% (H2 強支持) で、国道 186 号 (11 件) が単独メイン路線。中央値 77m + 長尺 6 件で規模は中尺中心の標準化インフラ。
- RQ2 結論 (反直観的発見): シェッドの500m バッファ内で急傾斜近接 48% / 土石流 38% / 雪崩 24%、いずれか近接 = 48% (H3 前半 強支持)。しかし防雪覆道の雪崩近接率は 0% (0/5) で、洞門 (25%) より低い = 「名前 (防雪) と公式雪崩危険箇所近接の対応はゼロ」というH3 後半反証。これは「インフラ命名 ≠ 公式危険区域指定論理」 の重要な乖離発見。君田洞門 (三次市) が県内唯一の三重リスク区間 (急傾斜+土石流+雪崩同時)。残り半数のシェッドが警戒区域から外れるのは、警戒区域の指定論理 (受け側) とシェッド設置論理 (道路上) のズレを反映。
- RQ3 結論: 橋梁 (4,203) : トンネル (157) : シェッド (22) = 191 : 7 : 1 の件数階層 (H4 強支持)。平均延長は19m → 107m → 314m (橋 < シェ < トン) の段階差 (H5 強支持)。三者は同じ管理体系 + 同じ事務所階層を共有しながら、対象地形 (平野 / 山岳 / 山腹) + 規模 (短 / 長 / 中) + 機能 (橋渡し / 貫通 / 保護) で完全な三層構造を成す。「橋梁=分散型網状、トンネル=希少大規模、シェッド=超希少特殊解」の補完関係が県全域で実証された。
道路保護三層構造から見る県土像
本研究の最重要発見は「橋梁・トンネル・シェッドの完全三層構造」。三者は同じ DoBoX シリーズ (基本情報・維持管理情報) ・同じ管理体系・同じ事務所階層で扱われるが、対象地形が完全に異なる: 橋梁は4,203 件の点的多数で県全土の中小河川クロスを覆い、トンネルは157 件の集中型大規模で中山間 9 市町の山岳道路網を支え、シェッドは22 件の希少特殊解で急峻峠の道路保護をピンポイントで担う。件数比 191:7:1, 規模差 19m / 107m / 314m の桁違いの偏向は、地形が道路インフラの形態を決定する地理学的根拠を提示する。
政策的含意 — 整備・維持・防災の三層別戦略
橋梁・トンネル・シェッドは「同じ機能 (道路の連続性確保)、異なる地形、異なる規模」のため、政策戦略も三分割が必要:
- 橋梁戦略 (L66): 老朽橋 1,382 件 (32.9%) の更新ピーク + 県道短橋多数の分散管理。「面の防災」。
- トンネル戦略 (L67): 老朽 19% で橋梁より新しいが 1 件あたり大規模。国道 53% の長大トンネルが優先補強対象。「点の防災」。
- シェッド戦略 (本研究, L68): 老朽 19% で 3 種混在。国道 64% の山岳幹線保護が優先 (国道 186 号沿線が中心)。多重リスク区間 (君田洞門等) の優先補修。「ピンポイント防災」として個別カスタム管理。
- 地理分担: 平野部の防災投資は橋梁中心、山岳貫通区間はトンネル中心、急峻峠の道路保護はシェッド中心。これは県土全体の地形別道路インフラ戦略の三層骨格。
発展課題
結果 X → 新仮説 Y → 課題 Z (3 RQ × 1 課題以上)
発展課題 1 (RQ1 由来): NEXCO + 国管理シェッドとの統合
- 結果 X: 本データは県管理道路シェッドのみ (22 件) で、
NEXCO (中国自動車道・山陽自動車道) や国管理 1 級国道のシェッドは含まれない。
実際の県内総シェッド数は本データの数倍に達する可能性。
- 新仮説 Y: NEXCO + 国管理シェッドを加えると県内総シェッド数は
50-80 件。NEXCO シェッドは長尺・高規格で本データの規模分布と異なる。
- 課題 Z: NEXCO 公開トンネル一覧 + 国交省「道路統計年報」 を取得 →
管理者別 (NEXCO / 県 / 国 / 市町) のクロス分析。
「県内全シェッドの管理者階層」として展開。
発展課題 2 (RQ2 由来): L56 急傾斜防止施設とのシェッド-斜面対策の協調分析
- 結果 X: 本研究はシェッド × 急傾斜地警戒区域の関係を見たが、
L56 急傾斜防止施設 (擁壁等) との配置関係は未分析。
シェッドが上から覆い、擁壁が下から支える協調保護の有無は不明。
- 新仮説 Y: シェッドの 50% 以上が 200m 以内に L56 急傾斜防止施設を持つ。
これは「同じ崩壊リスク区間に二重保護」 を意味する。
- 課題 Z: L56 の急傾斜防止施設 Shapefile を読込 →
シェッド POINT × L56 ポイントを 200m バッファ sjoin →
協調率を計算。「道路保護 × 集落保護の協調」として展開。
発展課題 3 (RQ3 拡張): 路線単位の橋-トン-シェ 連続性パターン
- 結果 X: 本研究は橋・トン・シェを並列比較したが、
1 つの道路にどう交互配置されているかは未分析。
国道 186 号は橋 + トンネル + シェッドが同居する典型路線のはず。
- 新仮説 Y: 国道 186 号で橋:トン:シェ = 30:5:12の比率で、
シェッドの密度が最高の特殊路線。
- 課題 Z: 路線名で L66 + L67 + L68 を結合 →
路線ごとに位置順に並べ、3 種類の交互パターンをカウント →
「道路の保護施設密度インデックス」を定義し可視化。
「路線別道路インフラ連続性」として展開。
発展課題 4 (RQ2 + L40 連携): 標高 × シェッド位置の統合分析
- 結果 X: 本研究はシェッドの平面位置のみ扱い、標高は未利用。
高所シェッド (≥ 500m, 山頂峠) と低地シェッド (≤ 100m, 海岸近郊) では
建設目的・劣化要因が異なる。
- 新仮説 Y: 防雪覆道の平均標高 ≥ 500m (積雪閾値)、
落石覆道は 100-400m に分布。標高別劣化要因は高所 = 凍結融解、低地 = 塩害。
- 課題 Z: L40 の5m DEMから各シェッド POINT の標高を抽出 →
標高別に種別 + 建設年度 + 延長ヒストグラム。
「シェッドの標高別劣化要因」として展開。
発展課題 5 (RQ3 拡張): 判定区分 ("?") の解明
- 結果 X: 本データの「判定区分」 列は全件 "?" でマスクされ、健全度 I-IV の判定値は取れない。
本研究では「築年数 + 多重リスク」 を健全度の代理指標として扱った。
- 新仮説 Y: 国交省 MICHI データベースや行政情報公開で健全度判定値を取得可能。
築年数 vs 健全度の単純な負相関ではなく、補修履歴で複雑になる仮説。
- 課題 Z: 国交省 MICHI データベース or 行政情報公開で健全度判定値を取得 →
本データの建設年度 + 路線 + 場所と照合 → 築年数 vs 健全度の相関分析。
「シェッド老朽化の本当の指標」として展開 (橋梁・トンネル発展課題と並走)。
発展課題 6 (展望): シェッド防災重要度ランキングの構築
- 結果 X: 本研究は多重リスク (≥ 2 種類近接) を 9 件同定したが、
「災害時の代替性」視点での評価は未実施。
代替路がない区間のシェッドはより重要。
- 新仮説 Y: 長尺 + 国道 + 多重リスク + 老朽 の 4 重該当シェッドは
第一級防災重要。本データでは数件が該当するはず。
- 課題 Z: 派生フラグ (is_long + is_old + 国道 + hazard_count≥2) で論理積 →
第一級防災重要シェッドを同定 → 県の長寿命化計画と照合。
「シェッド防災重要度ランキング」として展開。
発展課題 7 (RQ2 拡張): 過去崩落履歴とのシェッド配置関係
- 結果 X: 本研究は警戒区域 (= 予防的指定) との関係を見たが、
過去の崩落・落石・雪崩発生履歴との関係は未分析。
シェッドは多くの場合「実際に被害があった区間」に整備される。
- 新仮説 Y: シェッドの 80% 以上が、過去の道路規制履歴
(落石・雪崩による通行止め) のある区間に位置する仮説。
- 課題 Z: L50 道路規制 + L61 過去災害から崩落履歴を取得 →
シェッド POINT との空間-時系列照合。
「シェッド配置の実証的根拠」として展開。