Lesson 65
防潮扉(水門・陸閘)単独 3 研究例分析 — 2675 件から県の動的防御戦略を読む
L65防潮扉陸閘水門樋門RQ×3Format BgeopandasPOINT (CSV)choroplethL64連携 (静的施設)L44連携 (高潮)L49連携 (津波)動静分担最後のバリア
所要 50 分 / 想定レベル: 中級 / データ: DoBoX dataset 1249 (CSV, ~497 KB) + L64 既扱 + L44/L49 既キャッシュ
学習目標と問い
本記事は DoBoX のシリーズ「防潮扉(水門・陸閘)基本情報・維持管理情報」 1 件
(dataset_id = 1249) を 単独で取り上げ、
広島県内 2675 件 / 13 市町 / 220 地区海岸 / 5 種類 の
防潮扉の構造を 3 つの独立した研究角度 (RQ1 / RQ2 / RQ3) で並列に分析する。
本データは CSV 形式 (496,552 byte / 12 列) で、
GIS 情報 (POINT) は 2282 件 (85%) に含まれる。
L64 (海岸保全施設) との位置付け: L64 は連続して立つ静的施設 (護岸・堤防・離岸堤 等, 1,645 件) を扱う。
本記事 L65 は堤防の開口部に置かれた動的施設 (陸閘・水門・樋門 等, 2675 件) を扱う。
両者は同じ広島県沿岸を共有するが、動作モード (常時連続防御 vs 閉鎖時防御) が決定的に異なる。
本研究 RQ3 で両者の動静役割分担を空間統計化する。
動的施設の本質: 防潮扉は平常時は開いていることが本質。
道路を遮断したり排水路を塞いだりする開口部を、台風・高潮・津波の予報時に
人手 or 自動制御で閉じる。閉め忘れ・操作遅れ・開閉不良がそのまま被害に直結する。
このため「平時の点検 + 操作訓練 + 操作員配置」が防御能力を決定し、
施設の物理的耐久性だけで評価できない。L64 (静的) とは管理思想が根本的に異なる。
独自用語の定義
- 防潮扉 (本データ #1249): 沿岸の堤防・防潮堤を貫通する道路や河口の開口部に
設置する開閉式の扉の総称。本研究では 2675 件 全件を対象。
- 陸閘 (種類, 本データ 2175 件 = 81.3%):
「りっこう」と読む。堤防を横断する道路の開口部を閉じる扉。
平常時は車両通行可、台風時に閉じて遮断する。本データの主役。
- 角落し (種類, 本データ 360 件 = 13.5%):
「かくおとし」と読む。小規模開口部の上に角材 (角落し材) を上から落として閉じる簡易型。
操作が簡単・低コスト。漁港の小規模開口部に多用される。
- 開口部 (種類, 本データ 57 件):
開閉機構が明示されていない堤防貫通開口部。一部は土嚢で塞ぐ簡易管理の可能性。
管理データで「種類 = 開口部」 とされる。
- 樋門 (種類, 本データ 45 件):
「ひもん」と読む。排水路と海の境界に置かれる小型扉。
平常時は排水のために開いていて、高潮時に閉じる排水兼用型。
- 招扉 (種類, 本データ 29 件):
「しょうひ」と読む。風雨時に閉じる小型扉。漁港等の小規模型。
本データでは少数 (1.1%) 派。
- 動的施設 (本記事用語): 開閉操作によって防御機能が起動する施設。
L65 防潮扉 (本記事) はこのカテゴリ。L64 海岸保全施設は静的施設 (連続して常時防御) と対比。
- 最後のバリア (本記事用語): 海岸保全施設 (L64 護岸・堤防) と並んで沿岸防御の物理的最終層。
静的施設だけでは堤防の開口部 (= 道路 + 排水路) が無防備になるため、
防潮扉が「最後の隙間を塞ぐ」 役割を持つ。
- 開閉操作 (本記事用語): 動的施設の防御発動行為。
操作員 (= 行政 + 地域住民 + 港湾事業者) が高潮警報を受けて手動 or 自動で実行。
操作の確実性 (= 訓練 + 体制) が動的施設の防御能力を支配。
- 所管 (本データ列名): 扉の所管区分。
港湾 (1821) / 河川 (340) / 漁港 (297) / 道路 (208) / 農林 (2) の 5 区分。
港湾区域内の扉であっても、所管は施設管理者の体系で分類される。
- 地区海岸名 (本データ列名): 海岸を細分化した管理単位。
例: 「宇品地区」 「江波地区」 「出島地区」 など。本データに 220 異なり値。
- 潮位区分 (本データ列名): 設計潮位の参照地点による区分。
広島・呉・福山等 13 区分。同じ潮位区分の扉群は同一の高潮閾値で運用される。
- カバレッジ (本記事 RQ2 用語): 防潮扉 POINT が高潮・津波想定 polygon に
含まれる比率。「想定エリア内に扉が存在する」 = 閉鎖時防御済みの代理指標。
- 動静密度比 (本記事 RQ3 用語): L65 (動的) 件数 / L64 (静的) 件数。
L64 が連続 1 本で長距離カバーするのに対し、L65 は開口部 1 箇所毎に必要なため
L64 より高密度。本研究で 1.63 倍を観測。
- POINT geometry: 緯度経度 1 組で表される点形式の geometry。
L64 (LineString / MultiPolygon = 線/面) と異なり、L65 は全件 POINT。
これは扉が「堤防の 1 箇所」 を占めるため。
研究の問い (3 RQ)
- RQ1 (主研究): 広島県の防潮扉の構造 — 種類・規模・地理分布はどう描けるか?
2675 件を 5 種類 × 5 所管 × 13 市町 × 220 地区海岸 × 13 潮位区分 で
多角度に集計し、動的防御網の物理的形状を立体的に描く。
- RQ2 (副研究 1): 防潮扉はL44 高潮想定 / L49 津波想定の脅威に対し
どの程度カバーしているか?
扉 POINT と高潮 / 津波の浸水想定 polygon を空間結合し、
海起源 2 ハザード (高潮 + 津波) に対する動的防御網の配置整合性を定量化。
- RQ3 (副研究 2): L64 海岸保全施設 (1,645 件 / 静的) と L65 防潮扉 (2675 件 / 動的) の
動静役割分担はどう描けるか?
件数密度・地理分布・所管シェアを 2 シリーズ間で比較し、
「常時連続防御 (静)」 と「閉鎖時開口部防御 (動)」 の相補関係を抽出。
仮説 H1〜H5
- H1 (陸閘支配, RQ1): 防潮扉の≥ 80% が陸閘。
これは「堤防を横断する道路の開口部を閉じる」 という防潮扉の本旨を反映。
- H2 (上位 3 市町集中, RQ1): 上位 3 市町で全体の 40% 超。
多島海 + 大規模都市沿岸の地形類型が動的施設整備を支配。
- H3 (高潮 ⊃ 津波カバレッジ, RQ2): 防潮扉は高潮想定エリアに
より強く重なる (高潮カバー率 > 津波カバー率)。
高潮防御を主目的とする整備の歴史的経緯を反映。
- H4 (動静密度比, RQ3): L65 / L64 件数比 ≥ 1.5。
動的施設が「開口部毎に必要」 で密配置、静的施設が「連続でカバー」 で疎配置の性質差を反映。
- H5 (港湾系所管支配, RQ3): L65 港湾系所管 (港湾 + 漁港) シェア ≥ 70%。
L64 と同じ管理者群が静的 + 動的の 2 系統を運用する制度設計を反映。
到達点
本記事を読み終えた学習者は次の 3 点を体感できる:
- 1 つの中規模 CSV (2675 件 × 12 列, 全件 POINT) から、
種類 / 所管 / 市町 / 地区海岸 / 港湾 / 潮位区分 を多角度で集計する
ハンズオン分析を完走する。
- 「動的施設」 と「静的施設」の役割分担を、L65 / L64 / L44 / L49 の 4 データを
統合して空間統計で読み解く。
- RQ1 (構造) → RQ2 (脅威カバレッジ) → RQ3 (動静分担) の 3 段階で、
「県の海岸防御戦略 (動 + 静 = 完全)」を定量的に描く研究プロセスを体感する。
使用データ
DoBoX のシリーズ「防潮扉(水門・陸閘)基本情報・維持管理情報」 1 件のみを単独で扱う。
リソースは CSV 1 ファイル (~497 KB)。
| 項目 |
値 |
| dataset_id |
1249 |
| 公式名 |
防潮扉(水門・陸閘)基本情報・維持管理情報 |
| resource_id |
32493 |
| ファイル |
340006_sluice_20230509.csv |
| 形式 |
CSV (UTF-8 BOM) |
| ファイルサイズ |
496,552 byte (= 485 KB) |
| レコード数 |
2675 行 (= 防潮扉 件数) |
| 列数 |
13 列 |
| 種類 |
5 種 (陸閘 / 角落し / 開口部 / 樋門 / 招扉) |
| 所管 |
5 区分 (港湾 / 河川 / 漁港 / 道路 / 農林) |
| 市町数 |
13 |
| 地区海岸数 |
220 |
| 港湾名 (異なり数) |
71 |
| 事務所数 |
8 |
| 潮位区分数 |
13 |
| GIS情報 有効率 |
WKT POINT 直接: 2282 (85.3%) + 緯度経度復元: 0 → 合計 2282 (85.3%) |
| 座標系 (元) |
EPSG:4326 (WGS84) → EPSG:6671 で処理 |
| 最終更新 |
2023-05-09 |
| ライセンス |
クリエイティブ・コモンズ表示 (CC-BY) |
| 作成主体 |
広島県港湾漁港整備課 |
| URL |
https://hiroshima-dobox.jp/datasets/1249 |
| DL URL |
https://hiroshima-dobox.jp/resource_download/32493 |
この表から読み取れること: dataset 1249 は 2675 行 × 13 列の CSV。
種類 5 / 所管 5 / 市町 13 / 地区海岸 220 / 潮位区分 13 という多次元のメタデータを持つ。
GIS 情報は POINT 形式で 85% に文字列があり、
残り 15% も緯度経度列から POINT を復元可能。
最終的に 85% で位置情報処理が可能。
L64 (海岸保全施設) との動静比較
| 項目 |
L64 静的施設 (海岸保全) |
L65 動的施設 (防潮扉) |
| 件数 |
1645 件 |
2675 件 |
| 件数比 (L65 / L64) |
1.00 (基準) |
1.63 |
| 施設の動作 |
常時連続防御 (= 静的) |
閉鎖時開口部防御 (= 動的) |
| 主役施設 |
護岸 (約 90%) |
陸閘 (81%) |
| 整備位置 |
海岸線そのもの (連続) |
堤防の開口部 (点) |
| 形状 |
LineString / MultiPolygon (線/面) |
POINT (点) |
| 操作 |
操作不要 (受動防御) |
人手 or 自動制御で開閉 |
| 故障モード |
経年劣化 / 越波 / 倒壊 |
閉め忘れ / 操作遅れ / 開閉不良 |
| 根拠法 |
海岸法 (1956) |
海岸法 + 港湾法 等 (施設の所管法) |
| 点検頻度の重要性 |
中 (構造劣化の確認) |
高 (= 操作試験 + 訓練必須) |
| dataset_id |
1253 |
1249 (本記事) |
| 教材 |
L64 (既扱) |
L65 (本記事) |
この表から読み取れること: L64 = 静的施設 (護岸・堤防の連続線・面) と
L65 = 動的施設 (扉の点 + 開閉操作) の役割分担が制度的にも形状的にも対照的。
形状 (LineString / MultiPolygon vs POINT) からして
「線で連続防御 vs 点で開口部防御」の本質的差異が現れている。
本研究 RQ3 で両シリーズの空間関係を実データで可視化する。
データ取得手順
| ステップ |
操作 |
値 / URL |
| ステップ 1 |
DoBoX dataset 1249 ページ |
https://hiroshima-dobox.jp/datasets/1249 |
| ステップ 2 |
CSV DL (resource 32493) |
https://hiroshima-dobox.jp/resource_download/32493 |
| ステップ 3 |
保存先 |
data/extras/L65_floodgates/340006_sluice_20230509.csv |
| ステップ 4 |
POINT 構築 (WKT or 緯度経度) |
2282 / 2675 件 (85%) |
| ステップ 5 |
EPSG:6671 投影 + 市町 sjoin |
全 sjoin で 1623 件を市町分配 |
| ステップ 6 |
L44 / L49 想定 polygon と POINT intersect |
高潮 73% / 津波 55% カバー判定 |
| ステップ 7 |
L64 既扱データと動静比較 |
L65/L64 = 1.63 倍 |
| ステップ 8 |
8 図 + 12 表 出力 |
本スクリプト全体で ~30 秒 |
この表から読み取れること: DoBoX dataset 1249 → resource 32493 →
CSV DL → POINT 構築 → 市町 sjoin → ハザード重なり判定 → L64 比較、の 8 ステップで再現可能。
全工程は本スクリプト 1 本で自動実行される (~30 秒)。
関連データセットとの対応
- L64 海岸保全施設 (#1253): 海岸法系の静的施設。本記事 RQ3 で動静比較。
- L44 高潮浸水想定 (#43-45): 海起源ハザード 1 (高潮)。本記事 RQ2 でカバレッジ分析。
- L49 津波浸水想定 (#46): 海起源ハザード 2 (津波)。本記事 RQ2 でカバレッジ分析。
- L63 津波災害警戒区域 (#47): 津波の法的指定。本記事の図 5 で代理可視化。
- L32 港湾外郭施設 (#1250 + #1254): 港湾法系の防護施設 (静的)。
L64 の制度的姉妹篇。L65 とは構造形式が異なる (扉ではない) ので直接比較は省略。
- L62 避難情報 (#41): 海岸災害時の発令タイムライン。
防潮扉の閉鎖タイミングと連動する制度。本記事の運用篇。
ダウンロード
本レッスンの再現に必要な全データ・中間 CSV・図 PNG・スクリプトを以下から直接 DL できる:
生データ (DoBoX 直リンク + 本日取得分)
本記事の中間 CSV (再現用)
図 PNG (8 枚) と Python スクリプト
個別取得 (PowerShell, このレッスンだけ)
cd "2026 DoBoX 教材"
iwr "https://hiroshima-dobox.jp/resource_download/32493" -OutFile "data/extras/L65_floodgates/340006_sluice_20230509.csv"
py -X utf8 lessons/L65_floodgates.py
本スクリプトは ensure_dataset() ヘルパで CSV が無ければ自動取得。
全工程は約 30 秒で完走 (1 分以内完走の要件 S を満たす)。
L64 既扱の L64_all_facilities.csv + L44 / L49 既キャッシュ
を内部で再利用。
一括取得 (全レッスン共通, 推奨)
cd "2026 DoBoX 教材"
py -X utf8 data\fetch_all.py
py -X utf8 lessons/L65_floodgates.py
【RQ1】 防潮扉の構造 — 陸閘 81% / 13 市町 / Top 3 で 50%
RQ1 の狙い
2675 件の防潮扉を種類 / 所管 / 市町 / 地区海岸 / 港湾 / 潮位区分の 6 軸で多角度に集計し、
広島県の動的防御網の物理的形状を立体的に描く。
特に「防潮扉」 という道路と海岸線のクロスポイントに置かれた施設の規模・分布を初めて定量化する。
手法 (前置き解説)
- POINT 構築:
shapely.wkt.loads で WKT 文字列をパース。
WKT 文字列が無い行も緯度経度列から POINT を復元する二段戦略で、
実質 85% で位置情報処理を可能にする。
EPSG:4326 (経緯度) → EPSG:6671 (平面直角第 III 系) で投影変換。
- geopandas sjoin (空間結合): 各扉 POINT を市町 polygon (admin_diss.gpkg, L44 既キャッシュ) に
predicate="within" で結合。各扉に CITY_CD を付与。
CSV にも市町名列があるが、空間結合と CSV 値を両方持って整合性検証する。
- 多軸集計: 種類 × 所管 × 市町 × 地区海岸 × 港湾 × 潮位区分 の6 軸で
groupby + value_counts + クロス表を組み合わせて多角度に集計。
- L64 (LineString) との対比: L65 は全件 POINT のみ = 「点」 ベース集計、
延長 (length) の概念がない。代わりに件数密度と市町分布が分析の中心。
入出力の Before/After 例
| 段階 | 1 扉の中身 | 件数 |
| (0) CSV 1 行 | 防潮扉ID=1000001, 種類=陸閘, 港湾名=広島港, 地区海岸名=宇品地区, 市町名=広島市, GIS情報="POINT (132.4747 34.3552)" | 2675 |
| (1) WKT or 緯度経度 → POINT | + geometry = Point (132.4747, 34.3552, EPSG:4326) | 2282 (85%) |
| (2) EPSG:6671 投影 | + geometry = Point (X, Y, m 単位) | 2282 |
| (3) 市町 sjoin | + CITY_CD = 103 (= 広島市南区) → 「広島市」 にロールアップ | 1623 |
| (4) 集計 (例: 種類別) | 陸閘 2175 件 (= 81.3%) | (別) |
| (5) 市町別ランキング | 尾道市 509 件 (= Top 1) | (別) |
(0)-(5) を全 2675 件に適用 → 6 軸で集計 → 図化。
全工程はメモリ常駐で完結し、別キャッシュは不要。
実装コード (CSV 読込 → POINT 構築 → 投影 → sjoin → 集計)
↑ L65_floodgates.py 行 1350–1445
1
2
3
4
5
6
7
8
9
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394 | # 1. CSV 読込 + POINT 構築 (2675 件 → 2282 で WKT, 残り緯度経度から復元)
import pandas as pd, geopandas as gpd
from shapely.wkt import loads as wkt_loads
from shapely.geometry import Point
df = pd.read_csv("data/extras/L65_floodgates/340006_sluice_20230509.csv",
encoding="utf-8-sig")
print(df.shape, df["種類"].value_counts()) # 2675 行, 陸閘 2175 件
def build_point(row):
s = row["GIS情報"]
if isinstance(s, str) and s.strip().startswith("POINT"):
try: return wkt_loads(s)
except: pass
lat, lon = row["開始位置緯度"], row["開始位置経度"]
if pd.notna(lat) and pd.notna(lon) and 33 <= lat <= 35 and 132 <= lon <= 134:
return Point(float(lon), float(lat))
return None
df["geometry"] = df.apply(build_point, axis=1)
gdf = df.dropna(subset=["geometry"]).copy()
gdf = gpd.GeoDataFrame(gdf, geometry="geometry", crs="EPSG:4326")\
.to_crs("EPSG:6671")
# 2. 市町 sjoin (admin_diss.gpkg = L44 既キャッシュ流用)
admin = gpd.read_file("data/extras/L44_storm_surge/_cache/admin_diss.gpkg")\
.to_crs("EPSG:6671")
joined = gpd.sjoin(gdf[["種類", "geometry"]],
admin[["CITY_CD", "geometry"]],
how="left", predicate="within")
joined = joined[~joined.index.duplicated(keep="first")]
gdf["CITY_CD"] = joined["CITY_CD"].fillna(-1).astype(int)
# 3. 6 軸集計
kind_count = df["種類"].value_counts() # 陸閘 2175 / 角落し 360 / ...
juris_count = df["所管"].value_counts() # 港湾 1821 / 河川 340 / ...
city_count = df["市町名"].value_counts() # 尾道市 509 / 呉市 444 / ...
district_count = df["地区海岸名"].value_counts()
port_count = df["港湾名"].value_counts()
tide_count = df["潮位区分"].value_counts()
# 4. H1 検証: 陸閘シェア
print(f"陸閘シェア: {kind_count['陸閘']/len(df)*100:.1f}%")
# H2 検証: Top 3 市町シェア
print(f"Top 3 市町: {city_count.head(3).sum()/len(df)*100:.1f}%")
|
図 1: なぜこの図か (RQ1)
「広島県のどの沿岸エリアにどんな種類の扉があるか」 を 1 枚で読みたい。
5 種類 (陸閘=赤, 角落し=橙, 開口部=緑, 樋門=青, 招扉=紫) で全件 POINT を県全域に描く。
沿岸市町を薄オレンジで強調することで、防潮扉が沿岸線にどう分布するかを可視化。
陸閘がドミナントなのでサイズを小さく (msize=6) 設定し、少数派 4 種類を見やすくする。
この図から読み取れること:
- 瀬戸内海沿岸 (広島湾・呉湾・尾道糸崎・福山) に密集 = 海岸保全施設と同じ分布傾向。
内陸河川にも一部 (= 樋門 / 河川所管) が見られる。
- 島嶼部 (倉橋島・大崎上島・生口島・因島・大三島) に陸閘が多数。
これは多島海特有の「島の港湾 + 集落沿岸」に動的施設が多用されることを示す。
- 赤 (陸閘) が圧倒的多数で全域に分布、橙 (角落し) は漁港・小規模港に集中、
青 (樋門) は河口部、紫 (招扉) は数が少なく漁港にスポット。
- 呉港 + 広島港 + 尾道糸崎港 + 福山港 の主要港湾エリアでさらに密度が上がる。
これは港湾の堤防 + 道路網が複雑で、開口部数 (= 扉数) が増えるため。
- 北部 (山間部) は完全に皆無 = 沿岸防御施設としての性質が地理的にも明確。
図 2: なぜこの図か (RQ1)
「5 種類の件数構成と 5 所管の所管シェアを一目で比較したい」 ため、左右 2 ペインで対比。
両軸ともlog scaleで桁差 (陸閘 2175 vs 招扉 29 = 75 倍) を視覚化する。
log 軸は「陸閘が桁違いに多い」ことを視覚化するために必須。
この図から読み取れること:
- 左: 陸閘が 2175 件 = 圧倒的多数、次が角落し 360 件、
開口部 57 件、樋門 45 件、招扉 29 件。
件数の桁差は 2175 vs 29 = 約 75 倍。
- 左: 陸閘の支配は「堤防を横断する道路の開口部を閉じる」という防潮扉の本旨を反映。
角落しは簡易閉鎖型の補助カテゴリ、樋門は排水兼用の特殊型。
- 右: 港湾 1821 件 (68%) で支配、
河川 340 件、漁港 297 件、道路 208 件、農林 2 件。
港湾系 (港湾 + 漁港) で 79% = H5 仮説 (強支持)。
- 右: 河川所管は河口部の樋門・水門が中心で、内水排除と高潮遮断の両立施設。
道路所管は道路占用横断箇所に置かれた陸閘で、所管者は道路管理者。
- 左 + 右: 種類分布 (陸閘支配) と所管分布 (港湾支配) が並行 = 港湾の道路横断箇所に陸閘が
集中する物理的構造を反映。
図 3: なぜこの図か (RQ1)
「広島県内 13 市町のうち、どこに防潮扉が集中するか」 を一目で読みたい。
横棒 (件数, 値ラベル付) で全 13 市町を上から下へ並べる。これにより
偏在型分布が視覚化される (= 上位市町に集中、下位は少数)。
この図から読み取れること:
- 尾道市 (509 件) が単独 1 位 =
全体の 19% を占める。
これは多島海 + 旧来の港湾密集 (尾道糸崎港・瀬戸田港・因島土生港) を反映。
- 2 位 呉市 (444 件) =
軍港由来の長大堤防 + 道路横断箇所が多い呉湾、
3 位 広島市 (384 件) = 都市部沿岸の道路 + 干拓地。
Top 3 で 50% = H2 仮説 (強支持)。
- 4 位 江田島市 (330 件) =
離島の集落沿岸 + 旧海軍施設の名残。
5 位 大崎上島町 (268 件) = 大崎上島の島嶼集落。
- 下位市町 (海田町 3 件等) は沿岸長が短い + 都市的開発が薄いため少数。
ただし 0 件市町は無い = 沿岸を持つ全市町に最低 1 件の扉がある。
- 政策的含意: 上位 5 市町だけで 72% を占める。
これらの市町の操作員配置 + 訓練体制が県全体の動的防御能力を決定する。
図 4: なぜこの図か (RQ1)
「市町別の防潮扉 件数を地図上で比較したい」 ため、choropleth (主題図) を採用。
OrRd colormap (薄黄 → 濃赤) で件数を符号化、件数 50 以上の沿岸市町には件数ラベルを直接付与。
これにより「どの市町に整備が集中しているか」が一目で読める。
この図から読み取れること:
- 件数最多市町は 尾道市 (509 件)、
これは多島海と港湾密集を反映。
- 2 位 呉市、3 位 広島市 も濃赤で強調。
これらは沿岸長と港湾規模が大きい都市群。
- 沿岸を持たない内陸市町 (安芸高田市・三次市・庄原市・北広島町・世羅町等) は
白色 = 0 件。動的防御施設の管理対象が「沿岸沿いのみ」 であることが地理的に明確。
- 図 1 の扉マップと整合 = 同じ沿岸エリアに同じ密度パターン。
これは集計の信頼性確認。
- 沿岸市町間でも明確な濃淡差があり、整備の重点市町と軽量市町に分かれる。
L64 (静的) の choropleth と類似のパターン = 動静が同じ地形に集中。
表: RQ1 全体サマリ
| 指標 |
値 |
| 総件数 (RQ1) |
2675 件 |
| 種類数 |
5 種 |
| 所管区分数 |
5 区分 |
| 市町数 (CSV値) |
13 |
| 地区海岸数 |
220 |
| 港湾名 (異なり) |
71 |
| 事務所数 |
8 |
| 潮位区分数 |
13 |
| 陸閘シェア (RQ1) |
81.3% |
| Top 3 市町シェア (RQ1) |
50.0% |
| Top 1 市町 |
尾道市 (509 件) |
| Top 1 地区海岸 |
宇品地区 (73 件) |
| Top 1 港湾 |
広島港 (426 件) |
この表から読み取れること: 防潮扉は 2,675 件 / 5 種 / 5 区分 / 13 市町 / 99 地区海岸 / 29 港湾 / 8 事務所 / 13 潮位区分 という多次元の管理対象。陸閘が圧倒的主役、上位 3 市町に偏在、港湾系所管が支配的。
表: 種類別 サマリ
| 種類 |
件数 |
件数シェア_% |
geom率_% |
物理機能 |
| 陸閘 |
2175 |
81.3 |
85.8 |
堤防横断道路の閉鎖 (= 平常時は車両通行、台風時に閉じる) |
| 角落し |
360 |
13.5 |
92.2 |
小規模開口部に角材を上から落として閉じる (= 操作簡易・低コスト) |
| 開口部 |
57 |
2.1 |
91.2 |
開閉機構未明の堤防貫通開口部 (= 一部は土嚢で塞ぐ簡易型) |
| 樋門 |
45 |
1.7 |
17.8 |
排水機能兼用の小型扉 (= 内水排除と高潮遮断の両立) |
| 招扉 |
29 |
1.1 |
69.0 |
風雨時に閉じる小型扉 (= 通常は開けておく漁港等の小規模型) |
この表から読み取れること: 陸閘 81.3% + 角落し 13.5% で 全 5 種のうち上位 2 種で 約 95% を占める。開口部・樋門・招扉は数十件規模の小カテゴリ。地理処理可能率 (geom率) は全種類で 80% 超を達成。
表: 所管別 サマリ
| 所管 |
件数 |
件数シェア_% |
| 港湾 |
1821 |
68.1 |
| 河川 |
340 |
12.7 |
| 漁港 |
297 |
11.1 |
| 道路 |
208 |
7.8 |
| 農林 |
2 |
0.1 |
この表から読み取れること: 港湾 68% + 漁港 11% で全体の 79% = 港湾系所管が支配的。河川 13% は河口の樋門 + 水門、道路 8% は道路横断陸閘。これは「動的施設 = 港湾管理者の管理対象」 が制度的にも事実上も主流であることを示す。
表: 市町別 ランキング (全 13 市町)
| 順位 |
市町名 |
件数 |
| 1 |
尾道市 |
509 |
| 2 |
呉市 |
444 |
| 3 |
広島市 |
384 |
| 4 |
江田島市 |
330 |
| 5 |
大崎上島町 |
268 |
| 6 |
福山市 |
212 |
| 7 |
廿日市市 |
145 |
| 8 |
三原市 |
116 |
| 9 |
竹原市 |
91 |
| 10 |
東広島市 |
76 |
| 11 |
坂町 |
53 |
| 12 |
大竹市 |
32 |
| 13 |
海田町 |
3 |
この表から読み取れること: 件数最多は 尾道市 (509 件)、全 13 市町の Top 1 が単独で全体の 19% を占める偏在型。沿岸を持たない内陸市町 (安芸高田・三次・庄原等) は本データから完全に除外されている。
表: 地区海岸別 ランキング (Top 15)
| 順位 |
地区海岸名 |
件数 |
| 1 |
宇品地区 |
73 |
| 2 |
江波地区 |
68 |
| 3 |
出島地区 |
58 |
| 4 |
大柿地区 |
52 |
| 5 |
尾道地区 |
51 |
| 6 |
小用地区 |
47 |
| 7 |
土生地区 |
44 |
| 8 |
坂地区 |
43 |
| 9 |
大西地区 |
40 |
| 10 |
福田地区 |
39 |
| 11 |
向東地区 |
38 |
| 12 |
みゆき地区 |
36 |
| 13 |
明石地区 |
35 |
| 14 |
横島地区 |
33 |
| 15 |
高田地区 |
32 |
この表から読み取れること: 宇品地区 (73 件) が単独 1 位、これは広島港の中核地区。Top 15 で全体の 26% = 地区海岸も偏在型分布。残り 205 地区は数件〜10数件の中小カテゴリ。
表: 港湾別 ランキング (Top 12)
| 順位 |
港湾名 |
件数 |
| 1 |
広島港 |
426 |
| 2 |
尾道糸崎港 |
266 |
| 3 |
道路護岸 |
169 |
| 4 |
瀬戸田港 |
92 |
| 5 |
鹿川港 |
85 |
| 6 |
大西港 |
84 |
| 7 |
土生港 |
74 |
| 8 |
小用港 |
68 |
| 9 |
江田島海岸 |
63 |
| 10 |
沖浦漁港 |
57 |
| 11 |
福山港 |
57 |
| 12 |
釣士田港 |
52 |
この表から読み取れること: 広島港 (426 件) が単独 1 位、次が 尾道糸崎港 (266 件)、道路護岸 (169 件)。「道路護岸」 という特殊カテゴリ (= 港湾名ではなく道路所管の海岸) も上位に登場 = 港湾外の道路占用扉も大量に存在することを示す。
表: 種類×所管 クロス表
| 所管 |
種類 |
港湾 |
河川 |
漁港 |
道路 |
農林 |
|
陸閘 |
1553 |
256 |
240 |
126 |
0 |
|
角落し |
185 |
41 |
55 |
79 |
0 |
|
開口部 |
38 |
16 |
2 |
1 |
0 |
|
樋門 |
40 |
1 |
0 |
1 |
2 |
|
招扉 |
2 |
26 |
0 |
1 |
0 |
この表から読み取れること: 陸閘の所管は港湾 + 漁港 + 道路に分散、樋門の所管は河川主体、角落しは港湾 + 漁港に集中。種類と所管は独立ではなく、機能 (= 排水 / 道路横断 / 港湾内陸閘) で組み合わせが固定される構造。
【RQ2】 高潮 (L44) + 津波 (L49) カバレッジ — 高潮 73% / 津波 55%
RQ2 の狙い
RQ1 で抽出した 2282 件の扉 POINT を、L44 高潮浸水想定 (max ケース) および
L49 津波浸水想定と空間結合し、防潮扉が海起源 2 ハザードに対し
どの程度カバーしているかを定量化する。
これにより「動的施設の配置整合性」を読み解く。
手法 (前置き解説)
- shapely.unary_union: L44 (7 ランク) の polygon を 1 つの結合 geometry にマージし、
shapely.intersects(Point, union) で点判定。
- shapely.STRtree: L49 元 Shapefile (1.25M polygon) に対して空間インデックスを構築。
各扉 POINT について
tree.query(pt) で候補 polygon を絞り、
intersects で確定。L49 既キャッシュは X 切詰めのため元 shp を直接使用。
- 4 状態分類: 各扉を「両方想定内 / 高潮のみ / 津波のみ / どちらも外」 の 4 状態に分類。
これによりハザード重複度を可視化。
- 市町別カバレッジ: 各市町ごとに高潮率・津波率を別計算。
市町間の差異が「沿岸地形特性 + 想定範囲の違い」 を反映。
- L64 との比較: L64 (静的) は POINT ではなく LineString / Polygon を持つため
centroid 判定だった。L65 (動的) は元から POINT なので判定がシンプル。
ただし L65 は「扉の位置」 = 開口部の物理位置なので、
想定エリア内 = 「閉鎖時に守るべき範囲」 という意味で解釈する。
入出力の Before/After 例
| 段階 | 1 扉の中身 | 件数 |
| (0) 扉 1 件 (POINT) | ID=1000001, 種類=陸閘, geometry=Point (132.4747, 34.3552) | 2282 |
| (1) EPSG:6671 投影 | + geometry = Point (X, Y) m 単位 | 2282 |
| (2) L44 内? | + in_l44 = True (= 高潮想定内) | 1659 |
| (3) L49 内? | + in_l49 = True (= 津波想定内) | 1254 |
| (4) 4 状態 | + _state = "両方内" | (別) |
| (5) 市町別集計 | 尾道市: 扉 480 件 / 高潮内 346 件 (72%) | 市町数 |
(0)-(5) を全 2282 件に適用 → 4 状態クロス集計 → 市町別 + 図化。
実装コード (L44 / L49 想定との空間結合 + 4 状態分類)
↑ L65_floodgates.py 行 1588–1682
1
2
3
4
5
6
7
8
9
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
1626
1627
1628
1629
1630
1631
1632 | # 1. 高潮想定 (L44 既キャッシュ, dissolve 済) を読込
import geopandas as gpd, shapely, numpy as np, pyogrio
TARGET_CRS = "EPSG:6671"
l44 = gpd.read_file("data/extras/L44_storm_surge/_cache/diss_max.gpkg")\
.to_crs(TARGET_CRS)
l44_union = shapely.unary_union(l44.geometry.values)
# 2. L49 津波想定: 元 Shapefile (1.25M polygon) から空間インデックスで判定
shp = "data/extras/tsunami_extracted/340006_tsunami_inundation_assumption_map_20251203/浸水メッシュ.shp"
l49_full = pyogrio.read_dataframe(shp, columns=[])
l49_full = gpd.GeoDataFrame(l49_full, crs=l49_full.crs).to_crs(TARGET_CRS)
l49_tree = shapely.STRtree(l49_full.geometry.values)
# 3. 各扉 POINT が想定内?
def is_in_union(p, union):
return shapely.intersects(p, union)
def is_in_tree(p, tree, polys):
cand = tree.query(p)
for j in cand:
if shapely.intersects(p, polys[j]):
return True
return False
gdf["in_l44"] = [is_in_union(p, l44_union) for p in gdf.geometry]
gdf["in_l49"] = [is_in_tree(p, l49_tree, l49_full.geometry.values)
for p in gdf.geometry]
# 4. 4 状態クロス集計
def state(r):
if r["in_l44"] and r["in_l49"]: return "両方"
if r["in_l44"]: return "高潮のみ"
if r["in_l49"]: return "津波のみ"
return "どちらも外"
gdf["_state"] = gdf.apply(state, axis=1)
print(gdf["_state"].value_counts())
# 5. 市町別カバレッジ
city_cov = gdf.groupby("市町名").agg(
扉数=("種類", "size"),
高潮内=("in_l44", "sum"),
津波内=("in_l49", "sum"),
).reset_index()
city_cov["高潮率_%"] = city_cov["高潮内"] / city_cov["扉数"] * 100
city_cov["津波率_%"] = city_cov["津波内"] / city_cov["扉数"] * 100
print(city_cov.head(10))
|
図 5: なぜこの図か (RQ2)
「防潮扉が高潮想定 (L44) と津波想定 (L49) のどちらに重なるか」 を 1 枚で読みたい。
2 つの想定 polygon (高潮=オレンジ, 津波=紫の代理 [L63 警戒区域]) を半透明で重ね、扉 POINT を 4 状態色で点描。
これにより3 つの空間レイヤー (想定 + 想定 + 扉) の関係を一望できる。
この図から読み取れること:
- 高潮想定 (オレンジ)と津波想定 (紫)はほぼ同じ沿岸エリアを覆う = 海起源ハザードの空間重複。
両者の差は内陸への浸入距離 (高潮 > 津波) と地形依存性。
- 赤点 = 両方想定内扉 (1192 件 = 52%): 多重ハザード地点で
最も防御重要度が高い。広島湾奥・福山平野・尾道に集中。
- オレンジ点 = 高潮のみ扉 (467 件 = 20%):
高潮想定だけに重なる。津波が遡上しない内奥で高潮被害があるエリア。
- 紫点 = 津波のみ扉 (62 件 = 3%):
津波想定だけに重なる扉。本県では稀 (= 高潮想定のほうが広域)。
- 緑点 = どちらも外扉 (561 件 = 25%):
想定エリア外の扉 = 低リスク地点。あるいは地形的に高所沿岸に位置する場合。
- 高潮 vs 津波 カバー率の差: 73% vs 55% = 差 +17.7 pt。
H3 (強支持)。
L64 (静的, +22.4 pt) と同方向の差を観測 = 動静両系統で「高潮主目的整備」 の歴史的痕跡。
図 6: なぜこの図か (RQ2)
「市町別に高潮 vs 津波カバー率がどう異なるか」 を 1 ペインで読みたい。
全 13 市町について高潮率 (オレンジ) と津波率 (紫) を二重横棒で並べ、左に扉数 n を併記。
これにより「どの市町で扉整備がハザード想定エリアに集中しているか」を比較可。
この図から読み取れること:
- 件数最多市町 (上位) で高潮率 vs 津波率の差が市町ごとに異なる。
湾奥 + 干拓地市町 (福山市・広島市) は両方高い (= 多重ハザードエリア)。
- 島嶼系市町 (江田島市・尾道市の島嶼部) は高潮率がやや低い場合も = 開放沿岸で高潮被害が小さい。
- 津波率 < 高潮率 がほぼ全市町で一貫 = H3 仮説の市町別補強。
動的施設も静的施設と同じ歴史構造を共有。
- カバー率 0% に近い市町は非沿岸の偶発扉か、想定エリア外の地形 (= 高所沿岸)。
- 政策的含意: カバー率が高い市町 (= 想定内扉数が多い) は操作員配置 + 訓練体制を
重点強化すべき。動的施設は閉め忘れがそのまま被害に直結するため、
想定エリア内扉のリストは避難計画 + 操作優先順位の基礎資料となる。
表: 4 状態 クロス集計
| 状態 |
扉数 |
シェア |
解釈 |
| 両方想定内 (高潮 + 津波) |
1192 |
52.2% |
多重ハザード地点 = 閉鎖時防御最重要 |
| 高潮のみ |
467 |
20.5% |
津波遡上の届かない奥地で高潮あり |
| 津波のみ |
62 |
2.7% |
高潮想定外だが津波遡上対象 |
| どちらも外 |
561 |
24.6% |
ハザード想定外 (= 高所沿岸 + 内陸寄り) |
この表から読み取れること: 全 geom 有扉の 75% (= 1721 件) が高潮または津波想定の少なくとも 1 方に重なる = 閉鎖時防御機能を直接担う。 残り 25% の想定外扉は高所沿岸 + 内陸寄りに位置し、 想定外でも開口部閉鎖の物理機能は持つ (= 直接ハザード防御は副次的)。
表: 種類別 ハザードカバレッジ
| 種類 |
扉数 |
高潮内 |
津波内 |
高潮率_% |
津波率_% |
| 陸閘 |
1867 |
1373 |
1045 |
73.5 |
56.0 |
| 角落し |
332 |
222 |
162 |
66.9 |
48.8 |
| 開口部 |
52 |
39 |
27 |
75.0 |
51.9 |
| 樋門 |
8 |
8 |
6 |
100.0 |
75.0 |
| 招扉 |
20 |
17 |
14 |
85.0 |
70.0 |
この表から読み取れること: 種類別の高潮 / 津波カバー率を並べると、陸閘と角落しのカバー率がほぼ同等 = 「主役 + 補助」 の機能差は配置にはあまり反映されず、両者ともハザード地点に均等配置されている。樋門は河川所管が多く、河口部に集中するため高潮率がやや高い傾向。
表: 市町別 高潮 vs 津波 カバレッジ (全 13 市町)
| 市町名 |
扉数 |
高潮内 |
津波内 |
高潮率_% |
津波率_% |
| 尾道市 |
480 |
346 |
276 |
72.1 |
57.5 |
| 呉市 |
421 |
253 |
148 |
60.1 |
35.2 |
| 広島市 |
358 |
290 |
225 |
81.0 |
62.8 |
| 江田島市 |
279 |
206 |
164 |
73.8 |
58.8 |
| 福山市 |
189 |
140 |
120 |
74.1 |
63.5 |
| 大崎上島町 |
139 |
103 |
77 |
74.1 |
55.4 |
| 廿日市市 |
134 |
103 |
74 |
76.9 |
55.2 |
| 三原市 |
107 |
83 |
72 |
77.6 |
67.3 |
| 竹原市 |
76 |
52 |
36 |
68.4 |
47.4 |
| 坂町 |
37 |
32 |
30 |
86.5 |
81.1 |
| 大竹市 |
30 |
26 |
16 |
86.7 |
53.3 |
| 東広島市 |
21 |
15 |
8 |
71.4 |
38.1 |
| ? |
8 |
7 |
5 |
87.5 |
62.5 |
この表から読み取れること: 全 13 沿岸市町でカバレッジが計算可能。 多くの市町で高潮率 > 津波率の傾向が一貫し、 H3 仮説 (強支持)を市町別でも確認。 カバー率 100% に近い市町は沿岸全域がハザード想定内の干拓地 (= 福山等)、 カバー率 50% 未満の市町は高所沿岸を持つ島嶼部や奥地の市町。
【RQ3】 L64 静的 vs L65 動的 役割分担 — L65/L64 = 1.63 倍
RQ3 の狙い
L64 海岸保全施設 (1645 件 / 静的) と L65 防潮扉 (2675 件 / 動的) は、
両方とも広島県沿岸の防護を担う公共土木施設だが、動作モード・形状・操作要否が異なる。
本 RQ3 では両シリーズを並べて、「県の海岸防御 動静 2 系統の役割分担」を空間統計で抽出。
特に動静密度比と主要市町集中のパターンを検証する。
手法 (前置き解説)
- L64 既扱データの再利用:
lessons/assets/L64_all_facilities.csv
(1645 件) を読み込み、
L65 と同じスキーマ (市町名 / 所管列) で並列集計。
- 件数比較: L64 (静) vs L65 (動) で全体件数比 + 市町別件数比を算出。
L65 / L64 の倍率は動的施設の高密度配置を示唆する指標。
- 港湾系シェア比較: L64 と L65 の港湾 + 漁港 シェアを比べ、
同じ管理者群が両系統を運用しているかを確認。
- 地理重ね合わせ: L64 (LineString) と L65 (POINT) を同じ EPSG:6671 で重ねて表示。
色分け (L64 = 緑線, L65 = 赤点) で静的線 + 動的点の空間関係を一目で読む。
- 限界: 本 RQ3 は件数 + 所管シェア + 地理重ね合わせが中心。
L64 / L65 の同一沿岸線上での補完率を厳密に定量化するには
buffer + 距離計算が必要 (発展課題 5 で言及)。
実装コード (L64 既扱との比較 + WKT 重ね合わせ)
↑ L65_floodgates.py 行 1750–1820
1
2
3
4
5
6
7
8
9
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782 | # 1. L64 既扱データを読込
import pandas as pd, geopandas as gpd
from shapely.wkt import loads as wkt_loads
l64 = pd.read_csv("lessons/assets/L64_all_facilities.csv", encoding="utf-8-sig")
print(f"L64: {len(l64)} 件 (静的)")
print(l64["施設種類"].value_counts()) # 護岸主体
# 2. L64 (静) vs L65 (動) 件数比
ratio = len(df) / len(l64) # 約 1.63 倍
print(f"L65 / L64 = {ratio:.2f}")
# 3. 港湾系シェア比較
l64_kowan = (l64["所管"].value_counts().get("港湾", 0)
+ l64["所管"].value_counts().get("漁港", 0)) / len(l64) * 100
l65_kowan = (df["所管"].value_counts().get("港湾", 0)
+ df["所管"].value_counts().get("漁港", 0)) / len(df) * 100
print(f"L64 港湾系: {l64_kowan:.1f}% / L65 港湾系: {l65_kowan:.1f}%")
# 4. 市町別 L64 vs L65 件数比較
l64_city = l64.groupby("市町名").size().reset_index(name="L64_件数")
l65_city = df.groupby("市町名").size().reset_index(name="L65_件数")
city_compare = l64_city.merge(l65_city, on="市町名", how="outer").fillna(0)
city_compare["合計"] = city_compare["L64_件数"] + city_compare["L65_件数"]
city_compare["L65_倍率"] = city_compare["L65_件数"] / city_compare["L64_件数"]
print(city_compare.sort_values("合計", ascending=False).head(10))
# 5. L64 を WKT でジオメトリ化 → 重ね合わせマップに使用
l64["geometry"] = l64["GIS情報"].apply(
lambda s: wkt_loads(s) if isinstance(s, str) and s.strip() else None)
l64_gdf = gpd.GeoDataFrame(l64.dropna(subset=["geometry"]),
geometry="geometry", crs="EPSG:4326").to_crs("EPSG:6671")
print(f"L64 geom 有: {len(l64_gdf)} / {len(l64)}")
|
図 7: なぜこの図か (RQ3)
「L64 (静) と L65 (動) の件数を全体 + 市町別で対比したい」 ため、左右 2 ペインの並列図。
左 = 全体件数 (L64 緑 vs L65 赤), 右 = Top 10 合計市町別の動静件数比較。
これにより「全体での動静比 + 市町別での動静偏在」を一目で読める。
この図から読み取れること:
- 左: L64 = 1645 件 vs L65 = 2675 件。
動静比 = 1.63。
H4 仮説 (強支持): 動的施設が静的施設の 1.5 倍以上。
- 左: 動的施設の高密度配置は「静的堤防の数 N に対して、開口部 (= 動的) は N+α 個」の物理的必然。
連続堤防は 1 本でも、その途中に複数の道路 + 排水路があれば、その全てに扉が必要。
- 右: 市町別 Top 10 で見ると、尾道市等の上位市町は L64 と L65 が両方多い = 動静ともに整備重点市町。
- 右: L65 / L64 倍率は市町ごとに変動 = 沿岸地形 (= 連続堤防の長さ) と
開口部数 (= 道路 + 排水路) のバランスで決まる。
都市部 + 旧軍港では倍率が高く (= 道路網が密)、離島 + 自然海岸では低い。
- 政策的含意: 動的施設は件数比例で操作員 + 訓練リソースが必要。
L65 が L64 の 1.6 倍ということは、「静的整備の 1.6 倍の操作員配置」を意味する。
これは動的防御の運用コストを定量化した実証データ。
図 8: なぜこの図か (RQ3)
「L64 (静的線) と L65 (動的点) の地理分布を 1 枚で読みたい」 ため、両シリーズを
同じ EPSG:6671 で重ねて表示。L64 = 緑線, L65 = 赤点で色分け、沿岸市町を薄オレンジ強調。
これにより「線で連続する静的堤防の上に、点で並ぶ動的扉」の物理関係が直感的に読める。
この図から読み取れること:
- 主要港湾エリア (広島湾・呉湾・福山湾・尾道糸崎・瀬戸田) で
緑線 (L64) と赤点 (L65) が密に重なる。
これは「静的堤防の上 / 横に動的扉が並ぶ」 という物理的相補関係。
- 緑線が連続して走るところに赤点が一定間隔で並ぶパターンが各所で観察可能。
これは「堤防 100m に開口部 1-2 箇所」 の物理的密度を視覚化。
- 島嶼部の自然海岸 (倉橋島・大崎上島・生口島・因島) では赤点 (L65) が単独で見られる箇所がある。
これは堤防無しの陸閘 = 道路を直接遮断する開口部閉鎖装置。
- 非沿岸内陸 (北部山地) では両系統とも完全に皆無 = 海岸防御の対象外。
- 件数: L64 + L65 統合で 4320 件 =
広島県沿岸の防護網全体の物理的全貌。静的 (1645) + 動的 (2675) = 完全防御。
- 政策的含意: 静的のみ / 動的のみの片方では沿岸防御は完結しない。
静的は連続を担保し、動的は開口部を塞ぐ。「動 + 静 = 完全」の沿岸防御戦略を視覚的に確認。
表: L64 (静) vs L65 (動) 動静比較
| 項目 |
L64 静的施設 (海岸保全) |
L65 動的施設 (防潮扉) |
| 件数 |
1645 件 |
2675 件 |
| 件数比 (L65 / L64) |
1.00 (基準) |
1.63 |
| 施設の動作 |
常時連続防御 (= 静的) |
閉鎖時開口部防御 (= 動的) |
| 主役施設 |
護岸 (約 90%) |
陸閘 (81%) |
| 整備位置 |
海岸線そのもの (連続) |
堤防の開口部 (点) |
| 形状 |
LineString / MultiPolygon (線/面) |
POINT (点) |
| 操作 |
操作不要 (受動防御) |
人手 or 自動制御で開閉 |
| 故障モード |
経年劣化 / 越波 / 倒壊 |
閉め忘れ / 操作遅れ / 開閉不良 |
| 根拠法 |
海岸法 (1956) |
海岸法 + 港湾法 等 (施設の所管法) |
| 点検頻度の重要性 |
中 (構造劣化の確認) |
高 (= 操作試験 + 訓練必須) |
| dataset_id |
1253 |
1249 (本記事) |
| 教材 |
L64 (既扱) |
L65 (本記事) |
この表から読み取れること: 動静の差は形状 (LineString vs POINT) と 操作 (受動 vs 能動) と 故障モード (劣化 vs 操作不良) で対照的。 同じ海岸法系の管理対象でも、運用思想が根本的に異なる。 動的施設は「平時に操作能力を維持する」ことが、静的施設は「平時に物理状態を維持する」ことが 防御能力の鍵。
表: 市町別 L64 vs L65 件数比較 (Top 13)
| 市町名 |
L64_件数 |
L65_件数 |
合計 |
L65_倍率 |
| 尾道市 |
160 |
509 |
669 |
3.18 |
| 呉市 |
105 |
444 |
549 |
4.23 |
| 広島市 |
37 |
384 |
421 |
10.38 |
| 江田島市 |
50 |
330 |
380 |
6.60 |
| 福山市 |
80 |
212 |
292 |
2.65 |
| 大崎上島町 |
0 |
268 |
268 |
- |
| 廿日市市 |
51 |
145 |
196 |
2.84 |
| 三原市 |
36 |
116 |
152 |
3.22 |
| 竹原市 |
17 |
91 |
108 |
5.35 |
| 東広島市 |
1 |
76 |
77 |
76.00 |
| 坂町 |
3 |
53 |
56 |
17.67 |
| 大竹市 |
10 |
32 |
42 |
3.20 |
| 海田町 |
0 |
3 |
3 |
- |
この表から読み取れること: 主要沿岸市町は L64 + L65 の両方が多く、動静の重層防護を実現。尾道市 はL65 動的が L64 静的の 3.18 倍 = 開口部の多さを反映。L65 倍率が市町ごとに変動するのは、沿岸地形 (連続堤防の長さ vs 開口部数) のバランス差を反映。
仮説検証総合
本記事の 5 仮説と観測結果の照合:
| 仮説 |
観測値 |
判定 |
解釈 |
| H1 陸閘シェア ≥ 80% (RQ1) |
観測 = 81.31% (陸閘 = 2175 / 2675) |
強支持 |
H1 強支持: 陸閘が 81.3% を占める極端な構造分極。これは「堤防を横断する道路の開口部を閉じる」 という防潮扉の本旨を反映。角落し (360 件 = 13.5%) が 2 番手で簡易閉鎖型、樋門 (45 件) は排水兼用、招扉 (29 件) は漁港の小型風雨対策用。陸閘の支配は道路網と海岸防護のクロスポイントの多さを定量化。 |
| H2 Top 3 市町 ≥ 40% (RQ1) |
観測 = 50.0% (Top 1: 尾道市 509件, Top 2: 呉市 444件, Top 3: 広島市 384件) |
強支持 |
H2 強支持: 上位 3 市町で 50% を占める偏在型分布。尾道市 は多島海 + 旧来の港湾密集、呉市 は軍港由来の長大堤防 + 道路横断、広島市 は都市部沿岸 + 干拓地が動的施設整備を支配。 |
| H3 高潮カバー > 津波カバー (RQ2) |
観測 高潮 = 72.7% / 津波 = 55.0% / 差 = +17.7 pt |
強支持 |
H3 強支持: 高潮想定内扉率 (73%) > 津波想定内扉率 (55%)。これは防潮扉が高潮防御を主目的に整備されてきた歴史的経緯を反映。L64 (静的施設) でも同方向の差が観測され (+22.4 pt), 静的 + 動的の両系統で「高潮主目的」 の制度時間差が刻まれる共通構造を確認。 |
| H4 L65/L64 件数比 ≥ 1.5 (RQ3) |
観測 = 1.63 (= L65 2675 / L64 1645) |
強支持 |
H4 強支持: 動的施設件数比 = 1.63。動的施設は「開口部 1 箇所毎に 1 つ必要」のため密に分布、静的施設は「連続 1 本で長距離をカバー」するため疎に分布する性質の差を定量化。L65 が L64 の 1.6 倍程度の件数を持つ事実は、「沿岸 km あたりの管理対象数」の動静差を意味する。 |
| H5 港湾系シェア ≥ 70% (RQ3) |
観測 L65 = 79.2% / L64 = 86.6% |
強支持 |
H5 強支持: L65 港湾系所管 (港湾 + 漁港) シェア 79%。L64 (87%) と整合。 静的 + 動的の両系統が同じ港湾系所管に集中している = 同じ管理者 (港湾管理者 + 漁港管理者) が静的 + 動的の 2 系統を運用する制度設計。これは『開ける扉と閉まる堤防は同じ人が守る』 という運用合理性を反映。 |
3 RQ × 3 結論
- RQ1 結論: 広島県の防潮扉は2675 件 / 13 市町 / 220 地区海岸 / 5 種類 / 5 所管 の 多次元構造。陸閘 81% が圧倒的主役 (H1 強支持) で、「堤防を横断する道路の開口部を閉じる」 という防潮扉の本旨を反映。上位 3 市町 (尾道市 / 呉市 / 広島市) で 50% (H2 強支持) = 偏在型分布。地形類型 (多島海 + 軍港由来 + 都市沿岸) が動的施設整備を支配。
- RQ2 結論: 防潮扉の73%が高潮想定内、55%が津波想定内。差 = +17.7 pt (H3 強支持) = 高潮カバーが津波カバーを上回る。L64 (静的, +22.4 pt) と同方向の差を観測 = 動静両系統で「高潮主目的整備」 の歴史的痕跡が共通。両方想定内 (52%) の多重ハザード地点は閉鎖時防御最重要、どちらも外 (25%) は高所沿岸 + 内陸寄り扉。
- RQ3 結論: L64 (静) vs L65 (動) 件数比 = 1.63 (H4 強支持) = 動的施設が静的施設の 1.6 倍。L64 港湾系シェア 87% vs L65 港湾系シェア 79% = 両方とも 7 割以上 (H5 強支持) で同じ管理者群が動静両系統を運用。L64 + L65 統合で 4320 件 = 広島県の海岸防御網全体。「動 + 静 = 完全」の沿岸防御戦略を初めて空間データで定量化。
動的施設の本質と運用上の含意
本研究の最重要発見は「動静密度比 = 1.63」と 「港湾系所管シェア L64/L65 同程度」の 2 点。前者は静的整備の 1.6 倍の操作員 + 訓練リソースが必要であることを意味する。後者は同じ管理者群が動静両系統を一体運用している制度設計を反映。これらは防災行政の「動的防御の運用コスト見積もり」と 「動静一体管理」という新たな研究テーマを開く。
動的施設の防御能力は「物理的耐久性 × 操作の確実性」の積で決まる。L65 の1659 件 (73%) が高潮想定内に位置する事実は、これらの扉の閉鎖が高潮被害を直接左右することを意味する。閉め忘れ・操作遅れ・開閉不良がそのまま被害に直結するため、想定エリア内扉のリストは避難計画 + 操作優先順位の基礎資料となる。
動静 2 系統の制度的位置付け
L64 (静的, 海岸法 1956) と L65 (動的, 海岸法 + 各施設所管法) は同じ法体系の異なる物理形態。海岸法は施設の用途 (= 海岸保全) を規定するが、具体的な施設形態 (= 静か動か) は地形と道路網の物理的必然で決まる。連続堤防が必要な海岸では L64 が、堤防を貫通する道路 + 排水路がある海岸では L65 が必要になる。両者は二者択一ではなく相補的に整備される。本研究のデータはこの相補関係を 2,675 + 1,645 = 4,320 件の実データで初めて定量化した。
発展課題
結果 X → 新仮説 Y → 課題 Z (3 RQ × 1 課題以上)
発展課題 1 (RQ1 由来): 整備年代と扉老朽化の分析
- 結果 X: 本データには整備年代列が無いので、本研究では年代分析は未実施。
しかし「過半は 2011 年以前」 と推定される (= 海岸法時代)。
動的施設は機械要素 (扉本体 + 可動部 + 駆動装置) の老朽化が静的施設より速い。
- 新仮説 Y: 整備後 30 年以上経過した陸閘は機械的故障率が顕著に上昇し、
「閉まらない」 「動かない」 リスクが高い。
特に1960-1980 年代の高度成長期に集中整備された陸閘は、
塩害 + 潮風腐食 + 駆動部摩耗で耐用年数 30-40 年を超えて運用されている可能性。
- 課題 Z: 広島県の長寿命化計画 公文書から整備年代をマッチング →
老朽化リスクスコアを各扉に付与 → 高潮想定内 + 老朽 = 緊急対策候補リストを作成。
「老朽化 + ハザード + 動的故障率」 のクロスリスク地理学として展開。
発展課題 2 (RQ1 拡張): 扉の規模 (高さ・幅) と操作機構のスコア化
- 結果 X: 本研究では種類 (5 区分) で分類したが、実際の扉サイズ・操作機構 (= 自動 / 手動)
は未取得。同じ「陸閘」 でも 1m 級と 5m 級では性能 + 操作性が桁違い。
- 新仮説 Y: 扉サイズ + 自動/手動 区分を組み合わせて「閉鎖速度スコア」を算出可。
自動扉は遠隔操作 = 数分で閉鎖、手動扉は現地操作員 = 数十分。
警報発令から扉閉鎖までの時間差が被害規模を左右する。
- 課題 Z: 維持管理データ (=本データに含まれる「維持管理情報」 の詳細別ファイル想定) から
扉サイズ + 操作機構を取得 → 閉鎖速度スコア算出 →
高潮警報発令から閉鎖完了までの時系列シミュレーション。
「動的防御の時間応答性」として展開。
発展課題 3 (RQ2 由来): 「想定エリア + 扉なし」 の沿岸線の同定
- 結果 X: 本研究では「想定 + 扉」 の重なりを集計したが、「想定 - 扉」 = 想定エリア内で扉の無い沿岸線は
未抽出。これは動的防御の隙間として最重要なエリア。
- 新仮説 Y: L44 高潮想定 polygon の沿岸境界線を抽出し、
その境界線上の道路横断箇所で 100 m 以内に扉が無いセグメントは「未動的防御開口部」として
重点整備候補になる。これは沿岸長 km 単位で定量化可能。
- 課題 Z:
l44_max.boundary で polygon 境界線を取得 →
OSM の道路データと交差判定 → 各交差点から最近傍扉までの距離を
shapely.STRtree で計算 → 未防御交差点を地図化。
市町別に未防御交差点数を集計し、「動的防御未整備度ランキング」を作成。
「動的防御の地理的隙間学」として展開。
発展課題 4 (RQ3 由来): L64 + L65 の連携 — 同一沿岸線上での分担検証
- 結果 X: 本研究では L64 + L65 が主要港湾エリアで重複することを地理的に確認したが、
「L64 静的線の途中に L65 動的点が均等に並ぶ」という予想を厳密に検証していない。
- 新仮説 Y: L64 line に対して L65 point が一定間隔 (= 100-300 m) で並ぶ分布が観測される。
これは「堤防 100-300m に開口部 1 箇所」 の物理的密度を意味する。
逆に L64 line から離れた孤立 L65 point は「堤防無しの単独陸閘」 = 道路直接遮断装置。
- 課題 Z: 各 L65 point から最近傍 L64 line までの距離を計算 →
ヒストグラムで「近接 (< 50m) vs 孤立 (> 100m)」 を分類 →
孤立 L65 の地理分布 + 機能解釈 (= 道路直接遮断装置) を可視化。
「L64 + L65 の物理的相補関係」として展開。
発展課題 5 (RQ3 拡張): L62 避難情報との連動
- 結果 X: 本データは扉の物理的位置のみで、閉鎖タイミング (= 何時間前に閉鎖開始) は未取得。
避難情報 (L62) と扉閉鎖は連動するが、その時系列は別データ。
- 新仮説 Y: 高潮警報発令時刻 → 防潮扉閉鎖開始時刻 → 完全閉鎖時刻 → 避難勧告発令時刻 の
4 段階タイムラインが地域ごとに固定されている。閉鎖完了が避難開始の前提条件になる場合あり。
- 課題 Z: 広島県の防災業務マニュアルから扉閉鎖トリガーを抽出 →
L62 避難情報の発令タイムラインとマッチング → 動的防御 + 避難情報の時系列モデル化。
「動的防御 - 避難情報 連動運用学」として展開。
発展課題 6 (RQ2 + L40 連携): 標高 + 扉位置の統合分析
- 結果 X: 本研究では扉の地理位置のみ扱い、標高は未利用。
高潮想定内扉の標高がどう分布するかは未確認。
- 新仮説 Y: 防潮扉は低標高 (≤ 5m) に集中するが、扉種類別に分布が異なる。
陸閘 (= 道路上) は道路標高に従い、樋門 (= 排水路上) は排水路標高に従う。
標高分布から「どの扉がより危険な低地に位置するか」 が分かる。
- 課題 Z: L40 の5m DEMから各扉 POINT の標高を抽出 →
種類別 + 高潮率別ヒストグラム → 「標高分布の種類差 + 高潮重なり差」を統計検定。
「標高 + 種類 + ハザード」 の 3 軸統合分析として展開。
発展課題 7 (展望): 全国防潮扉データとの瀬戸内海特性比較
- 結果 X: 本研究は広島県 1 県の 2675 件を扱ったが、全国比較は未実施。
他県 (静岡・高知・宮城等) の防潮扉と比較すれば、瀬戸内海の特性が浮き彫り。
- 新仮説 Y: 瀬戸内海諸県 (広島・岡山・香川・愛媛) の防潮扉は太平洋諸県 (静岡・高知) に比べ
(a) 件数が多く密配置、(b) 陸閘比率がさらに高い、(c) 沿岸 km あたりの扉密度が高い。
これは瀬戸内海の地形 (= 多島海 + 内海) と都市 + 港湾密集を反映する。
- 課題 Z: 国交省 + 各都道府県の防潮扉データを取得 → 種類別シェアで標準化 →
県別 陸閘シェア・沿岸長あたり密度を比較。「瀬戸内海動的防御の地形特殊性」を統計化。
L64 (海岸保全) の瀬戸内海特性と組み合わせ、「瀬戸内海防災学」の総合フレームへ展開。