Lesson 71
道路法面 単独 3 研究例分析 — 12 区間 / 24 写真パイロット台帳から沿道斜面保護を読む
L71道路法面切土盛土モルタル吹付ロックボルトグラウンドアンカー補強土壁落石防護網RQ×3Format BgeopandasPOINT (CSV)写真台帳型道路施設6兄弟L11連携 (警戒区域)L56連携 (急傾斜防止)L66連携 (橋梁)L67連携 (トンネル)L68連携 (シェッド)L69連携 (門型標識)L70連携 (歩道橋)
所要 50 分 / 想定レベル: 中級 / データ: DoBoX dataset 1450 (ZIP × 4, ~4.19 MB)
データ取得手順
⚠️ このスクリプトは自動取得に対応していません。以下のデータセットを DoBoX から手動でダウンロードし、data/extras/ 以下に保存してください。
実行コマンド:
cd "2026 DoBoX 教材"
python -X utf8 lessons/L71_road_slopes.py
DoBoX のオープンデータは申請不要・商用/非商用とも利用可。
data/extras/ は .gitignore 対象(約 57 GB のキャッシュ)。
スクリプト実行で自動再生成されます。
学習目標と問い
本記事の対象 — 「道路法面」 1 件 単独分析
本記事は DoBoX のデータセット 「道路法面」 (dataset 1450)
1 件を 単独で取り上げ、 広島県西部の道路法面
12 区間 / 24 写真 / 2 路線 / 2 事務所を
3 つの独立した研究角度で並列に分析する記事である。
他のシリーズ (橋梁 L66 / トンネル L67 / シェッド L68 / 門型標識 L69 / 横断歩道橋 L70) と
本記事は 合体しない。 RQ3 で 6 兄弟比較する際にのみ、 既扱データ
(L66-L70 で集計済の中間 CSV) を参照する形をとる。
「道路法面」 とは:
道路の
切土斜面(山を削って通した道路の壁面側) と
盛土斜面(谷や低地を埋めて作った路体の側面) の総称。
斜面に対する崩落・落石・土砂流出を防ぐため、 以下のような
法面保護工が
施される:
- モルタル吹付: コンクリート系の薄い被覆材を斜面に吹付け、
表面侵食と部分剥離を防止する。 簡易・安価で多用される。
- ロックボルト: 斜面に深く打込んだボルト+受圧板で、
表層の岩塊を奥の安定岩盤に結合する。 落石対策の基本工。
- グラウンドアンカー: ロックボルトより長く・引張力大の
永久アンカー。 大規模崩壊性斜面で用いられる。
- 補強土壁: 盛土の中に金属メッシュやジオシンセティックを敷込み、
盛土自体を一体化させた壁。 道路用地を狭く取れる利点。
- 落石防護網: 斜面上方からの落石・小規模崩土を金網で受止める。
L68 シェッドより小規模・軽量な対策。
道路法 (1952) と
インフラ長寿命化基本計画 (2014) に基づき、
道路附属物として
5 年に 1 回の点検が義務化されている。
広島県内には数千件規模で存在すると推定されるが、
DoBoX 公開データはそのうち
2 路線分の写真台帳
(= 主要地方道 31 号呉平谷線 + 36 号高田沖美江田島線、
計 12 区間 / 24 枚) に限定される。 これは
「写真台帳パイロット公開」として
L66-L70 の数値台帳とは異なる公開モードを採用している点が
本記事の重要発見の一つである (RQ3 H5)。
独自に定義する用語 (本記事限定)
- 道路法面 (本記事の中心概念): 道路の切土・盛土斜面の総称。
斜面に施された保護工 (モルタル吹付・ロックボルト・グラウンドアンカー・
補強土壁・落石防護網) を含めて 1 つの管理対象として扱う。
- 切土斜面: 山や丘を削って道路を通した結果、 道路の山側に
残る人工斜面。 母岩・残土が露出するため侵食・落石リスクが常に存在。
- 盛土斜面: 谷や低地を埋立てて道路を作った結果、 道路の谷側に
作られる人工斜面。 雨水浸透・地震時に滑動・崩落リスクが問題になる。
- モルタル吹付: セメント系材料を斜面に薄く (3-10cm) 吹付ける表層保護工。
もっとも一般的で広範囲に施工される。 経年劣化で剥離・浮上りを起こすため
撮影による定期点検が必須。
- ロックボルト: 斜面に直径数 cm × 長さ 3-10 m のボルトを打込んで
奥の岩盤に固定する工法。 受圧板 (鋼製の四角板)と組合わせる。
- グラウンドアンカー: 長さ 10-50 m に達する永久アンカー。
引張力 100 トン規模で大規模斜面に対応。 受圧板と一体運用。
- 補強土壁: 盛土の中にジオグリッド・補強帯を敷込み、 盛土自体を補強した壁。
用地を狭く取れるため都市部・山間部の盛土区間で用いられる。
- 落石防護網: 斜面上方を覆う金網。 落石・小規模崩土を受止めて
道路上に到達する前に止める。 L68 シェッドより軽量・安価。
- 区間番号 (本データ独自): 路線番号 - 起点距離コード - サブ番号 の 3 階層
(例:
031-003-01 = 路線 31 号 / 起点から第 3 km 地点 /
その内の第 1 構造体)。 区間は同一斜面の 1 まとまりを意味する。
- 写真台帳 (本記事独自): 数値メタ + 写真を ZIP に同梱した形式の
公開モード。 L66-L70 (数値台帳: CSV 1 件) と区別する用語。
L71 のみ写真台帳。
- 道路施設 6 兄弟: L66 橋梁 (4,203) + L67 トンネル (157) +
L68 シェッド (22) + L69 門型標識 (22) +
L70 横断歩道橋 (82) + L71 道路法面 (12 区間)。
共通の管理事務所階層と 5 年周期点検制度で運用される 6 階層インフラ。
研究の問い (3 RQ)
- RQ1 (主研究): DoBoX 道路法面パイロット写真台帳の構造 — 路線 ×
事務所 × 区間番号 × 配信日 × 解像度 × ファイルサイズはどう描けるか?
12 区間 + 24 写真を 6 軸で集計し、
「写真台帳型」 という新しい公開モードの構造を初めて系統的に記述する。
H1 = 解像度の二極化 (HD 配信 vs 4K 配信) を検証。
- RQ2 (副研究 1): 12 区間と土砂災害警戒区域 3 種
(急傾斜 / 土石流 / 地すべり) との空間関係はどう現れるか?
L11 で扱った警戒区域 Shapefile に対する最近接距離を計算し、
「沿道リスク区間」 を同定する。 H2 = 中央値最近接 ≤ 200m、
H3 = 急傾斜が最頻最近接、 を検証。
- RQ3 (副研究 2): L66-L71 道路施設 6 兄弟の総合構造はどう描けるか?
件数規模 + データ性質 + 公開モードの 3 軸で対比する。 H4 = 件数比、
H5 = 公開モード 2 群 (数値台帳 5 + 写真台帳 1) を検証。
仮説 (5)
- H1 (RQ1, 解像度二極化): 0321 配信は HD (1920x1080)、 0327 配信は
4K (3840x2160) で固定 = 機材変更の痕跡がデータ構造に現れる。
- H2 (RQ2, 警戒区域近接): 12 区間の中央値最近接距離 ≤ 200 m。
過半数が警戒区域内に位置する仮説。
- H3 (RQ2, 急傾斜偏重): 12 区間の最近接警戒種別は急傾斜が最頻。
「道路法面 = 急傾斜地保護施設の沿道版」 仮説の裏付け。
- H4 (RQ3, 件数 6 層比): 6 兄弟件数比 ≒ 4203:157:82:22:22:12。
法面公開件数は 6 兄弟最少だが、 これはパイロット公開モードによるもの。
- H5 (RQ3, 公開モード 2 群): 6 兄弟は数値台帳 5 (CSV 1) + 写真台帳 1 (ZIP 4)
の 2 群に明確に分かれ、 これは「視認性が支配する施設」 という法面の性質を反映する。
到達点
本記事を読み終えると、 (1) DoBoX 道路法面のパイロット写真台帳の全構造
(12 区間 / 24 写真 / 2 路線 / 2 事務所 / 2 配信日 /
2 解像度) を完全に俯瞰できる、
(2) 12 区間が県の土砂災害警戒区域 3 種に対して17% 区域内 /
中央値 48 mという空間関係を持つことを把握、
(3) L66-L71 道路施設 6 兄弟の 6 階層構造
(橋梁 = 接続 / トンネル = 貫通 / シェッド = 保護 / 門型 = 情報 /
歩道橋 = 歩行者 / 法面 = 沿道斜面) と、 公開モード 2 群
(数値台帳 5 + 写真台帳 1) を理解できる、
という 3 段階の知識が獲得できる。
使用データ
本研究で使う 1 つの dataset (4 リソース ZIP) を以下の表に示す。
本データは L66-L70 (CSV 1 件 形式) と異なり、 ZIP × 4に分割された
「写真台帳型」の公開モードを採用している点が大きな特徴である。
データセット仕様
| 項目 |
値 |
| dataset_id |
1450 |
| 公式名 |
道路法面 |
| 公式説明 |
道路法面の写真 |
| リソース数 |
4 (ZIP × 4) |
| リソース ID |
94050 / 94051 / 94052 / 94053 |
| 配信日 |
2024-03-21 / 2024-03-27 |
| 事務所 |
呉支所 / 西部建設事務所 |
| ZIP 合計サイズ |
4,389,555 byte (~4.19 MB) |
| プロパティ CSV |
各 ZIP に 1 件 (= 計 4 CSV) |
| CSV 列構成 |
路線種, 路線名, 区間番号, 画像ファイル, 緯度, 経度 |
| 写真 (JPG) |
24 枚 (= ZIP 4 個に分割) |
| 区間数 (unique) |
12 (= 同一区間が 0321/0327 で 2 回撮影) |
| 路線数 |
2 (= 31号呉平谷線 + 36号高田沖美江田島線) |
| 解像度 |
4K (3840x2160) 12 枚 + HD (1920x1080) 12 枚 |
| 座標系 (元) |
EPSG:4326 (WGS84) → EPSG:6671 で処理 |
| ライセンス |
クリエイティブ・コモンズ表示 (CC-BY) |
| 作成主体 |
広島県土木建築局道路整備課 |
| URL |
https://hiroshima-dobox.jp/datasets/1450 |
| 公開モード |
写真台帳型 (= L66-L70 の数値台帳型 とは異なる、 視認性重視のパイロット公開) |
4 リソース ZIP の内訳
| resource_id | 配信日 | 事務所 | 路線 |
写真 | 解像度 | ZIP サイズ |
| 94050 | 2024-03-21 | 呉支所 | 31号呉平谷線 | 7 枚 | HD (1920x1080) | 658 KB |
| 94051 | 2024-03-21 | 西部建設事務所 | 36号高田沖美江田島線 | 5 枚 | HD (1920x1080) | 597 KB |
| 94052 | 2024-03-27 | 呉支所 | 31号呉平谷線 | 7 枚 | 4K (3840x2160) | 1672 KB |
| 94053 | 2024-03-27 | 西部建設事務所 | 36号高田沖美江田島線 | 5 枚 | 4K (3840x2160) | 1360 KB |
本データは L66 橋梁 / L67 トンネル / L68 シェッド / L69 門型標識 /
L70 横断歩道橋と同じ「公共土木施設の維持管理」 系に属するが、
公開モードは異なる: L66-L70 = CSV 1 件 (数値台帳)、
L71 = ZIP 4 件 (写真台帳)。
これは法面の「目視で状態判定するインフラ」という性質を反映している
(RQ3 H5 で検証)。
データの読み筋
- 「写真ファイル」 列と「区間番号」 列がメイン。
区間番号 (例:
031-003-01) は同一斜面の 1 まとまりを示し、
0321 と 0327 で同じ区間が再撮影されている。
- 2 路線 × 2 事務所のみのパイロット範囲なので、
県全域の代表性は無い。 ただし「写真台帳がどう構成されるか」 という
公開フォーマットの構造研究には十分。
- 解像度は配信日と完全相関 — 0321 = HD / 0327 = 4K
(機材変更の痕跡, RQ1 H1)。
- 緯度経度は全 22 写真で取得可。 区間ごとに同一座標 (= 1 区間 1 箇所)。
- 判定区分は本データ仕様には含まれない。
L66-L70 では '?' でマスクされた判定区分があるが、 L71 では構造的に無し。
代わりに写真そのものが判定根拠となる仕組み。
ダウンロード
本記事の再現に必要なすべてを直リンクで提供する。
HTML だけ読めば学習者が完全再現できることが目標 (要件 A)。
生データ (DoBoX 1 件 / 4 リソース)
このスクリプト本体
中間 CSV (本記事生成、再利用可)
図 (PNG, 直 DL 可)
【RQ1】 道路法面写真台帳の構造 — 12 区間 × 24 写真 / 4K 12 + HD 12
狙い (RQ1)
RQ1 では「写真台帳型」 という新しい公開モードの構造を初めて系統的に記述する。
具体的には 12 区間 + 24 写真を 路線 × 事務所 × 区間番号 × 配信日 × 解像度 ×
ファイルサイズの 6 軸で集計し、 「DoBoX 道路法面パイロット写真台帳」 の物理的形状を
1 枚で俯瞰できるようにする。 H1 (解像度二極化) は機材変更の痕跡がデータ構造に
現れているかを検証する。
手法 — 4 ステップ
- STEP 1: 4 ZIP の展開
zipfile.ZipFile.extractall() で各 ZIP を data/extras/L71_road_slopes/
の下のサブフォルダに展開。 サブフォルダ名は kure_0321 / seibu_0321 /
kure_0327 / seibu_0327 の 4 つ。
- STEP 2: プロパティ CSV (4 件) と JPG (22 件) の取り込み
各 ZIP 内のプロパティ CSV(列 = 路線種, 路線名, 区間番号, 画像ファイル,
緯度, 経度) を読み、 同 ZIP 内の対応 JPG をファイル名で照合。
PIL.Imageで画像を開き幅 × 高 (px)を取得 → 解像度カテゴリに分類
(4K (3840x2160) / HD (1920x1080) / その他)。
- STEP 3: 区間ベース集約
0321 と 0327 は同一 12 区間を 2 度撮影しているため、 区間番号で
groupby して区間ごとの写真件数を集計
(12 unique 区間)。
- STEP 4: POINT geometry 構築 + 投影
緯度経度から POINT を生成し EPSG:6671 (JGD2011 第 III 系) に変換。
これで距離計算 (RQ2) ができる。
実装 (主要部のみ抜粋)
↑ L71_road_slopes.py 行 1593–1714
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
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650 | import zipfile
from pathlib import Path
import pandas as pd
import geopandas as gpd
from shapely.geometry import Point
from PIL import Image
DATA_DIR = Path("data/extras/L71_road_slopes")
# 4 ZIP を展開して内部の CSV + JPG を読込
records = []
for sub in ["kure_0321", "seibu_0321", "kure_0327", "seibu_0327"]:
out_dir = DATA_DIR / sub
for csv_path in out_dir.rglob("*.csv"):
df = pd.read_csv(csv_path, encoding="utf-8-sig")
for _, row in df.iterrows():
jpg_name = str(row["画像ファイル"])
jpg_path = next(csv_path.parent.rglob(jpg_name), None)
w = h = -1
jpg_size = 0
if jpg_path and jpg_path.exists():
with Image.open(jpg_path) as img:
w, h = img.size
jpg_size = jpg_path.stat().st_size
records.append({
"配信日": "2024-03-21" if "0321" in sub else "2024-03-27",
"事務所": "呉支所" if "kure" in sub else "西部建設事務所",
"路線名": str(row["路線名"]),
"区間番号": str(row["区間番号"]),
"緯度": float(row["緯度"]),
"経度": float(row["経度"]),
"幅px": w, "高px": h,
"解像度": "4K (3840x2160)" if (w, h) == (3840, 2160)
else "HD (1920x1080)" if (w, h) == (1920, 1080)
else f"その他 ({w}x{h})",
"JPGサイズ": jpg_size,
})
df_photos = pd.DataFrame(records)
print(df_photos.shape) # (22, 9)
# 区間ベース集約
df_sect = (df_photos.groupby(["路線名", "区間番号"])
.agg(緯度=("緯度", "first"),
経度=("経度", "first"),
写真件数=("画像ファイル" if "画像ファイル"
in df_photos.columns
else "区間番号", "count"))
.reset_index())
print(df_sect.shape) # (12, 5)
# POINT geometry → EPSG:6671
gdf_sect = gpd.GeoDataFrame(df_sect.copy(),
geometry=[Point(x, y) for x, y in zip(df_sect["経度"], df_sect["緯度"])],
crs="EPSG:4326").to_crs("EPSG:6671")
# H1 検証: 配信日 × 解像度 クロス
print(df_photos.groupby(["配信日", "解像度"]).size().unstack(fill_value=0))
|
結果 1: 県全域 12 区間 路線別マップ (図 1)
なぜこの図か: パイロット 12 区間がどこに位置するかを県地図に乗せて
一目で確認したい。 これにより「県全体のうちどの地域が公開対象か」 が分かる。
図 1 から読み取れること:
- 呉平谷線 (赤) は呉市北部の山間部に集中 (7 区間)
- 江田島線 (青) は江田島市内に集中 (5 区間)
- 2 路線は瀬戸内海をはさんで対岸に位置し、 共に呉湾周辺の山岳・島嶼地形に属する
- 本パイロット公開は瀬戸内海島嶼部 + 山地の 2 路線に限定 — 県北部 (中山間山地) や
尾道-福山 (沿岸都市) は対象外
- つまり「沿岸 + 急峻地形」 が法面写真台帳の主対象であり、
まさに法面崩壊リスクの高い地域に焦点を絞った公開設計
結果 2: 路線別 区間ズーム (図 2)
なぜこの図か: 県全域マップでは区間が密集して識別できないため、
路線ごとにズームインして区間番号を確認できる図を作る。
これにより区間番号体系(路線番号 - 起点距離コード - サブ番号 の 3 階層) が
地理的に何を意味するか直感できる。
図 2 から読み取れること:
- 呉平谷線の 7 区間は路線に沿って線状に配置されており、
区間番号の起点距離コードの昇順 (003 → 004 → 007 → 009 → 015) と
地理位置が一致する
- 江田島線の 5 区間も同様に路線沿いに線状配置
(010 → 011 → 012 → 013 で南下)
- 区間番号の階層 = 路線 / 起点距離 / サブ の意味が明確化される
- 各区間は1 つの斜面を 1 番号で管理するという台帳設計
結果 3: 配信日 × 解像度 + サイズ + 路線別件数 (図 3)
なぜこの図か: H1 (解像度二極化) を検証するため、 配信日 × 解像度の
クロス分布を可視化。 同時に JPG ファイルサイズの分布、 路線別件数も並べて、
パイロット台帳の「データ量プロファイル」を 1 枚で把握する。
図 3 から読み取れること:
- 左パネル (配信日 × 解像度): 0321 配信は12 枚すべて HD、
0327 配信は12 枚すべて 4K。 二極化は完全 (H1 強支持)
- 中央パネル (サイズ分布): HD 中央値 ~100 KB、 4K 中央値 ~250 KB。
4K は HD の約 2.5 倍のファイルサイズで保存される
- 右パネル (路線別): 呉平谷線 7 区間 / 江田島線 5 区間 (区間紫)。
写真は呉平谷線 14 (= 7 区間 × 2 配信) / 江田島線 8 (= 5 区間 ×
2 配信、 ただし一部欠あり) (写真橙)
- これは「同一区間を 2 機材で 6 日間隔に再撮影」という機材検証パイロット
の構造を示唆。 0327 で GoPro Hero 系 4K アクションカム
(ファイル名 GX0109xx) に切替えた可能性
結果 4: 写真サムネ 4 枚 (図 4)
なぜこの図か: 「写真台帳」 という公開モードの実体を学習者に
直接見せたい。 各 ZIP から 1 枚ずつ計 4 枚のサンプル画像を表示することで、
法面の現場記録写真がどのようなものか (= モルタル吹付・露出岩盤・植生侵入等の状態) を
体感できる。
図 4 から読み取れること:
- 各写真は道路から斜面を見上げる構図で撮影されており、
斜面表面 (モルタル吹付・露出岩盤・植生) が視認可能
- HD (1080p) と 4K (2160p) の解像度差が直感的に分かる
(4K のほうが斜面表面のひび割れ・劣化を細部まで確認できる)
- これらの写真は5 年点検時の状態判定根拠として使われる
— つまり「点検記録としての写真台帳」
- L66-L70 では数値メタ (架設年 / 延長 / 幅員) で老朽度を間接推定するが、
L71 では写真そのものが判定根拠となる
結果 5: 配信日 + 路線 + 事務所 + 解像度 サマリ表
路線別サマリ:
| 路線名 |
区間数 |
事務所 |
緯度中央 |
経度中央 |
| 31号呉平谷線 |
7 |
呉支所 |
34.2685 |
132.5599 |
| 36号高田沖美江田島線 |
5 |
西部建設事務所 |
34.2472 |
132.3862 |
路線別 表から読み取れること: 呉平谷線が
7 区間で最大、
江田島線が 5 区間。
両路線とも主要地方道 (= 県管理 1 級県道相当)であり、 国道は本パイロットに含まれない。
配信日別サマリ:
| 配信日 |
写真件数 |
事務所 |
解像度 |
総バイト |
| 2024-03-21 |
12 |
呉支所 + 西部建設事務所 |
HD (1920x1080) |
1283789 |
| 2024-03-27 |
12 |
呉支所 + 西部建設事務所 |
4K (3840x2160) |
3159719 |
配信日別 表から読み取れること: 0321 配信は12 枚 HD
(計 1254 KB)、
0327 配信は12 枚 4K
(計 3086 KB)。
0327 配信は容量が約 2.5 倍 と大幅増。
解像度別サマリ:
| 解像度 |
件数 |
平均バイト |
中央バイト |
最大バイト |
| 4K (3840x2160) |
12 |
263310 |
253138 |
434150 |
| HD (1920x1080) |
12 |
106982 |
105106 |
195447 |
解像度別 表から読み取れること: HD と 4K で平均ファイルサイズが
HD 103 KB →
4K 247 KBと
約 2.4倍 に増加。
同一区間を 4K で再撮影することで表面のひび割れ・剥離が細部まで判定可能になる利点。
解像度 × 配信日 クロス:
| 解像度 |
4K (3840x2160) |
HD (1920x1080) |
| 配信日 |
|
|
| 2024-03-21 |
0 |
12 |
| 2024-03-27 |
12 |
0 |
クロス表から読み取れること: H1 (解像度二極化) は完全に成立 —
0321 = HD のみ (12 枚)、 0327 = 4K のみ (12 枚)。
中間 (= 同じ配信日に両解像度共存) は1 件も無い。
これは機材を意図的に切替えた機材検証パイロットの構造を示唆。
事務所別サマリ:
| 事務所 |
写真件数 |
区間数 |
配信日数 |
| 呉支所 |
14 |
7 |
2 |
| 西部建設事務所 |
10 |
5 |
2 |
事務所別 表から読み取れること: 呉支所と西部建設事務所の2 事務所のみが
本パイロットに参加。 各事務所が 1 路線担当 (呉支所 = 呉平谷線 / 西部建設事務所 = 江田島線) と
事務所 1:1 路線のシンプルな分担構造。
【RQ2】 警戒区域 (L11) との関係 — 区域内 2/12 / 中央値 48m / 急傾斜最頻
狙い (RQ2)
RQ1 で「12 区間がどこに位置するか」 は分かったが、 これは位置情報のみ。
RQ2 では「12 区間が県の土砂災害警戒区域 3 種にどれくらい近いか」を空間関係で見る。
道路法面 = 切土・盛土斜面 = 急傾斜地と性質が近く、 警戒区域に近接または内包される
仮説 (H2) と、 急傾斜が最頻最近接である仮説 (H3) を検証する。
手法 — 警戒区域 Shapefile への最近接距離 (m)
入力 → 出力: 区間 POINT (12 件) + 警戒区域 ポリゴン (3 種) →
区間ごとの最近接距離 (m) × 3 種。
| 警戒種別 | 制度 | 意味 | 本研究との関連 |
| 急傾斜地崩壊警戒区域 |
土砂災害防止法 (2001) |
30度以上の自然斜面で崩壊リスクのある区域 |
道路法面 (切土・盛土) と性質が直接対応。 H3 検証の中核 |
| 土石流警戒区域 |
土砂災害防止法 (2001) |
渓流域で土石流リスクのある区域 |
道路が渓流を横断・並行する場合に近接 |
| 地すべり警戒区域 |
土砂災害防止法 (2001) |
地すべりリスクのある区域 |
地質的に弱層を含む箇所。 道路法面の一部もここに入る |
注: 距離計算の仕様: 警戒区域(一般)のみを採用 (= ファイル名末尾 _ky / _ds / _js)。
特別警戒区域 (_kr / _dr / _jr) は範囲が狭く、 一般警戒区域に内包されるため
重複避けて省く。 距離は EPSG:6671 平面直角座標で計算 (m 単位)。
12 区間のみなので素直な for ループで point.distance(g) を回せば 0.1 秒で完了
(空間インデックス不要)。
実装 (主要部)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 | import geopandas as gpd
from pathlib import Path
# 警戒区域 3 種 Shapefile (L11 と同じデータ)
SED = Path("data/extras/sediment_shp")
gdf_warn = {}
for label, sub in [("急傾斜", "kyukeisha/340006_sediment_disaster_hazard_area_steep_slope_20260427"),
("土石流", "doseki/340006_sediment_disaster_hazard_area_debris_flow_20260427"),
("地すべり", "jisuberi/340006_sediment_disaster_hazard_area_landslide_20260427")]:
base = SED / sub
# 警戒区域 (一般) = ファイル名末尾 _ky_ / _ds_ / _js_
target = [p for p in base.rglob("*.shp")
if any(k in p.stem for k in ("_ky_", "_ds_", "_js_"))]
parts = [gpd.read_file(p, encoding="utf-8")[["geometry"]] for p in target]
if parts:
g = gpd.GeoDataFrame(pd.concat(parts), crs=parts[0].crs)
gdf_warn[label] = g.to_crs("EPSG:6671")
# 各区間から各種警戒区域までの最近接距離 (m)
def nearest_dist(point, gdf):
return float(min(point.distance(g) for g in gdf.geometry))
for label in ("急傾斜", "土石流", "地すべり"):
gdf_sect[f"近接_{label}_m"] = gdf_sect.geometry.apply(
lambda pt: nearest_dist(pt, gdf_warn[label]))
# 任意警戒区域までの最近接 (3 種の min)
gdf_sect["近接_任意警戒_m"] = gdf_sect[
["近接_急傾斜_m", "近接_土石流_m", "近接_地すべり_m"]].min(axis=1)
# 集計
print(f"警戒区域内 (距離 ≤ 0.5m): "
f"{(gdf_sect['近接_任意警戒_m'] <= 0.5).sum()}/12")
print(f"中央値最近接: {gdf_sect['近接_任意警戒_m'].median():.0f} m")
|
結果 1: 12 区間 + 警戒区域 3 種 重ね合わせマップ (図 5)
なぜこの図か: H2 (近接 ≤ 200m) と H3 (急傾斜最頻) を地図上で同時に
検証する。 警戒区域 3 種を半透明色で塗り、 12 区間を ★ (緑) で前面に重ねる
ことで、 「区間が警戒区域とどう重なるか」 を直感できる。
図 5 から読み取れること:
- 12 区間 (★緑) のうち 2 区間 (17%) が
警戒区域内に直接位置する (距離 ≤ 0.5 m)
- 200m 以内は 10/12 (83%)
- 赤 (急傾斜) ポリゴンが背景に最も濃く分布 — 県内の警戒区域の主因は急傾斜
- 呉平谷線・江田島線は両路線とも急傾斜地に挟まれた山道であり、
区間が警戒区域に近接するのは地形的に必然
- これは「道路法面はそもそも警戒区域に隣接する沿道斜面」という
重要な空間特性を実証
警戒種別別最近接サマリ:
| 警戒種別 |
中央値_m |
最小_m |
最大_m |
区域内件数 |
200m以内件数 |
| 急傾斜 |
49.0 |
0.0 |
362.0 |
2 |
10 |
| 土石流 |
103.0 |
25.0 |
463.0 |
0 |
9 |
| 地すべり |
20631.0 |
16898.0 |
21019.0 |
0 |
0 |
| 任意 (3種min) |
48.0 |
0.0 |
362.0 |
2 |
10 |
警戒種別別 表から読み取れること: 急傾斜の中央値最近接 49 m
が最も近く、 土石流 103 m、
地すべり 20631 m と続く。
区域内件数も急傾斜 2 件で他より多く、
道路法面と急傾斜地の対応関係が定量確認される。
結果 2: 警戒区域距離分布 + 最近接種別 (図 6)
なぜこの図か: H2 (中央値 ≤ 200m) と H3 (急傾斜最頻) を 1 枚に並べる:
左で区間 × 警戒種別の距離プロファイルを全件表示、 右で最近接種別の
件数集計。 これで仮説 2 つが同時に判定できる。
図 6 から読み取れること:
- 左パネル (区間 × 種別距離): 多くの区間で急傾斜 (赤) が最短。
200m 閾値を超える区間は少数
- 右パネル (最近接種別最頻): 急傾斜が 9/12 区間
(75%)と最頻 (H3 強支持)
- 土石流・地すべりが最近接である区間は希少 — 法面の主リスクは急傾斜
- これは「道路法面 ≒ 急傾斜地保護施設の沿道版」の見立てを空間データで裏付ける
- L56 (急傾斜地崩壊防止施設, 集落保護用) と同じ斜面リスクを道路 vs 集落で
2 系統で守る制度構造を実証
結果 3: 区間別 警戒距離詳細表
区間 × 警戒種別 距離 (全 12 件):
| 路線名 |
区間番号 |
事務所 |
近接_急傾斜_m |
近接_土石流_m |
近接_地すべり_m |
近接_任意警戒_m |
最近接種別 |
警戒区域内 |
| 31号呉平谷線 |
031-003-01 |
呉支所 |
0 |
132 |
20628 |
0 |
急傾斜 |
True |
| 31号呉平谷線 |
031-004-01 |
呉支所 |
96 |
62 |
20635 |
62 |
土石流 |
False |
| 31号呉平谷線 |
031-004-03 |
呉支所 |
107 |
170 |
20681 |
107 |
急傾斜 |
False |
| 31号呉平谷線 |
031-007-01 |
呉支所 |
82 |
64 |
20746 |
64 |
土石流 |
False |
| 31号呉平谷線 |
031-009-01 |
呉支所 |
47 |
101 |
20900 |
47 |
急傾斜 |
False |
| 31号呉平谷線 |
031-015-06 |
呉支所 |
349 |
419 |
21014 |
349 |
急傾斜 |
False |
| 31号呉平谷線 |
031-015-07 |
呉支所 |
362 |
463 |
21019 |
362 |
急傾斜 |
False |
| 36号高田沖美江田島線 |
036-010-05 |
西部建設事務所 |
17 |
218 |
16898 |
17 |
急傾斜 |
False |
| 36号高田沖美江田島線 |
036-010-07 |
西部建設事務所 |
23 |
25 |
17002 |
23 |
急傾斜 |
False |
| 36号高田沖美江田島線 |
036-011-03 |
西部建設事務所 |
52 |
50 |
17093 |
50 |
土石流 |
False |
| 36号高田沖美江田島線 |
036-012-07 |
西部建設事務所 |
9 |
34 |
17209 |
9 |
急傾斜 |
False |
| 36号高田沖美江田島線 |
036-013-03 |
西部建設事務所 |
0 |
105 |
17449 |
0 |
急傾斜 |
True |
区間距離表から読み取れること:
- 呉平谷線は急傾斜地形に深く食込んでおり、 大半の区間で急傾斜距離が最短
- 江田島線は瀬戸内海の島嶼地形で、 急傾斜・土石流・地すべりが入り混じる
- 区域内 (距離 0) と判定された区間は 2 件あり、
これらは「警戒区域に内包される道路法面」として最も優先的な保護対象となる
- 距離 0 のものは道路法面と急傾斜地が物理的に同一斜面を指している
ことを意味し、 制度上 2 重で管理される事例
最近接種別 件数 (H3 検証用):
| 最近接種別 |
区間数 |
シェア_% |
| 急傾斜 |
9 |
75.0 |
| 土石流 |
3 |
25.0 |
種別最頻表から読み取れること: 12 区間中9 区間
(75%)で急傾斜が最近接。
これは道路法面の保護対象が急傾斜地崩壊リスクと最も整合することを示す。
【RQ3】 道路施設 6 兄弟構造 — 件数比 350:13.1:6.8:1.83:1.83:1 / 公開モード 2 群
狙い (RQ3)
L66 (橋梁) → L67 (トンネル) → L68 (シェッド) → L69 (門型標識) → L70 (横断歩道橋) →
本 L71 (道路法面) の6 兄弟記事がここで完成する。 6 兄弟は同じ「公共土木施設の
維持管理」 系に属し、 共通の管理事務所階層と 5 年周期点検制度の下で運用されている。
本 RQ3 では 件数規模 + 公開モード + 機能の 3 軸で対比し、
県の道路インフラ 6 階層を初めて完成させる。
手法
L66/L67/L68/L69/L70 の中間 CSV (前作で生成済) を読み込み、 本 L71 の区間データと
並べて 6 列比較表を作る。 6 兄弟の集計済データはすべて事前に lessons/assets/ に
保存済なので、 本 RQ3 は追加の DL や重い処理を一切しない。
実装
↑ L71_road_slopes.py 行 1959–2017
1
2
3
4
5
6
7
8
9
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983 | # 6 兄弟比較 (RQ3) — L66-L70 の中間 CSV を読込んで対比
df_b = pd.read_csv("lessons/assets/L66_all_bridges.csv", encoding="utf-8-sig")
df_t = pd.read_csv("lessons/assets/L67_all_tunnels.csv", encoding="utf-8-sig")
df_s = pd.read_csv("lessons/assets/L68_all_sheds.csv", encoding="utf-8-sig")
df_g = pd.read_csv("lessons/assets/L69_all_gantry.csv", encoding="utf-8-sig")
df_p = pd.read_csv("lessons/assets/L70_all_pedestrian_bridges.csv", encoding="utf-8-sig")
n_bridge = len(df_b) # 4,203
n_tunnel = len(df_t) # 157
n_shed = len(df_s) # 22
n_gantry = len(df_g) # 22
n_pb = len(df_p) # 82
n_law = len(df_sect) # 12 (= 区間)
# 件数比 (法面 = 1 単位)
print(f"件数比 = {n_bridge//n_law} : "
f"{round(n_tunnel/n_law, 1)} : "
f"{round(n_pb/n_law, 1)} : "
f"{round(n_shed/n_law, 2)} : "
f"{round(n_gantry/n_law, 2)} : 1")
# 例: 350 : 13.1 : 6.8 : 1.83 : 1.83 : 1
# 公開モード
print("数値台帳 (CSV 1): L66 / L67 / L68 / L69 / L70")
print("写真台帳 (ZIP 4): L71 のみ")
|
結果 1: 道路施設 6 兄弟マップ (図 7)
なぜこの図か: 「県内に 橋梁 4,203 + トンネル 157 + シェッド 22 +
門型標識 22 + 横断歩道橋 82 + 道路法面 12 区間がどう分布するか」 を
1 枚にまとめる。 点の密度差が大きい (4,203 vs 12) ので、 橋梁は背景灰色、
トンネル ●紫、 シェッド ▲橙、 門型標識 ■暗赤、 歩道橋 ★赤、 法面 X 緑 と
6 軸でマーカー識別する。
図 7 から読み取れること:
- 橋梁 (灰) = 全域分散 (道路の連続性確保)
- トンネル (●紫) = 中国山地の山岳帯 (山岳貫通)
- シェッド (▲橙) = 県北西部の急峻地帯 (山腹保護)
- 門型標識 (■暗赤) = 県中央部の幹線国道 (情報提供)
- 歩道橋 (★赤) = 福山市・呉市等の都市部 (歩行者守護)
- 法面 (X 緑) = 呉市・江田島市の沿岸山地 (沿道斜面保護)
- 6 兄弟が6 つの異なる地理パターンを描く: 全域分散 / 山岳帯 / 北西急峻 /
中央幹線 / 都市部 / 沿岸山地
- これにより県の道路インフラの6 機能が地図で実証される
結果 2: 6 兄弟 件数 (log) + 公開モード概念図 (図 8)
なぜこの図か: H4 (件数階層) と H5 (公開モード 2 群) を 1 枚で検証する。
件数は規模が桁違いなので log 軸必須、 公開モードはカテゴリ分類を視覚化したい
(数値台帳 5 vs 写真台帳 1)。
図 8 から読み取れること:
- 左パネル (件数 log): 橋梁 4,203 ≫ トンネル 157 ≫
歩道橋 82 ≫ シェッド 22 = 門型 22 ≫ 法面 12 区間。
法面公開件数は6 兄弟最少だが、 これは公開モードの違いに起因する
(実態は数千件規模と推定)
- 右パネル (公開モード): 数値台帳 5 兄弟 (L66/L67/L68/L69/L70) と
写真台帳 1 兄弟 (L71) の2 群構造がはっきり可視化される
- これは「視認性が支配する施設は写真台帳、 数値メタで足りる施設は
数値台帳」という公開モード設計の合理性を示す
- 橋梁・トンネル・歩道橋等の構造物は架設年度と寸法で老朽度を推定可能
なので数値台帳で十分。 法面は個別現場の表面状態が支配的なので
写真ベースが合理的
6 兄弟比較表 (RQ3 中核):
| 指標 |
L66 橋梁 |
L67 トンネル |
L70 横断歩道橋 |
L68 シェッド |
L69 門型標識 |
L71 道路法面 |
6 兄弟の意味 |
| 件数規模 (基準値) |
4,203 |
157 |
82 |
22 |
22 |
12 区間 |
件数比 = 350 : 13.1 : 6.8 : 1.83 : 1.83 : 1 |
| 公開モード |
数値台帳 (CSV 1 件) |
数値台帳 (CSV 1 件) |
数値台帳 (CSV 1 件) |
数値台帳 (CSV 1 件) |
数値台帳 (CSV 1 件) |
写真台帳 (ZIP 4 件) |
L71 のみ写真 + 軽量メタの ZIP 配布 |
| リソース数 |
1 (CSV) |
1 (CSV) |
1 (CSV) |
1 (CSV) |
1 (CSV) |
4 (ZIP, 撮影日 × 事務所) |
L71 は配信日 × 事務所の組合せで 4 ZIP に分割 |
| 地形対象 |
中小河川クロス (橋渡し) |
山岳貫通 (トンネル) |
歩行者横断 (跨道) |
山腹通過 (落石覆い) |
情報提供 (跨道) |
沿道斜面 (法面) |
6 階層: 平野・川 / 山岳 / 歩行者 / 山腹 / 情報 / 沿道 |
| 機能 |
道路の連続性 |
山岳バイパス |
歩行者の安全な道路横断 |
落石・崩土からの保護 |
進行方向情報の伝達 |
切土・盛土斜面の保護 |
1=接続 / 2=貫通 / 3=歩行者 / 4=保護 / 5=情報 / 6=沿道斜面 |
| 典型整備期 |
1960-2000s 全期 |
1960-2010s 戦後継続 |
1960-1970s 黄金期 |
1970-1980s 国土計画期 |
1980-2000s 高度道路情報化 |
全期 (継続的 + 補修サイクル) |
法面は新設・補修・撤去の終わりが無い継続事業 |
| 代表的工種・形態 |
道路橋 + 河川橋 |
山岳トンネル |
歩道橋・陸橋 |
ロックシェッド + 洞門 |
オーバーヘッド型 + 路側型 |
モルタル吹付・ロックボルト・グラウンドアンカー・補強土壁・落石防護網 |
L71 のみ多種工種が共存 (写真でのみ判別可能) |
| 公開件数 vs 県内推定総数 |
全数公開 (4,203) |
全数公開 (157) |
全数公開 (82, 県管理のみ) |
全数公開 (22) |
全数公開 (22) |
パイロット 12 区間 (実際は数千件規模) |
L71 のみパイロット公開 (写真撮影コスト高のため) |
6 兄弟表から読み取れること:
- 件数比 350 : 13.1 :
6.8 : 1.83 :
1.83 : 1という階層
- 機能は「接続 / 貫通 / 歩行者 / 保護 / 情報 / 沿道斜面」の 6 機能で完全分担
- L71 法面のみ公開モードが「写真台帳型」で、 リソース数 4 (ZIP)
- 整備期は橋梁・トンネル = 全期分散、 歩道橋 = 1960-70s 集中、
シェッド = 1970-80s 集中、 門型 = 1990s 集中、 法面 = 全期継続
と多様
- 法面のみ「公開件数 ≪ 実態件数」という乖離があり、
パイロット公開の限界を示す
仮説検証総合
仮説検証総合 (H1〜H5)
本記事冒頭で立てた 5 仮説の検証結果を以下にまとめる。
すべての仮説の検証根拠は本記事中の図表に明示されており、再現可能。
| 仮説 |
観測値 |
判定 |
詳細解説 |
| H1 配信日 × 解像度の二極化 (RQ1) |
観測 = HD 配信日 ['2024-03-21'] / 4K 配信日 ['2024-03-27'] / その他 0 |
強支持 |
H1 強支持: 0321 配信は全 12 枚 HD (1920x1080)、0327 配信は全 12 枚 4K (3840x2160)に分かれた。これは 0321 配信が一般カメラ (HD ビデオ抽出) であるのに対し、0327 配信はファイル名 GX0109xxから推測すると GoPro Hero 系のアクションカム 4K 撮影に切替えた可能性が高い。つまり同一区間を 6 日間隔で 2 つの機材で再撮影するという機材検証パイロットの構図が読み取れる。 |
| H2 中央値最近接 ≤ 200m (RQ2) |
観測 = 48 m (任意警戒区域までの中央値) / 区域内 2/12 / 200m 以内 10/12 |
強支持 |
H2 強支持: 12 区間の任意警戒区域までの最近接距離の中央値は 48 m。 2/12 区間 (17%) が警戒区域内(距離 ≤ 0.5m)、 200m 以内は 10/12 区間 (83%)。 道路法面は「警戒区域に近接または内包される沿道斜面」として位置付けられることが定量実証される。 これは「道路法面 = 警戒区域の沿道版」 という直感を空間データで裏付ける重要結果。 |
| H3 最近接は急傾斜が最頻 (RQ2) |
観測 = 最近接最頻 急傾斜 (9/12) |
強支持 |
H3 強支持: 12 区間の最近接警戒種別の最頻は急傾斜で、9/12 区間 (75%) を占める。 急傾斜地崩壊 = 30度以上の自然斜面の崩壊リスクを指す制度区分であり、道路法面 = 切土・盛土斜面と性質が直接対応する。 「道路法面 ≒ 急傾斜地保護施設の道路版」という見立てが空間的に成立。 L56 (急傾斜地崩壊防止施設, 集落保護用) と同じ斜面リスクを道路 vs 集落で 2 系統で守る制度構造を実証。 |
| H4 件数比の 6 階層 (RQ3) |
観測 = 橋:トン:歩:シェ:門:法 = 4,203 : 157 : 82 : 22 : 22 : 12 (区間) |
強支持 |
H4 強支持: 6 兄弟の公開件数は 橋梁 4,203 ≫ トンネル 157 ≫ 歩道橋 82 ≫ シェッド 22 = 門型標識 22 ≫ 法面 12 区間。 道路法面の公開件数 (12) は6 兄弟の最少だが、 これは「全数台帳ではなくパイロット公開」という公開モードの違いに起因する。 県内に実在する道路法面は数千件規模と推定され、 実態は橋梁を上回る件数規模である可能性が高い。 「公開件数」 と「実態件数」 が大きく乖離する初めての兄弟であり、 これは「写真台帳の網羅化はコスト的に困難」 という現実を反映。 |
| H5 公開モード 2 群 (RQ3) |
観測 = 数値台帳 (CSV 1 件) 5 兄弟 + 写真台帳 (ZIP 4 件) 1 兄弟 |
強支持 |
H5 強支持: 6 兄弟は公開モードで明確に 2 群に分かれる: 数値台帳型 5 兄弟 (L66/L67/L68/L69/L70)は CSV 1 件で位置 + 仕様メタを完備、 写真台帳型 1 兄弟 (L71)は ZIP 4 件で位置 + 写真を提供。 これは「視認性が支配する施設」という法面の性質を反映する: 法面の状態 (亀裂・劣化・植生侵入) は数値メタでは表現できず、 現場写真がそのまま判定根拠となる。 橋梁・トンネル・歩道橋等の構造物は架設年度と寸法で老朽度を推定可能だが、 法面は個別現場の表面状態が支配的であり、 写真ベースの管理が合理的。 これは公開モード設計が施設特性に合わせて切替えられている制度的合理性を示唆する。 |
主要発見の整理
- RQ1 主発見: DoBoX 道路法面パイロット写真台帳は 12 区間 / 24 写真 /
2 路線 / 2 事務所 / 2 配信日 / 2 解像度の構造。
H1 (解像度二極化) は完全に成立 — 0321 = HD (12 枚) /
0327 = 4K (12 枚) で機材変更の痕跡がデータ構造に明確に現れる。
4K 配信は HD の約 2.5 倍のファイルサイズで、 表面のひび割れ・劣化を
細部まで判定可能。
- RQ2 主発見: 12 区間の任意警戒区域までの中央値最近接 48 m、
2/12 区間 (17%)が警戒区域内に直接位置。
H2 (近接 ≤ 200m) 強支持。
最近接種別最頻は急傾斜 (9/12)で、
H3 (急傾斜最頻) 強支持。
「道路法面 = 急傾斜地保護施設の沿道版」という見立てが空間データで裏付けられる。
- RQ3 主発見: 6 兄弟件数比は4,203 : 157 : 82 :
22 : 22 : 12。 法面公開件数は最少だが
実態は数千件規模と推定 (= パイロット公開モードの限界)。 H4 強支持。
公開モードは数値台帳 5 兄弟 (L66/L67/L68/L69/L70) + 写真台帳 1 兄弟 (L71)
の 2 群に明確に分かれる。 H5 強支持。 これは「視認性が支配する施設は
写真ベース」 という公開モード設計の合理性を示す。
本記事の独自貢献
- 「写真台帳型」 公開モード概念の導入: L66-L70 の数値台帳と区別する用語として
「写真台帳型」 を本記事独自で定義。 ZIP × 配信日 × 事務所の 3 階層構造を持つ
ことを系統的に記述。
- 機材検証パイロット仮説: 0321 HD と 0327 4K の二極化が、
「同一区間を 2 機材で 6 日間隔に再撮影する機材検証」 を意図したパイロットである
可能性を提示 (= 4K 化の費用対効果を実地検証する目的)。
- 「道路法面 ≒ 急傾斜地保護施設の沿道版」 仮説の空間検証:
最近接警戒種別が急傾斜で最頻 (75%)、
警戒区域内 17% という空間データで裏付け。
L56 (集落保護用) と2 系統で同一斜面リスクを守る制度を実証。
- 道路施設 6 兄弟構造の完成: L66 + L67 + L68 + L69 + L70 + L71 で
6 機能(接続 / 貫通 / 歩行者 / 保護 / 情報 / 沿道斜面) を統合的に定量化。
- 「公開件数 ≪ 実態件数」 乖離の指摘: 6 兄弟で初めて公開件数と実態件数が
大きく乖離する事例 (パイロット 12 区間 vs 実態数千件規模)。
写真台帳の網羅化はコスト的に困難という現実を反映。
本記事の限界
- パイロット範囲の地理偏在: 呉支所 + 西部建設事務所の 2 路線のみで、
県全体の代表性は無い。 中山間山地・尾道-福山等の主要地域は対象外。
実態の道路法面分布とは異なる。
- 判定区分の構造的欠落: L66-L70 では '?' でマスクされた判定区分があるが、
L71 ではそもそも判定区分列が無い。 写真がそのまま判定根拠となる仕組み。
- 区間の物理的形状情報なし: 区間長・面積・斜面高さ・斜面勾配等が
メタに含まれない。 これらは写真から目視推定するしかない (= 写真台帳の限界)。
- 工種情報なし: モルタル吹付・ロックボルト・グラウンドアンカー等の
具体的工種は本データに記載されない。 写真からの目視判別が必要。
- RQ3 の機能分類は本記事独自: 「接続 / 貫通 / 歩行者 / 保護 / 情報 / 沿道斜面」
の 6 機能は本記事の解釈で、 公式分類ではない。
発展課題
発展課題 — 結果 X → 新仮説 Y → 課題 Z 形式
発展課題 1 (RQ1 拡張): 写真からの工種自動判別による台帳の意味解釈
- 結果 X: 本データには工種列が存在しないため、 各区間の保護工 (モルタル吹付・
ロックボルト・グラウンドアンカー・補強土壁・落石防護網) は写真から目視判別する必要がある。
- 新仮説 Y: 4K 写真は HD 写真より工種特徴 (ボルト頭・受圧板・吹付ムラ・金網メッシュ等) が
明瞭で、 画像分類モデルでの自動判別精度が大きく向上する仮説。
- 課題 Z: 22 写真を手動アノテーション (5 工種ラベル付与) →
ResNet50 など事前訓練 CNN で fine-tuning → 解像度別精度比較。
「道路法面工種自動判別モデル」として展開可能。
これにより全数台帳化のコストが大幅削減できる。
発展課題 2 (RQ1 拡張): 0321 → 0327 の 6 日間差分からの劣化検出
- 結果 X: 同一 12 区間を 6 日間隔で 2 機材で再撮影しているが、
6 日では物理的劣化はほぼ進行しない (= 同じ斜面を別機材で記録した冗長データ)。
- 新仮説 Y: 仮にこれを1 年・5 年スパンで繰返し、 機材を 4K で固定すれば、
表面ひび割れの拡大・モルタル吹付の剥離進行・植生侵入の進行が画像差分で検出可能。
ピクセル差分 + Optical Flow + 構造変化検出で年次劣化マップを描ける仮説。
- 課題 Z: 同一区間の多時期写真 (将来取得) を SIFT 特徴で位置合せ →
ピクセル差分で「変化箇所」 を抽出 → 5 年点検サイクルでの劣化進行率を定量化。
「道路法面劣化進行マップ」として展開。
発展課題 3 (RQ2 拡張): L56 急傾斜防止施設との重ね合わせによる道路-集落 2 系統制度の実証
- 結果 X: 12 区間の75%で
最近接が急傾斜地崩壊警戒区域。 L56 (急傾斜地崩壊防止施設) は集落保護用で、
L71 (道路法面) は道路保護用。 同じ斜面リスクを 2 系統で守る制度。
- 新仮説 Y: 12 区間のうち相当数 (≥ 50%) で、 1 km 圏内に L56 防止施設が存在する。
これは「同一斜面リスクを道路と集落で並行守備」している証拠仮説。
- 課題 Z: L56 facilities CSV (3,000 件規模) と本 L71 12 区間の
最近接距離を BallTree で計算 → 1 km 以内のペアを「対応事例」 として抽出 →
「道路法面 × 急傾斜防止施設 ペアリングマップ」として展開。
制度横断で同一斜面を守る事例を可視化。
発展課題 4 (RQ2 拡張): L11 トリプルハザード Overlayの 12 区間版
- 結果 X: L11 で県全域の警戒区域 3 種を扱ったが、 本研究は 12 区間のみで
最近接距離を計算した。 道路全延長に対する警戒区域の重なり率は未測定。
- 新仮説 Y: 呉平谷線・江田島線の道路全延長を Shapefile で取得し、
警戒区域 3 種でバッファ 50m intersection を計算すると、
路線全延長の30-50%が警戒区域に重なる仮説。
- 課題 Z: DoBoX 道路台帳 (dataset 1445 道路台帳付図) から該当 2 路線の
LineString 取得 → 警戒区域とのバッファ overlay → 路線全延長 × 警戒重なり率
を計算。 「12 区間以外も含めた路線全体のリスクマップ」 として展開。
発展課題 5 (RQ3 拡張): 道路施設 8 兄弟への拡張
- 結果 X: 本研究は L66-L71 の6 兄弟で道路インフラを扱ったが、
道路情報板 + カーブミラー等はまだ記事化されていない。
- 新仮説 Y: これら 2 シリーズを加えると「8 兄弟」となり、
道路インフラの完全カタログが完成。 接続 / 貫通 / 歩行者 / 保護 /
情報 / 沿道斜面 / 動的情報 / 視認補助 の8 機能に拡張される。
- 課題 Z: DoBoX dataset 一覧から該当データを特定 → L72-L73 として 2 記事を追加 →
6 兄弟を 8 兄弟に拡張。 「県の道路インフラ機能 8 階層」 として完成。
発展課題 6 (展望): 道路法面の全数台帳化に向けた制度提言
- 結果 X: 本パイロット 12 区間は実態の数千件規模に対し1% 未満。
写真台帳の網羅化は撮影コストが高く、 全数公開は当面困難。
- 新仮説 Y: 道路パトロールカー搭載 GoPro による継続自動撮影を導入すれば、
路線走行ログ (GPS + 画像) から区間自動切り出し → 全路線の写真台帳が
数年で完成する仮説。 機材コストは年 100 万円程度で運用可能。
- 課題 Z: 道路パトロール業務に GoPro 4K + GPS ロガーを標準装備 →
AI で「法面が見える区間」 を自動検出 → 区間ごとに代表写真を保存 →
DoBoX に毎年 1 回大量配信。 「県全域 道路法面写真台帳」として 5 年で完成。
発展課題 7 (展望): 住民参加型 法面状態通報システム
- 結果 X: 法面の異変 (新規ひび割れ・小規模崩落・植生侵入等) は
点検サイクル (5 年) より早い周期で発生するが、 県の点検は追いつかない。
- 新仮説 Y: 住民が異変を発見して GPS 付き写真で通報する仕組み (= 市民科学) を
整備すると、 異変検出までの時間が 5 年 → 数日に大幅短縮される仮説。
- 課題 Z: 県公式アプリで「法面異変通報」 ボタンを実装 → GPS + 写真送信 →
DoBoX の本データに上書き → 自動アラートを事務所に飛ばす。
「市民参加型 道路法面モニタリング」として展開。