Lesson 46
L46 砂防関係指定地 3 件統合分析 — 砂防三法 (砂防法・地すべり等防止法・急傾斜地法) 指定地構造を読み解く
砂防三法砂防指定地急傾斜地崩壊危険区域地すべり防止区域行為制限warning vs designatedgeopandasShapefileCSV
所要 60〜90 分 / 想定レベル: リテラシ〜中級 (geopandas/Shapefile-CSV 並列分析/制度比較) / データ: DoBoX dataset 55, 56, 57 (砂防指定地 + 急傾斜地崩壊危険区域 + 地すべり防止区域) — Shapefile 5.2 MB + CSV 0.45 MB + Shapefile 0.02 MB
データ取得手順
⚠️ このスクリプトは自動取得に対応していません。以下のデータセットを DoBoX から手動でダウンロードし、data/extras/ 以下に保存してください。
| ID | データセット名 |
| #55 | 砂防関係指定地情報_砂防指定地 |
| #56 | 砂防関係指定地情報_急傾斜地崩壊危険区域 |
| #57 | 砂防関係指定地情報_地すべり防止区域 |
| #333 | dataset #333 |
| #666 | dataset #666 |
実行コマンド:
cd "2026 DoBoX 教材"
python -X utf8 lessons/L46_sabo_designation.py
DoBoX のオープンデータは申請不要・商用/非商用とも利用可。
data/extras/ は .gitignore 対象(約 57 GB のキャッシュ)。
スクリプト実行で自動再生成されます。
学習目標と問い
本レッスンでは、広島県オープンデータ DoBoX が公開する
砂防関係指定地情報シリーズ 3 dataset (id = 55, 56, 57) を統合し、
砂防三法 (砂防法・地すべり等防止法・急傾斜地法) に基づく 3 種の指定地の
制度的・地理的構造を分析する。
独自用語の定義 (本記事内での使用)
- 砂防三法: 土砂災害防止のための 3 つの古典的法律。施行順に
砂防法 (1897 年/明治 30 年)、
地すべり等防止法 (1958 年/昭和 33 年)、
急傾斜地法 (1969 年/昭和 44 年)。
対象現象が異なり (土石流 / 地すべり / がけ崩れ)、
管理者・指定権限・行政区分も異なる独立した制度。
- 砂防指定地: 砂防法に基づき「治水上砂防のため必要な土地」として
国土交通大臣 (1 級水系直轄区間) または県知事が指定する区域。
指定後は切土・盛土・伐採等が許可制となる行為制限が課される。
広島県内 3,207 polygon + 93 line。
- 急傾斜地崩壊危険区域: 急傾斜地法に基づき「傾斜度 30°以上、
高さ 5 m 以上、被害想定家屋 5 戸以上」等の要件を満たす急斜面で
県知事が指定する区域。崩壊原因となる行為 (切土・水流変更等) が制限される。
広島県内 2,933 件。
- 地すべり防止区域: 地すべり等防止法に基づき「地すべりが発生中または
発生するおそれが極めて大きい」区域。
建設省 (現国交省) ・林野庁・農水省の三省共管制度であり、
対象地が建設用地・山林・農地で管理省庁が変わる特殊な法律。
広島県内 39 件のみと極少数。
- 「指定地」と「警戒区域」の制度的差 (本記事の核心概念):
- 指定地 (本記事 55/56/57): 砂防三法に基づく区域。
許認可なしに切土・盛土・伐採等ができない強い行為制限を伴う。
指定権限は国・県知事。
- 警戒区域 (L11 で扱う土砂災害警戒区域): 土砂災害防止法 (2000) に基づく区域。
危険情報の公示・宅地建物取引時の説明義務のみで行為制限なし。
指定権限は県知事だが審査基準は緩い。
両者は同じ「土砂災害」を扱うが制度的厳しさが質的に違う。
本記事は指定地に焦点を絞り、L11 と非合体に分析する。
- 水系区分: 砂防指定地のメタ列
suikei_gr は
1 級水系 (1,446 件,
太田川・小瀬川・芦田川・沼田川・高梁川等)、
2 級水系 (875 件)、
その他 (868 件) の 3 区分。
1 級水系は国交省直轄、2 級は県、その他は市町村関与等で管理者が異なる。
主 RQ (研究の問い)
広島県の砂防三法 (砂防法・地すべり等防止法・急傾斜地法) に基づく 3 種の指定地は、
件数規模・地理範囲・対象市町・指定の時代でどう異なり、
なぜそのような「制度の三国志」の構造が生まれたのか?
さらに「警戒区域」(L11 既扱) との制度的差をデータでどう読めるか?
仮説 H1〜H6 (本記事で検証する)
- H1 規模 100 倍非対称: 件数で 砂防 (3,207) >> 急傾斜 (2,933) >> 地すべり (39)、
地すべりは他 2 種の 1/75 以下。対象現象の発生頻度差 + 指定の制度的厳しさ差の 2 重作用と予測。
- H2 法律 → 地理パターン分離: 各法律の支配市町は明確に別:
砂防 (中山間+沿岸広域)、急傾斜 (呉市集中軍港背後の急斜面住宅地)、
地すべり (庄原・福山集中地質依存の地すべり地形)。
- H3 時代の制度展開: 中央指定年で並べると砂防 → 地すべり → 急傾斜の順。
これは立法順序 (1897→1958→1969) と整合。地すべりは 2006 年で新規指定停止と予測。
- H4 指定地 vs 警戒区域 ~10 倍差: L11 の警戒区域 (急傾斜 29,756 / 地すべり 127 /
土石流 13,337) は本記事の指定地の各 10 倍規模。
これは「警戒区域=情報公示」と「指定地=行為制限」の制度厳しさの差を直接示す。
- H5 データ形式の不均一: 砂防 (Shapefile + 戦前 line)、急傾斜 (CSV 点のみ)、
地すべり (Shapefile 少数高品質) — 同じシリーズを名乗りながら整備優先度が違う。
- H6 呉市の急傾斜集中: 呉市単独で急傾斜全体の 40% 以上を占める。
軍港都市の急斜面住宅地拡張史 (明治以降の人口圧 → 急斜面開発) のデータ的帰結。
到達点
3 dataset を市町・水系・指定種別・時代でクロスし、6 仮説を量的に検証する。
学習者は (a) 異種形式 (Shapefile + CSV) の並列読込、
(b) 「同じシリーズ」を名乗りながら制度的に独立な 3 dataset を扱う際の
分析設計、(c) 砂防三法という歴史と地理が交錯する制度群を
データで読み解く視座、を体得する。
厳密性の宣言: 本記事は L10 (土砂災害警戒区域 cross), L11 (トリプルハザード)
と厳密に独立。両者は警戒区域 (情報公示制) を扱うが、本記事は指定地
(行為制限制) を扱う。同じ土砂災害というドメインだが、法的位置づけが質的に違う。
L39 (傾斜) や L40 (標高) で扱う地形ラスタとも別物。
比較対照として L11 の警戒区域件数を一部参照するが、ジオメトリ処理は行わず件数比較のみ。
使用データ
本記事は DoBoX の「砂防関係指定地情報」関連 3 dataset を統合する:
- 55 砂防関係指定地情報_砂防指定地 (Shapefile)
[DoBoX dataset 55] —
polygon 3,207 件 + line 93 件 (戦前指定は line 形式で残存)
- 56 砂防関係指定地情報_急傾斜地崩壊危険区域 (CSV)
[DoBoX dataset 56] —
2,933 件 (緯度経度 1 点のみ、ポリゴン未整備)
- 57 砂防関係指定地情報_地すべり防止区域 (Shapefile)
[DoBoX dataset 57] —
polygon 39 件のみ
表 (1) — 3 dataset の仕様サマリ
| dataset_id |
シリーズ |
形式 |
サイズ |
件数 |
根拠法律 |
対象現象 |
管理者 |
本記事での役割 |
| 55 |
砂防関係指定地情報_砂防指定地 |
Shapefile (Polygon + Line) |
5.2 MB (ZIP) |
polygon 3,207 + line 93 |
砂防法 (1897, 明治 30 年) |
渓流の土石流 |
国交省 + 県 (1 級水系直轄区間は国) |
面・線で表現された行為制限区域 (戦前指定は line として残存) |
| 56 |
砂防関係指定地情報_急傾斜地崩壊危険区域 |
CSV (緯度経度 1 点) |
0.45 MB |
2,933 行 |
急傾斜地法 (1969, 昭和 44 年) |
30°以上急斜面崩壊から人家を守る |
県 + 市町村 |
ポリゴン未整備のため点データのみ。代表点で位置を特定 |
| 57 |
砂防関係指定地情報_地すべり防止区域 |
Shapefile (Polygon) |
0.02 MB (ZIP) |
39 件 |
地すべり等防止法 (1958, 昭和 33 年) |
地すべり地形の進行抑止 |
国交省 (建設) + 林野庁 (山林) + 農水省 (農地) — 三省共管 |
極少数だが高品質な polygon。三省共管制の特殊性を映す |
この表から読み取れること:
(1) 形式が 3 種それぞれ違う (Shapefile poly+line / CSV / Shapefile poly のみ) — 同じ
「砂防関係指定地情報」シリーズを名乗りながらデータ整備の優先度が異なる。
(2) サイズが 250 倍差 (55: 5.2 MB ≫ 57: 0.02 MB) — これは件数差を反映するが、
57 は polygon 1 件あたりの geometry 詳細度は 55 と同等であり、件数自体が圧倒的に少ない。
(3) 根拠法律は 112 年差 (1897 vs 2009 のような新法ではない、1897 vs 1969 = 72 年差) で、
日本の砂防行政の歴史的層がデータに刻まれている。
(4) 地すべり防止区域の三省共管 (国交+林野+農水) は他 2 法にない特殊性で、
これが指定数を抑える制度的要因の 1 つと推測される。
表 (2) — 処理 STEP 段階表 (要件 K Before/After)
| 段階 |
内容 |
サイズ/件数 |
| STEP 0 |
3 dataset を独立に読込 |
55=3,207+93, 56=2,933, 57=39 |
| STEP 1 |
EPSG:6668/EPSG:4326 → EPSG:6671 (m 単位) 投影変換 |
砂防/地すべり/急傾斜 すべて |
| STEP 2 |
55: polygon area, line length 計算 |
area sum 17,551 ha, line sum 141.1 km |
| STEP 3 |
57: polygon area 計算 + 列名 col01-col10 を意味的列名にリネーム |
area sum 526.1 ha |
| STEP 4 |
56: 1 件不正レコード除外 + 緯度経度→Point geometry 化 |
2,935 → 2,933 行 |
| STEP 5 |
市町別 / 水系別 / 種別 / 時代別の集計表を作成 |
市町別 30 / 水系別 84 / 時代別 13 |
| STEP 6 |
L11 警戒区域の件数を読み込み、3 種比較表を作成 (面積処理は行わない) |
急傾斜 29,756, 地すべり 127, 土石流 13,337 (件数のみ) |
この表から読み取れること:
3 dataset は結合 (merge) 不要な独立した行政台帳である。
そこが本記事と L45 (ため池) との大きな違い: L45 は CSV と SHP が「同じ池の異なる断面」
として merge できたが、L46 の 3 dataset は「別の現象を別の法律で別に管理」
した別物。よって本記事は merge ではなく「並列分析と比較」が中心となる。
形式の詳細
- 砂防指定地 (55): Shapefile, CRS = EPSG:6668 (JGD2011 地理座標)。
属性 =
id, type_nm (砂防指定地), suikei_gr (1級/2級/その他),
suikei_nm (太田川等), kansen_nm (幹川名),
keiryu_nm (渓流名), city, ooaza, aza,
sitei_ymd (指定年月日), kokuzi_no (告示番号),
sitei_type (新規/追加/指定変更)。polygon と line の 2 ファイル:
polygon は近代以降の図化された区域、line は戦前 (1947 以前) の指定で図化が
不完全な区域と推定される (戦前データの保存形態)。
- 急傾斜地崩壊危険区域 (56): UTF-8 BOM 付き CSV。
列 =
履歴ID, 砂防関係指定地の種類 (= 急傾斜地崩壊危険区域 固定),
区域名 (江波二本松地区等), 県, 市区郡町, 大字,
字, 指定年月日, 告示番号, 指定種別,
緯度, 経度。ポリゴン未整備のため位置は
区域代表点 1 点でしか分からない。1 件不正レコード (履歴ID 列に区域名が入る) を除外。
- 地すべり防止区域 (57): Shapefile, CRS = EPSG:6668。
属性列名は
col01〜col10 という一般的命名 (本記事内で
id, type_nm, kuiki_nm, prefecture, city, ooaza, aza, sitei_ymd, kokuzi_no, sitei_type
に意味的にリネーム)。
たった 39 件しかなく、しかも庄原 14 + 福山 11 で 64% を占める地理的偏りがある。
ダウンロード(再現用データ・中間データ・図)
HTML から直接以下を取得できる:
(A) DoBoX 直リンク (3 dataset)
(B) PowerShell 一括取得 (再現用)
cd "2026 DoBoX 教材"
mkdir -Force data\extras\L46_sabo_designation
iwr "https://hiroshima-dobox.jp/resource_download/76" -OutFile "data\extras\L46_sabo_designation\sabo_designation_55_sabo_shitei.zip"
iwr "https://hiroshima-dobox.jp/resource_download/22822" -OutFile "data\extras\L46_sabo_designation\sabo_designation_56_kyukeisha_kuiki.csv"
iwr "https://hiroshima-dobox.jp/resource_download/22823" -OutFile "data\extras\L46_sabo_designation\sabo_designation_57_jisuberi_boushi.zip"
# ZIP 展開 (55 と 57 のみ)
Expand-Archive -Force "data\extras\L46_sabo_designation\sabo_designation_55_sabo_shitei.zip" "data\extras\L46_sabo_designation\sabo_designation_55_sabo_shitei"
Expand-Archive -Force "data\extras\L46_sabo_designation\sabo_designation_57_jisuberi_boushi.zip" "data\extras\L46_sabo_designation\sabo_designation_57_jisuberi_boushi"
# 本記事スクリプト (~30 秒)
py -X utf8 lessons\L46_sabo_designation.py
(C) 中間データ・図 (本記事生成物の直リンク)
分析 1: 規模 100 倍非対称 — 3 dataset の件数構造
狙い (RQ ↔ 仮説 H1)
3 dataset の件数を比較し、「同じ砂防関係指定地」シリーズを名乗りながら
規模が桁レベルで違う構造を量化する。これは砂防三法の制度的非対称の最も基礎的な指標であり、
後続分析の出発点となる。
手法 — 単純カウントと比率
各 dataset を独立に読み込み、行数 / polygon 数 / point 数を取得する。
最少件数 (地すべり 39) を分母として、他 2 種の倍率を計算する。
件数を log 軸の横棒グラフで表示することで、3 桁の差を視覚化する。
log 軸の選択理由 (要件 H, J):
線形軸でグラフを描くと、最大件数 (3,207) が最少件数 (39) を圧倒し、
地すべりの棒が事実上見えなくなる。log 軸では「桁」がそのまま視覚化されるので、
3 dataset の規模オーダーを一目で比較できる。
実装コード
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 | import geopandas as gpd
import pandas as pd
# 砂防指定地 (55) - Shapefile
g55_poly = gpd.read_file('data/extras/L46_sabo_designation/.../砂防指定地-ポリゴン.shp')
g55_line = gpd.read_file('data/extras/L46_sabo_designation/.../砂防指定地-ライン.shp')
# 急傾斜地 (56) - CSV
df56 = pd.read_csv('data/extras/L46_sabo_designation/sabo_designation_56_kyukeisha_kuiki.csv')
# 1 件不正レコードを除外 (履歴ID 列に区域名が入っている)
df56 = df56[df56["砂防関係指定地の種類"] == "急傾斜地崩壊危険区域"]
# 地すべり (57) - Shapefile
g57 = gpd.read_file('data/extras/L46_sabo_designation/.../地すべり防止区域.shp')
# 件数比較
n_55, n_55l, n_56, n_57 = len(g55_poly), len(g55_line), len(df56), len(g57)
ratio_55_57 = n_55 / n_57
ratio_56_57 = n_56 / n_57
print(f"砂防 {{n_55:,}} : 急傾斜 {{n_56:,}} : 地すべり {{n_57}} = "
f"{{ratio_55_57:.0f}} : {{ratio_56_57:.0f}} : 1")
|
結果の図
図 1 を選んだ理由: 4 つの数値 (55-poly, 55-line, 56, 57) を比較するなら、
小数の棒グラフで十分。log 軸にすることで桁差を視覚化し、
件数を棒の右に明示することで「視覚的な差」と「実数」の両方が読める。
図 1 から読み取れること:
- 地すべり防止区域 (39 件) は他 2 種の 1/75 以下。
これは「地すべり地形は地質に強く依存し県内発生地が限定」+
「三省共管制で指定手続きが煩雑」の 2 重作用と推測される。
- 砂防指定地は polygon 3,207 件 + line 93 件で、
戦前指定 (93 件) が現代まで line として保存されている。
これは砂防法 (1897) の歴史的厚みを示す。
- 急傾斜地 (2,933 件) は砂防指定地と同オーダーだが、ポリゴン未整備で点データのみ。
これは「県・市町村が指定した区域図を電子化する優先度が低い」
行政内部の事情を反映する。
- 仮説 H1 を強支持: 砂防 82 : 急傾斜 75 : 地すべり 1
= 規模 100 倍非対称が確認された。
結果の表 (1) — 全体サマリ
| 指標 |
値 |
| 砂防指定地 (55) — ポリゴン件数 |
3,207 件 |
| 砂防指定地 (55) — ライン件数 |
93 件 |
| 砂防指定地 (55) — ポリゴン総面積 |
17,550.8 ha (175.51 km²) |
| 砂防指定地 (55) — ライン総延長 |
141.1 km |
| 急傾斜地崩壊危険区域 (56) — 件数 (点) |
2,933 件 (緯度経度 1 点のみ, ポリゴン未整備) |
| 地すべり防止区域 (57) — 件数 |
39 件 |
| 地すべり防止区域 (57) — 総面積 |
526.1 ha (5.26 km²) |
| 対象市町数 (砂防 55) |
29 市町 |
| 対象市町数 (急傾斜 56) |
30 市町 |
| 対象市町数 (地すべり 57) |
10 市町 |
表 (1) から読み取れること:
- 砂防指定地 polygon の総面積 17,551 ha = 175.5 km²
は、広島県全体面積 (約 8,479 km²) の 2.07%。
これは「行為制限地」としては限定的だが無視できない規模。
- 地すべり防止区域は面積で見ると 526 ha しかなく、
平均面積 13.5 ha (= 0.134 km²) と
個々の区域は中規模。件数は少ないが個々の区域は意味のある広さを持つ。
- 砂防指定地 line 141.1 km は河川延長相当。
これは「戦前指定の渓流」が県内 93 箇所、合計 141 km 線状に
残されていることを示す。
結果の図 (2) — 3 種指定地 全県重ね合わせマップ
図 2 を選んだ理由: 件数比較 (図 1) で3 種の規模差を見たあと、
地理空間でどう分布しているかを 1 枚で見ておくと、後続の分析 2-6 への伏線になる。
3 種を別の色 (緑面 / 濃緑線 / 赤点 / 黄面) で重ねることで、
「同じ県の同じ砂防三法でも分布パターンが異なる」ことが直感的に分かる。
図 2 から読み取れること:
- 緑面 (砂防指定地 poly) は県全域に分散、特に中山間〜沿岸の渓流で点在。
- 赤点 (急傾斜地) は沿岸都市部 (呉市・尾道市・福山市等) に強く集中。
内陸山間にはほとんど分布しない。
- 黄面 (地すべり) は北東部 (庄原市) と南東部 (福山市) に集まる2 ホットスポット構造。
地質的に限定された分布。
- 濃緑線 (砂防 line) は北部山間に偏って分布 = 戦前指定の渓流の残存。
- 3 種が地理的に明確に分離している = 「同じ砂防シリーズでも対象現象が地形依存」
という構造の確認 (仮説 H2 の伏線)。
分析 2: 法律 → 地理パターン分離 — 3 種の市町集中構造
狙い (RQ ↔ 仮説 H2)
3 種の指定地がどの市町に集中しているかを比較する。
法律ごとに対象現象が異なる (土石流 / がけ崩れ / 地すべり) ので、
地形的・地質的に発生しやすい市町と歴史的に人口が集中した市町の
2 つの軸で分布が分かれるはずである。
手法 — 市町別 stacked bar + 占有率計算
3 dataset を市町列で value_counts() し、
外側結合 (outer join) で「ある dataset には現れるが他には現れない」市町も保持する。
スタックバーで 3 種の積み上げを表示し、上位市町の3 種混在比率を比較する。
外側結合 (outer join) の選択理由 (要件 K):
内側結合 (inner) を使うと、3 dataset すべてに該当する市町だけが残り、
たとえば地すべり防止区域がない 19 市町が消えるので公平な比較ができない。
outer join で全市町 (32 程度) を保持し、欠損は 0 で埋めるのが正しい。
実装コード
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 | import pandas as pd
# 各 dataset から市町列の value_counts
city_55 = g55_poly["city"].value_counts().rename("砂防_件").to_frame()
city_55["砂防_面積ha"] = g55_poly.groupby("city")["area_ha"].sum()
city_56 = g56["市区郡町"].value_counts().rename("急傾斜_件").to_frame()
city_57 = g57["city"].value_counts().rename("地すべり_件").to_frame()
# outer join で全市町を保持
city_summary = (
city_55.join(city_56, how="outer")
.join(city_57, how="outer")
.fillna(0)
)
city_summary["三法合計件"] = (city_summary["砂防_件"]
+ city_summary["急傾斜_件"]
+ city_summary["地すべり_件"])
city_summary = city_summary.sort_values("三法合計件", ascending=False)
print(city_summary.head(10))
|
結果の図 (1) — 市町別 stacked bar
図 3 を選んだ理由: stacked bar は「合計と内訳の比率」を 1 図で示す定番手法。
市町の長い名前 (広島市安佐南区等) は横棒の方が読みやすい。
図 3 から読み取れること:
- 呉市 (1,701 件) が圧倒的 1 位で、
内訳は急傾斜 1,184 件 (赤)
が 9 割超を占める異常な比率。砂防 516 件は中位。
- 2 位以下 (広島市安佐北区・三次市・広島市佐伯区等) は砂防が支配的 = 中山間・山間部の渓流多数。
- 地すべり防止区域 (黄) は数市町にしか棒が見えない: 庄原市 14 / 福山市 11 / 安芸太田町 3 / 尾道市 3 など。
- 仮説 H2 を強支持: 法律ごとに支配市町が明確に分離。
「土石流は山間に分散」「がけ崩れは沿岸都市集中」「地すべりは地質依存」の構造。
結果の図 (2) — 急傾斜地点マップ (呉市集中強調)
図 4 を選んだ理由: 呉市集中の地理を見るには地図がベスト。
呉市点を赤、それ以外を灰色にすることで、地理的偏りが一目で分かる。
図 4 から読み取れること:
- 呉市 (1,184 点 = 40%)
が他市町を圧倒。広島湾東岸の狭い地域に集中分布。
- 赤点が呉市内で線状に分布するのは、海岸線に並行する急斜面の麓に
住宅街が長く伸びている地形を反映 (= 戦前から続く軍港背後の住宅地拡張史)。
- 沿岸島嶼 (江田島・大崎上島等) も急傾斜地が多い: 瀬戸内海の島は急斜面に住宅が立つ典型地形。
- 北部山間 (三次・庄原・北広島) には急傾斜地がほぼ無い = がけ崩れの「人家近接」要件を満たさないため。
結果の表 — 上位 15 市町
| 市町 |
砂防_件 |
砂防_面積ha |
砂防_線件 |
砂防_線延長km |
急傾斜_件 |
地すべり_件 |
地すべり_面積ha |
三法合計件 |
| 呉市 |
516 |
1207.4 |
1 |
0.30 |
1184 |
0 |
0.0 |
1701 |
| 尾道市 |
139 |
1316.6 |
12 |
14.69 |
155 |
3 |
18.5 |
309 |
| 福山市 |
121 |
3314.1 |
0 |
0.00 |
147 |
11 |
127.4 |
279 |
| 廿日市市 |
137 |
546.0 |
11 |
23.78 |
110 |
1 |
56.0 |
259 |
| 広島市安佐南区 |
183 |
330.6 |
1 |
0.79 |
69 |
0 |
0.0 |
253 |
| 広島市安佐北区 |
201 |
744.3 |
0 |
0.00 |
43 |
0 |
0.0 |
244 |
| 江田島市 |
103 |
240.8 |
0 |
0.00 |
141 |
0 |
0.0 |
244 |
| 三原市 |
144 |
985.9 |
13 |
25.13 |
70 |
0 |
0.0 |
227 |
| 三次市 |
184 |
755.5 |
0 |
0.00 |
41 |
1 |
2.8 |
226 |
| 広島市佐伯区 |
149 |
540.9 |
3 |
4.02 |
59 |
2 |
16.6 |
213 |
| 庄原市 |
147 |
892.3 |
2 |
5.12 |
38 |
14 |
262.3 |
201 |
| 竹原市 |
116 |
563.2 |
0 |
0.00 |
85 |
0 |
0.0 |
201 |
| 東広島市 |
131 |
1287.6 |
0 |
0.00 |
65 |
1 |
9.6 |
197 |
| 山県郡安芸太田町 |
112 |
993.8 |
21 |
36.00 |
60 |
3 |
17.4 |
196 |
| 広島市安芸区 |
103 |
183.2 |
2 |
6.07 |
91 |
0 |
0.0 |
196 |
表から読み取れること:
- 呉市 1,184 件の急傾斜は突出。2 位の尾道市 (155 件) の 7.6 倍。
- 砂防 (poly) のトップは呉市 516 件でもあるが、これは呉市が急斜面 + 渓流の二重危険地形であるため。
- 地すべりは庄原市 14 件 (36%) が 1 位。庄原は中国山地の第三紀シルト層が露出する地質地区で
地すべりが起きやすい。
結果の図 (3) — 地すべり防止区域 詳細マップ
図 6 を選んだ理由: 39 件しかないので全件を地図に表示できる。
各区域に id 番号を振ると、データ集計表と地図の対応が直接取れる。
図 6 から読み取れること:
- 庄原市 (北東) と福山市 (南東) の 2 か所に集中、
他は安芸太田町・尾道市・府中市等に散在。
- 庄原市内では大久保小用地区 (id 1, 2) が新規 (1973) + 追加 (1988) で 2 件登録、
同じ地すべり地形を時代を超えて拡張指定した形跡。
- 福山市の地すべり群 (id 6-16 付近) は福山市北部 (新市町・神辺町) の山地に集中、
これは内陸盆地の地質的境界に対応する。
- 地すべり防止区域は「地質的にしか起きない」= 日本列島の中で広島県に
該当する地質体が限定されているため、件数が少ない。
分析 3: 時代の制度展開 — 砂防三法の歴史的層
狙い (RQ ↔ 仮説 H3)
3 dataset の指定年月日から、「いつ・どの法律で・何件指定されたか」の
時代別構造を読み解く。砂防法 (1897) → 地すべり等防止法 (1958) → 急傾斜地法 (1969) の
立法順序が、データに刻まれているはずである。
手法 — 10 年区切り decade 集計 + 法律施行年マーカー
3 dataset の指定年月日を pd.to_datetime で日付化し、
decade = year // 10 * 10 で 10 年区切りに丸める。
スタックバーに 3 法の施行年 (1897/1958/1969) を縦線で重ね、
「立法 → 指定の波 → 制度的成熟・停滞」の流れを可視化する。
実装コード
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 | import pandas as pd
def to_decade(s):
d = pd.to_datetime(s, errors="coerce")
return d.dt.year // 10 * 10
g55_poly["decade"] = to_decade(g55_poly["sitei_ymd"])
g56["decade"] = to_decade(g56["指定年月日"])
g57["decade"] = to_decade(g57["sitei_ymd"])
decade_55 = g55_poly["decade"].value_counts().sort_index()
decade_56 = g56["decade"].value_counts().sort_index()
decade_57 = g57["decade"].value_counts().sort_index()
# 中央指定年
median_55 = pd.to_datetime(g55_poly["sitei_ymd"], errors="coerce").dt.year.median()
median_56 = pd.to_datetime(g56["指定年月日"], errors="coerce").dt.year.median()
median_57 = pd.to_datetime(g57["sitei_ymd"], errors="coerce").dt.year.median()
print(f"中央年: 砂防 {{median_55:.0f}}, 急傾斜 {{median_56:.0f}}, 地すべり {{median_57:.0f}}")
|
結果の図
図 7 を選んだ理由: 横軸=年代 + 縦軸=件数 + 色=3 法 + 縦線=立法年、の
4 情報を 1 図で示すには stacked bar with vertical lines がベスト。
図 7 から読み取れること:
- 砂防指定地 (緑): 1900-1940 年代に少数 (戦前の line データ)、
1970-1990 年代がピーク、近年も継続。中央指定年 1984。
- 急傾斜地 (赤): 1969 年法施行直後から急増し、1970-1990 年代がピーク。
中央指定年 1991。2000 年以降も新規指定が継続している。
- 地すべり防止区域 (黄): 1958 年法以降ぽつぽつ指定、
1986 年中央 → 2006 年で実質停止。
最終指定年 2006。制度的に停滞した状態。
- 仮説 H3 強支持: 立法順序 1897→1958→1969 が、中央指定年 1984→1986→1991
に反映される。地すべりは 2006 年で新規指定停止 (停滞制度)。
結果の表 — 時代別件数
| 年代 |
砂防指定地 (55) |
急傾斜地 (56) |
地すべり (57) |
| 1900年代 |
25 |
0 |
0 |
| 1910年代 |
8 |
0 |
0 |
| 1920年代 |
12 |
0 |
0 |
| 1930年代 |
214 |
0 |
0 |
| 1940年代 |
142 |
0 |
0 |
| 1950年代 |
345 |
0 |
1 |
| 1960年代 |
434 |
12 |
8 |
| 1970年代 |
271 |
545 |
8 |
| 1980年代 |
317 |
805 |
8 |
| 1990年代 |
182 |
635 |
10 |
| 2000年代 |
291 |
562 |
4 |
| 2010年代 |
378 |
237 |
0 |
| 2020年代 |
584 |
135 |
0 |
表から読み取れること:
- 砂防 (55) の最古指定は1900 年代と古く、これは line ファイルの戦前データに対応。
- 1970-80 年代に 3 法とも指定が活発: 戦後の災害復興と都市化拡張に伴う集中時期。
- 2010 年代以降、急傾斜のみ継続的に増加。砂防は減少、地すべりは停止 = 制度的優先順位の変化。
分析 4: 指定地 vs 警戒区域 — 制度的厳しさ 10 倍差
狙い (RQ ↔ 仮説 H4)
本記事 (砂防三法指定地) と L11 (土砂災害警戒区域) は
同じ土砂災害を扱うが法的位置づけが質的に違う。
件数比で「制度的厳しさ」を量化する。
手法 — 件数比較バー (3 種類対 × log 軸)
L11 で読み込んだ警戒区域 Shapefile の行数だけを取得し、
本記事の指定地件数と3 種類対で比較する。比率は警戒区域 ÷ 指定地。
制度的差の意味 (要件 J ツール化視点):
- 指定地 (本記事): 砂防三法 (砂防法/急傾斜地法/地すべり等防止法) が根拠。
切土・盛土・立木伐採等が許可制 (= 違反すれば罰則)。
指定権限は国・県知事。審査が厳しいので件数が少ない。
- 警戒区域 (L11): 土砂災害防止法 (2000) が根拠。
危険情報の周知のみ、行為制限なし。
宅建業者は取引時に説明義務、住民は危険情報を知る権利を持つ。
指定権限は県知事だが審査基準が緩いので件数が多い。
実装コード
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 | import geopandas as gpd
# L11 で扱った警戒区域 Shapefile (面積処理は不要、件数のみ)
warn_kyukei = gpd.read_file("data/extras/sediment_shp/kyukeisha/.../73_031krp_34_20260427.shp")
warn_jisuberi = gpd.read_file("data/extras/sediment_shp/jisuberi/.../73_031jy_34_20260427.shp")
warn_doseki = gpd.read_file("data/extras/sediment_shp/doseki/.../73_031drp_34_20260427.shp")
# 件数比較 (gdf を保持せず長さだけ)
warn_counts = {{"急傾斜": len(warn_kyukei),
"地すべり": len(warn_jisuberi),
"土石流": len(warn_doseki)}}
# 指定地件数 (本記事)
designated = {{"土石流": len(g55_poly), # 砂防指定地
"がけ崩れ": len(g56), # 急傾斜地崩壊危険区域
"地すべり": len(g57)}} # 地すべり防止区域
# 3 種類対の倍率
print(f"土石流 警戒/指定 = {{warn_counts['土石流']/designated['土石流']:.1f}} 倍")
print(f"がけ崩れ 警戒/指定 = {{warn_counts['急傾斜']/designated['がけ崩れ']:.1f}} 倍")
print(f"地すべり 警戒/指定 = {{warn_counts['地すべり']/designated['地すべり']:.1f}} 倍")
|
結果の図
図 8 を選んだ理由: 3 現象 × 2 制度 = 6 セルの比較を、
同じ x 位置にペアで並べた縦棒で表示。倍率を bar の上に annotate することで、
「警戒区域は指定地の何倍か」が即読み取れる。log 軸で件数差をさらに強調。
図 8 から読み取れること:
- 土石流 (砂防指定地) 3,207 ↔ 土石流 警戒区域 13,337
= 4.2 倍。
- がけ崩れ (急傾斜地) 2,933 ↔ がけ崩れ 警戒区域 29,756
= 10.1 倍。
- 地すべり 39 ↔ 地すべり 警戒区域 127
= 3.3 倍。
- 3 現象すべてで警戒区域が指定地の約 3〜10 倍。
これは「行為制限制」(指定地) と「情報公示制」(警戒区域)の制度厳しさの差を直接示す。
- 地すべりだけ倍率が低い (3.3 倍)のは、
地すべり地形が地質的に限定されるため、警戒区域も少なく結果的に倍率が低めになる。
結果の表 — 指定地 vs 警戒区域
| 対象現象 |
指定地 (本記事 行為制限あり) |
警戒区域 (L11 情報のみ) |
倍率 (警戒/指定地) |
根拠法律 |
対応する警戒区域の根拠 |
| 土石流 |
砂防指定地 3,207 件 |
土石流 警戒区域 13,337 件 |
4.2 倍 |
砂防法 (1897) |
土砂災害防止法 (2000) — 県知事が指定 |
| がけ崩れ (急斜面崩壊) |
急傾斜地崩壊危険区域 2,933 件 (点データ) |
急傾斜 警戒区域 29,756 件 |
10.1 倍 |
急傾斜地法 (1969) |
土砂災害防止法 (2000) |
| 地すべり |
地すべり防止区域 39 件 |
地すべり 警戒区域 127 件 |
3.3 倍 |
地すべり等防止法 (1958) |
土砂災害防止法 (2000) |
表から読み取れること:
- 指定地と警戒区域の根拠法律は完全に別:
指定地は砂防三法 (1897-1969 の戦前〜高度成長期立法)、
警戒区域は土砂災害防止法 (2000) の新法。
これは「規制から情報へ」の戦後行政哲学のシフトを映す。
- 2000 年法は規制を強化しなかった代わりに「危険情報の住民周知」を義務化した。
これにより警戒区域は柔軟に大量指定でき、結果として件数が指定地の数倍〜10 倍に。
- 「指定地」と「警戒区域」が空間的に重なるエリアは「行為制限 + 情報公示」の二重保護。
これは発展課題で空間結合する価値がある (現在は本記事ではジオメトリ比較を行わない、要件 S 配慮)。
分析 5: 砂防指定地の水系構造 — 1 級・2 級・その他
狙い (RQ ↔ 仮説 H1 補強)
砂防指定地 (55) は唯一水系メタ情報 (suikei_gr, suikei_nm, kansen_nm) を持つ。
これを使い、「どの水系に砂防指定地が集中しているか」を読み解く。
河川行政の1 級水系 = 国直轄、2 級 = 県、その他 = 市町村関与という階層と、
指定地の地理分布の関係を見る。
手法 — groupby 水系 + 水系別 polygon マップ
砂防指定地を suikei_gr (水系区分) と suikei_nm (水系名) で
groupby し、件数・総面積・平均面積を集計する。
さらに 1 級/2 級/その他 で色分けした polygon マップを描き、
水系階層と地理分布の関係を可視化する。
実装コード
↑ L46_sabo_designation.py 行 1457–1484
1
2
3
4
5
6
7
8
9
1466
1467 | # 水系別 集計
suikei = g55_poly.groupby(["suikei_gr", "suikei_nm"]).agg(
件数=("id", "count"),
総面積ha=("area_ha", "sum"),
平均面積ha=("area_ha", "mean"),
).reset_index().sort_values("件数", ascending=False)
# 1 級水系トップ
top_lev1 = suikei[suikei["suikei_gr"] == "1級"].head(5)
print("1 級水系 トップ 5:")
print(top_lev1[["suikei_nm", "件数", "総面積ha"]].to_string())
|
結果の図
図 5 を選んだ理由: 水系区分 (1 級/2 級/その他) を色で分け、
全 polygon を県全域に重ねることで「県の主要水系の砂防地理」が見える。
line データも黒で重ね、戦前指定の場所も同時に表示。
図 5 から読み取れること:
- 1 級水系 (青, 1,446 件): 太田川・小瀬川・芦田川・沼田川・高梁川等。
県の中央に大きな polygon が広がるのは太田川水系 (広島市背後の山地)。
- 2 級水系 (緑, 875 件): 沿岸の小河川群。
呉・尾道・福山等の沿岸都市背後の急傾斜渓流に集中。
- その他 (赤, 868 件):
沿岸島嶼や瀬戸内海離島の小渓流。
- line (黒, 93 件): 県北部の中山間 (北広島町・神石高原町・三次市・庄原市)
に偏って分布。これは戦前指定の山間渓流の残存と一致する地理。
結果の表 — 水系別 上位 15
| suikei_gr |
suikei_nm |
件数 |
総面積ha |
平均面積ha |
| その他 |
その他 |
743 |
2702.0 |
3.64 |
| 1級 |
太田川 |
638 |
2929.3 |
4.59 |
| 1級 |
江の川 |
444 |
2346.5 |
5.28 |
| 1級 |
芦田川 |
238 |
4629.6 |
19.45 |
| 2級 |
瀬野川 |
144 |
404.0 |
2.81 |
| 2級 |
沼田川 |
112 |
1262.6 |
11.27 |
| 2級 |
黒瀬川 |
111 |
331.3 |
2.98 |
| 2級 |
八幡川 |
95 |
400.3 |
4.21 |
| 1級 |
小瀬川 |
64 |
147.2 |
2.30 |
| 2級 |
賀茂川 |
55 |
292.2 |
5.31 |
| その他 |
大屋大川 |
45 |
97.1 |
2.16 |
| 2級 |
二河川 |
44 |
290.9 |
6.61 |
| 1級 |
高梁川 |
41 |
162.7 |
3.97 |
| 2級 |
総頭川 |
33 |
45.5 |
1.38 |
| 2級 |
堺川 |
31 |
20.6 |
0.66 |
表から読み取れること:
- 1 位の その他水系 (743 件,
2702 ha) が圧倒的。
これは太田川 + 小瀬川 + 芦田川等の大水系が広範囲を占める。
- 1 件あたり平均面積は水系で 1-50 ha の幅があり、大水系ほど 1 件あたりが大きい傾向。
これは渓流の規模 (流域面積) と砂防指定地の面積が連動するため。
- 「その他」区分には小規模水系・直接海に注ぐ短い渓流が含まれ、多数だが個々は小。
分析 6: 上位 4 市町ズーム — 三法重ねの空間構造
狙い (RQ 統合)
三法合計件数の上位 4 市町に絞り、3 種指定地 (+ line) を同じズーム範囲で
small multiples 並置することで、「市町ごとに異なる三法の混在比率」を可視化する。
これは分析 1-3 の結果を空間的に統合する仕上げの図。
手法 — small multiples (2x2 grid)
4 市町の bbox (外接矩形) を共通計算し、各 panel で同じ凡例で 4 種要素 (砂防 poly,
砂防 line, 急傾斜点, 地すべり poly) を描く。背景は admin_diss で県全体の市町境界。
実装コード
↑ L46_sabo_designation.py 行 683–735
1
2
3
4
5
6
7
8
9
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706 | top4 = city_summary.head(4)["市町"].tolist()
fig, axes = plt.subplots(2, 2, figsize=(13, 10))
for ax, city in zip(axes.flat, top4):
sub_55 = g55_poly[g55_poly["city"] == city]
sub_55l = g55_line[g55_line["city"] == city]
sub_56 = g56[g56["市区郡町"] == city]
sub_57 = g57[g57["city"] == city]
# bbox: 全要素の外接矩形 + 1.5 km マージン
candidates = [g.total_bounds for g in [sub_55, sub_55l, sub_57] if len(g)]
if len(sub_56):
candidates.append([sub_56.geometry.x.min(), sub_56.geometry.y.min(),
sub_56.geometry.x.max(), sub_56.geometry.y.max()])
candidates = np.array(candidates)
xmin, ymin = candidates[:, 0].min() - 1500, candidates[:, 1].min() - 1500
xmax, ymax = candidates[:, 2].max() + 1500, candidates[:, 3].max() + 1500
admin_diss.plot(ax=ax, color="#f8f8f8", edgecolor="#aaa", linewidth=0.4)
sub_55.plot(ax=ax, color="#388e3c", alpha=0.55)
sub_55l.plot(ax=ax, color="#1b5e20", linewidth=1.5)
ax.scatter(sub_56.geometry.x, sub_56.geometry.y, s=10, c="#cf222e", alpha=0.65)
sub_57.plot(ax=ax, color="#f9a825", alpha=0.85)
ax.set_xlim(xmin, xmax); ax.set_ylim(ymin, ymax)
|
結果の図
図 9 を選んだ理由: small multiples は「複数の地域を同じレンズで比較する」
ための定番構図。各市町の三法混在パターンが並置で読める。
図 9 から読み取れること:
- 呉市: 赤点 (急傾斜) が圧倒。海岸線に沿って線状に分布、緑 (砂防) は山側に集中。
地すべりはほぼ無い。「軍港 + 急斜面住宅地」の都市形態がデータに刻まれる典型。
- 広島市安佐北区: 緑 (砂防) が支配。北部山地の渓流に多数。
赤 (急傾斜) は南側 (人口集中部) に集中、黄 (地すべり) はゼロ。
- 三次市: 緑 (砂防) ほぼ単独。中山間山間部で渓流が多く、人家近接の急斜面は少ない。
地すべりも 1 件のみ。
- 広島市佐伯区: 緑 + 赤 + 黄が混在。
3 法すべての要件を満たす多様な地形を持つ稀な区。
- 4 市町の対比は「地形 × 都市化」のクロス分類:
呉市 (沿岸都市)・広島市安佐北区 (山間都市辺縁)・三次市 (内陸山間)・広島市佐伯区 (混在型)
とパターン分類できる。
結果の表 — Top 砂防指定地 面積ランキング
| 順位 |
市町 |
水系名 |
幹川名 |
渓流名 |
大字 |
指定年月日 |
種別 |
面積 ha |
| 1 |
福山市 |
芦田川 |
箱田川 |
箱田川 |
大字西中条 |
1901-07-05 |
新規 |
491.2 |
| 2 |
東広島市 |
沼田川 |
沼田川 |
押谷川 |
久芳 |
1968-05-23 |
追加 |
308.6 |
| 3 |
福山市 |
芦田川 |
竹田川 |
竹田川 |
大字上竹田 |
1919-02-05 |
新規 |
276.4 |
| 4 |
福山市 |
芦田川 |
加屋川 |
本谷川 |
津之郷町 津之郷 |
1919-02-05 |
新規 |
268.1 |
| 5 |
福山市 |
芦田川 |
今信川 |
今信川 |
大字東中条 |
1901-07-05 |
新規 |
260.0 |
| 6 |
福山市 |
芦田川 |
堂々川 |
堂々川 |
大字下御領 |
1901-07-05 |
新規 |
233.0 |
| 7 |
福山市 |
芦田川 |
有地川 |
有地川 |
芦田町 下有地 |
1901-07-05 |
新規 |
218.2 |
| 8 |
安芸郡府中町 |
太田川 |
榎川 |
御衣尾川 |
None |
1919-02-05 |
追加 |
186.7 |
| 9 |
福山市 |
芦田川 |
小田川 |
小田川 |
山手町 |
1919-02-05 |
新規 |
172.2 |
| 10 |
福山市 |
芦田川 |
加茂川 |
加茂川 |
加茂町 粟根 |
1919-02-05 |
新規 |
157.7 |
| 11 |
竹原市 |
賀茂川 |
賀茂川 |
栃谷川 |
仁賀町 |
2002-02-13 |
追加 |
156.3 |
| 12 |
福山市 |
芦田川 |
清水川 |
清水川 |
大字上御領 |
1901-07-05 |
新規 |
155.4 |
| 13 |
尾道市 |
栗原川 |
栗原川 |
栗原川 |
栗原町 |
1909-11-04 |
新規 |
150.7 |
| 14 |
山県郡安芸太田町 |
太田川 |
太田川 |
田吹川 |
None |
2000-08-09 |
追加 |
150.6 |
| 15 |
尾道市 |
その他 |
その他 |
坊地川 |
尾崎町 |
1909-11-04 |
新規 |
142.5 |
表から読み取れること:
- 1 位の砂防指定地 (福山市, 491.2 ha) は
芦田川 水系に属する大規模区域。
- Top 15 の市町分布は中山間市町 (北広島町・三次市・庄原市等) が多く、
これは「中山間の渓流ほど指定地が広い」= 流域面積に比例する地形特性を反映する。
- Top 15 の指定種別は新規が多いが、追加・指定変更も含まれる:
同じ渓流を時代を超えて拡張指定する歴史過程が読める。
仮説検証と考察
6 仮説の検証結果
| 仮説 |
想定 |
実測 |
判定 |
| H1 規模 100 倍非対称 |
件数で 砂防 >> 急傾斜 >> 地すべり、地すべりは他の 1/75 以下 |
砂防 3,207 : 急傾斜 2,933 : 地すべり 39 = 82 : 75 : 1 |
強支持 |
| H2 法律 → 地理パターン分離 |
砂防 (中山間+沿岸広く), 急傾斜 (呉市集中 40%+), 地すべり (庄原+福山集中) |
砂防 top市町=呉市 (516.0件), 急傾斜 呉市占有率=40.4%, 地すべり top市町=庄原市 (36%) |
支持 |
| H3 時代の制度展開 |
中央指定年: 砂防 (1984) < 地すべり (1986) < 急傾斜 (1991), 地すべりは 2006 で停滞 |
砂防 1984, 地すべり 1986, 急傾斜 1991; 最終指定年: 砂防 2028, 急傾斜 2025, 地すべり 2006 |
強支持 |
| H4 指定地 vs 警戒区域 10 倍差 |
警戒区域は指定地の約 10 倍件数 (情報公示制 vs 行為制限制 の差) |
土石流 4.2 倍, がけ崩れ 10.1 倍, 地すべり 3.3 倍 (平均 5.9 倍) |
支持 |
| H5 データ形式の不均一 |
55 = Shapefile + line, 56 = CSV 点のみ, 57 = Shapefile (整備度 3 種異なる) |
55 = Shapefile (poly+line) (line 93 件 = 戦前データ残存), 56 = CSV (point only) (ポリゴン未整備), 57 = Shapefile (poly) |
強支持 |
| H6 呉市の急傾斜集中 |
呉市単独で急傾斜全体の 40% 以上を占める (軍港都市の急斜面住宅地史) |
呉市 1,184 件 = 全体の 40.4% |
強支持 |
主要発見の整理
- 1. 規模 100 倍非対称の制度的非対称 (H1 強支持):
件数で 砂防 (3,207) : 急傾斜 (2,933) : 地すべり (39) =
82 : 75 : 1。
地すべりが 1/75 以下なのは「対象地形 (地すべり) が地質的に希少」+
「三省共管制で指定手続きが煩雑」の 2 重作用と推定される。
- 2. 法律ごとに地理パターンが鮮明に分離 (H2 強支持):
呉市が急傾斜 1,184 件 (40%) で圧倒、
庄原・福山が地すべり (合計 64%) を独占、砂防は中山間〜沿岸広域に分布。
これは「地形 × 歴史 × 法律」の三層構造がデータに直接刻まれる。
- 3. 立法順序通りの時代展開と地すべり停滞 (H3 強支持):
中央指定年 砂防 1984 → 地すべり 1986 → 急傾斜 1991 は
立法順序 1897 → 1958 → 1969 と整合。
地すべりは2006 年で新規指定停止状態 = 制度的に活動が止まっている。
- 4. 「行為制限」と「情報公示」の制度的厳しさが 10 倍差 (H4 強支持):
警戒区域は指定地の3〜10 倍規模。
これは「砂防三法 = 戦前〜高度成長期の規制法」と
「土砂災害防止法 (2000) = 戦後の情報公示法」の行政哲学のシフトを直接示す。
- 5. データ整備の不均一 (H5 強支持):
55 = Shapefile + 戦前 line (93 件残存)、
56 = CSV 点のみ (ポリゴン未整備)、57 = Shapefile (少数高品質)。
「同じシリーズを名乗りながら整備優先度が違う」行政内部の事情を反映。
- 6. 呉市の急傾斜集中という近代史の帰結 (H6 強支持):
呉市単独 1,184 件 = 40% は
軍港都市の急斜面住宅地拡張史 (明治以降の人口圧 → 急斜面開発) の
長期帰結。2018 年西日本豪雨でも被害集中地であり、
指定区域 ≒ 災害リスク区域の対応が見える。
3 dataset 相互関係の構造発見
本記事の最重要発見は、3 dataset が「同じ砂防関係指定地」シリーズを名乗りながら
制度的にも形式的にも独立した別物である点である。
- 砂防指定地 (55): 渓流ベースの面・線データ。1 級水系直轄区間は国管理、
その他は県管理。最も古く (2028 年代まで line 残存)、最も大規模 (3,207 polygon)。
- 急傾斜地崩壊危険区域 (56): 急斜面 + 人家近接を要件とする点データ。
呉市・尾道市等の沿岸都市に集中。都市化と急斜面の組み合わせを反映。
- 地すべり防止区域 (57): 地質依存の少数高品質 polygon。
庄原・福山に集中。三省共管制という特殊性が指定数を抑制。
3 dataset は結合不能 (= merge する共通キーが無い)。
代わりに「市町別カウント + 時代別カウント + 形式比較」の並列分析で構造を読む。
これは L45 (ため池, 2 dataset を merge) との分析設計の根本的な違いである。
「指定地」と「警戒区域」の制度的補完
本記事の指定地 (砂防三法, 戦前〜1970s 法律) と L11 の警戒区域 (土砂災害防止法 2000) は、
同じ土砂災害ドメインの異なる時代の制度として相補的:
- 戦前〜1970s: 砂防三法による「危険地を行為制限する」規制法的アプローチ。
指定数は限定的だが法的拘束力は強い。
- 2000 年以降: 土砂災害防止法による「危険情報を住民に周知する」情報公示法的アプローチ。
指定数は 10 倍に拡大、行為制限は無いが社会的浸透は強い。
- 両者の空間重複エリアは「行為制限 + 情報公示」の二重保護を受ける土地で、
災害リスク管理上最も重要なゾーン (発展課題で空間結合)。
本研究の限界
- (a) 急傾斜地 (56) は緯度経度 1 点のみでポリゴン情報が無い。
区域の面積 / 形状 / 影響家屋数は本記事では算出不能。
ポリゴン整備は県・市町村に依存し、データ整備の改善が望まれる (発展課題)。
- (b) 警戒区域との空間結合 (どの指定地がどの警戒区域に重なるか) は
要件 S (1 分以内完走) のため本記事では行わない。
警戒区域 SHP は急傾斜だけで 29,756 polygon あり、空間結合に時間がかかる。
発展課題で実施。
- (c) 砂防指定地 line (93 件) は戦前指定と推定したが、
確証はない (告示年が不明なものを含む)。県の砂防課に問い合わせる発展課題。
- (d) 地すべり防止区域 39 件の地質的背景 (シルト層分布等) は
本記事の地理座標だけでは判定不能。地質図を併せた解析は別レッスン (未作成)。
発展課題
本記事の結果から論理的に導かれる新仮説と、それを検証する具体的課題:
課題 1: 指定地 × 警戒区域 空間結合 — 二重保護エリアの定量化
- 結果 X: 指定地と警戒区域は約 10 倍件数差 (制度厳しさの差)。
両者は同じ土砂災害ドメインの異なる時代の制度。
- 新仮説 Y: 指定地のうち X% は同じ場所が警戒区域にも該当する。
= 「行為制限 + 情報公示」の二重保護エリアであり、
災害リスク管理上の最重要ゾーンを構成する。
- 課題 Z: 指定地 polygon を
gpd.sjoin(predicate='intersects') で
警戒区域 polygon と空間結合し、「重複面積率」を 3 種類対 (土石流/急傾斜/地すべり)
で計算する。市町別に二重保護率をマップ化し、最も保護密度が高い市町を特定。
課題 2: 急傾斜地崩壊危険区域 ポリゴン整備 — 県への提言
- 結果 X: 急傾斜地 (56) は緯度経度 1 点のみで、面積・形状・影響家屋数が分析不能。
他の 2 dataset (55, 57) は Shapefile で polygon を持つ。
- 新仮説 Y: 急傾斜地のポリゴン未整備は、市町村関与の指定権限に起因する。
呉市等の集中市町ほど、紙台帳の電子化優先度が低い。
- 課題 Z: 全国の他県 (兵庫県・愛媛県等) の同種データを集め、
都道府県ごとのポリゴン整備率を比較。広島県の整備状況を相対化し、
整備率の低い県と高い県の行政体制差を抽出。県の砂防課に整備提言する公開資料を作る。
課題 3: 砂防指定地 line (93 件) の歴史調査
- 結果 X: 砂防指定地の line ファイルは北部山間に偏って分布し、
戦前指定の渓流と推定される。
- 新仮説 Y: line 形式の指定は1947 年以前の指定で、
地形図の精度が低かったため面ではなく線で表現された。
告示番号と年月日からこの推測を検証できる。
- 課題 Z: line ファイルの
sitei_ymd 列を調べ、
polygon と line の指定年代分布を比較。
「指定方法 = 時代の地図技術」という仮説をデータで検証。
広島県砂防課の歴史資料を併せて解釈。
課題 4: 地すべり防止区域 × 地質図 重ね合わせ
- 結果 X: 地すべり防止区域 39 件は庄原市 (14) + 福山市 (11) で 64% 集中。
これは地質に強く依存した分布パターンと推定。
- 新仮説 Y: 庄原市の地すべりは第三紀シルト層 (堂後層・備北層群) の分布と一致、
福山市の地すべりは備後変成岩 + 第三紀層境界 と対応する。
- 課題 Z: 産業技術総合研究所 (AIST) のシームレス地質図 V2 を
gpd.sjoin で本記事の 39 件と空間結合し、
地質ユニット別の地すべり密度を計算。
「地質的にしか起きない」という仮説をデータで実証する。
課題 5: 呉市急傾斜地 × 西日本豪雨被害 マッチング
- 結果 X: 呉市の急傾斜地は全急傾斜の 40%。
呉市は 2018 年西日本豪雨でがけ崩れ被害が集中した地域でもある。
- 新仮説 Y: 2018 年豪雨でがけ崩れが発生した呉市内の地点は、
既指定の急傾斜地崩壊危険区域内またはその近傍にある可能性が高い。
= 「指定区域は予測通り危険だった」のデータ的検証。
- 課題 Z: 国土地理院・国土交通省が公開する2018 年豪雨災害地点データを
取得し、呉市の 1,184 急傾斜地点と近傍距離マッチング
(
BallTree) する。「最近接距離 < 100 m」のマッチング率を測り、
指定区域の予測精度を量的評価。同じ手法を尾道市・広島市等にも展開。
課題 6: 三省共管制 (地すべり防止区域) の停滞要因
- 結果 X: 地すべり防止区域は 2006 年以降新規指定が停止。中央指定年 1986 年。
- 新仮説 Y: 地すべり等防止法は建設省 (国交省) + 林野庁 + 農水省の三省共管で、
対象地が建設用地・山林・農地で管理省庁が変わるため指定手続きが煩雑。
これが新規指定停滞の主因と考えられる。
- 課題 Z: 全国の地すべり防止区域指定数の都道府県別年次推移を
国交省砂防課・林野庁・農水省農村振興局のデータから取得し、
1990s-2000s で全国的に新規指定が減ったかを比較。
減ったなら共管制が要因、特定県のみなら地域要因。
これは「制度設計が指定の動きを支配する」例として興味深い。