suikei 列。広島県内 25 系。
本記事では 主要 5 水系 = 太田川水系・芦田川水系・沼田川水系・江の川水系・黒瀬川水系 と限定する。
それ以外の小河川は Shapefile で suikei='中小河川' と一括分類されたものと、
独自名 (御手洗川水系・八幡川水系等) の小規模水系がある。| 指標 | 結果 |
|---|---|
| 浸水面積トップ | 中小河川 (252 km²) |
| リスク人口トップ | 太田川水系 (1,457,246 人) |
| 文化財最多 (浸水内) | 太田川水系 (302 件) |
| インフラ最多 (浸水内) | 中小河川 (656 件) |
| 総合スコア 1 位 | 太田川水系 (+3.37) |
| 太田川水系の総合スコア順位 | 1 位 |
| 主要5水系 人口あたり浸水km² 最大/最小 比 | ×531268.6 |
suikei 25系| 論題 | データセット | 形式 | サイズ目安 |
|---|---|---|---|
| 河川浸水想定区域 (計画規模 + 想定最大規模) | DoBoX #295 / DoBoX #313 | Shapefile | 各 ~50MB |
| 用途地域 GeoJSON | DoBoX #297 | GeoJSON ZIP | ~25MB |
| DID 人口集中地区 (14市町) | DoBoX #1468〜 | GeoJSON ZIP×14 | 合計 ~5MB |
| 埋蔵文化財包蔵地 | DoBoX #200 | CSV | ~3MB |
| 被爆樹木一覧 | DoBoX #120 | CSV | ~50KB |
| 橋梁基本情報 | DoBoX #220 | CSV | ~1MB |
| ダム基本情報 | DoBoX #210 | CSV | ~5KB |
| トンネル基本情報 | DoBoX #230 | CSV | ~100KB |
一括取得 (PowerShell):
cd "2026 DoBoX 教材"
py -X utf8 data\fetch_all.py
| ファイル | 内容 |
|---|---|
| L05_cross_matrix.csv | クロス集計マトリクス (水系×指標) |
| L05_suikei_flood_area.csv | 水系別 浸水面積 (km²) |
| L05_landuse_by_suikei.csv | 水系×用途地域 ピボット |
| L05_depth_pivot.csv | 主要6水系×浸水深 ランクピボット |
| L05_heatmap_zscore.csv | 水系×指標 z-score |
| L05_heatmap_raw.csv | 水系×指標 生値 |
| L05_did_by_suikei.csv | 水系×DID 浸水重なり + リスク人口 |
| L05_cultural_in_flood.csv | 浸水内 文化財 sjoin 結果 |
| L05_infra_in_flood.csv | 浸水内 インフラ sjoin 結果 |
| L05_map_suikei_choropleth.png | 図1 水系別色分け 主題図 |
| L05_map_small_multiples.png | 図2 主要6水系 small multiples |
| L05_heatmap_zscore.png | 図3 水系×指標 z-score |
| L05_score_bar.png | 図4 総合スコアランキング |
| L05_heatmap_landuse.png | 図5 水系×用途地域 ヒートマップ |
| L05_scatter_area_pop.png | 図6 浸水面積 vs リスク人口 散布 |
| L05_depth_stack.png | 図7 主要6水系 浸水深 積み上げ |
| L05_heatmap_cultural_infra.png | 図8 文化財・インフラ ヒートマップ |
| L05_map_overlay_points.png | 図9 主要5水系 + 文化財・インフラ点 重ね地図 |
| L05_watershed_cross.py | 再現スクリプト |
そもそも広島県の 「水系」とは地理的にどんな広がりか を最初に押さえる。25 水系のうち、 主要 5 水系と「中小河川」を別色で塗り分け、それ以外を灰色で表示。 これで以降の数値分析が「どの地理に対応するか」が頭に入る。
↑ L05_watershed_cross.py 行 950–973
なぜこの図か (要件H): クロス集計の数値を見る前に、地理的位置関係を頭に入れることで、 「太田川水系が広島市中心部、江の川水系が県北部山間、芦田川水系が福山市中心部」 という空間的直感が得られる。

読み取り (要件F):
図1 では水系同士が重なって細部が読めない。同じ視野で水系を 1 つずつ強調することで、 各水系の 形と分布パターン を比較できる。
なぜこの図か (要件H): 5+1 水系を 1 枚に並べて重ねると判別できないが、6 panel に分けると 「太田川は河口集中・江の川は線状に長い・中小河川は点状散在」というパターンが瞬時に見える。

読み取り (要件F):
各水系を 浸水面積・浸水深・DID人口・文化財・インフラ の複数指標で 横並び比較 する。 そのまま並べると単位が違って大小が見えないため、z-score 正規化で揃えてヒートマップ化。
| 段階 | 太田川水系のflood_area_km2 | サイズ |
|---|---|---|
| raw 値 | 207.0 km² | 1×1 |
| 列平均 (33.2) を引く | +173.8 | 1×1 |
| 列標準偏差 (67.2) で割る | +2.59 | 1×1 (= z-score) |
↑ L05_watershed_cross.py 行 1032–1052
なぜこの図か (要件H): 9 指標 × 15 水系 のテーブルを目で読むのは辛い。色 (赤=高 / 青=低) にすれば 「どの水系がどの指標で突出しているか」がパッと見で分かる。

読み取り (要件F):
| 水系 | 想定最大 (km²) | 計画規模 (km²) | 最大深さrank | DID浸水 (km²) | リスク人口 | 文化財 (件) | インフラ (件) | スコア |
|---|---|---|---|---|---|---|---|---|
| 太田川水系 | 207.0 | 38.5 | 80 | 174.5 | 1,457,245.9 | 302 | 50 | 3.37 |
| 芦田川水系 | 146.2 | 67.3 | 70 | 62.0 | 255,756.9 | 19 | 331 | 1.04 |
| 沼田川水系 | 38.8 | 21.0 | 80 | 5.9 | 25,358.2 | 0 | 60 | -0.09 |
| 江の川水系 | 75.5 | 38.9 | 80 | 0 | 0 | 10 | 134 | 0.14 |
| 黒瀬川水系 | 18.6 | 3.3 | 60 | 7.5 | 42,850.7 | 0 | 20 | -0.20 |
表1 読み取り (要件G):
| 水系 | 想定最大 (km²) | 計画規模 (km²) | 最大深さrank | DID浸水 (km²) | リスク人口 | 文化財 (件) | インフラ (件) | スコア |
|---|---|---|---|---|---|---|---|---|
| 太田川水系 | 207.0 | 38.5 | 80 | 174.5 | 1,457,245.9 | 302 | 50 | 3.37 |
| 中小河川 | 251.7 | 0 | 80 | 23.7 | 142,894.8 | 12 | 656 | 1.68 |
| 芦田川水系 | 146.2 | 67.3 | 70 | 62.0 | 255,756.9 | 19 | 331 | 1.04 |
| 江の川水系 | 75.5 | 38.9 | 80 | 0 | 0 | 10 | 134 | 0.14 |
| 沼田川水系 | 38.8 | 21.0 | 80 | 5.9 | 25,358.2 | 0 | 60 | -0.09 |
| 高梁川水系 | 21.0 | 0.0 | 60 | 2.6 | 13,226.7 | 1 | 68 | -0.18 |
| 黒瀬川水系 | 18.6 | 3.3 | 60 | 7.5 | 42,850.7 | 0 | 20 | -0.20 |
| 八幡川水系 | 9.0 | 2.9 | 70 | 7.1 | 57,634.7 | 0 | 1 | -0.24 |
| 手城川水系 | 7.6 | 1.5 | 60 | 7.7 | 33,949.4 | 0 | 11 | -0.27 |
| 瀬野川水系 | 7.3 | 3.9 | 60 | 5.5 | 32,334.0 | 0 | 9 | -0.28 |
| 藤井川水系 | 7.6 | 3.6 | 70 | 3.6 | 13,147.4 | 0 | 18 | -0.29 |
| 本郷川水系 | 5.4 | 1.2 | 60 | 3.6 | 15,107.2 | 0 | 13 | -0.30 |
| 賀茂川水系 | 6.4 | 4.7 | 60 | 1.7 | 4,740.7 | 0 | 10 | -0.32 |
| 小瀬川水系 | 4.6 | 0.0 | 60 | 2.8 | 7,510.7 | 0 | 7 | -0.32 |
| 岡ノ下川水系 | 2.7 | 0.3 | 50 | 2.3 | 18,602.1 | 0 | 0 | -0.33 |
表2 読み取り: 25 水系のうち上位15を表示。総合スコア順。
中小河川の suikei='中小河川' グループは 1 行にまとまるが、内訳としては数十の小河川を含む。
多角的な指標を 1 つの数値に集約し、「どの水系が最も総合的にリスクが高いか」を視覚化する。
なぜこの図か (要件H): 25 水系を一目で順位付けするには 水平棒グラフが最適。 バーの色は地図 (図1) と同じ配色にして対応関係を視覚化。

読み取り (要件F):
X09 で得た「用途地域 × 浸水」の発見を 水系単位で再集計。 「住居系の浸水は特定水系に集中するのか」「工業系はどこの水系で多いのか」を見る。

読み取り (要件F):
| 水系 | 住居系 (ha) | 商業系 (ha) | 工業系 (ha) | 田園住居 (ha) |
|---|---|---|---|---|
| 太田川水系 | 8,655 | 3,040 | 5,526 | 574 |
| 芦田川水系 | 5,542 | 904 | 2,768 | 0 |
| 中小河川 | 2,469 | 590 | 1,087 | 28 |
| 江の川水系 | 927 | 299 | 306 | 30 |
| 沼田川水系 | 571 | 119 | 260 | 130 |
| 高梁川水系 | 730 | 91 | 191 | 0 |
| 黒瀬川水系 | 508 | 122 | 190 | 59 |
| 手城川水系 | 385 | 169 | 220 | 0 |
| 八幡川水系 | 560 | 88 | 100 | 0 |
| 瀬野川水系 | 261 | 110 | 234 | 1 |
表3 読み取り: ヘクタール単位の生値表。1 ha = 100m × 100m。
水系を 2 軸 (浸水面積・リスク人口) でプロットし、「面積大なのに人口少ない山間水系」と「面積中位なのに人口大の都市水系」を視覚的に分離する。

読み取り (要件F):
面積だけでなく 「どれだけ深く沈むか」 を水系別に比較する。 3m 以上 (rank ≥ 50) は命の危険を伴う深さ。各水系で深い帯がどれだけ占めるか。

読み取り (要件F):
| 水系 | 0〜0.5m | 0.5〜1m | 1〜2m | 2〜3m | 3〜5m | 5〜10m | 10〜20m | 20m以上 | 合計 (km²) |
|---|---|---|---|---|---|---|---|---|---|
| 太田川水系 | 3.0 | 6.1 | 8.3 | 72.3 | 49.5 | 55.6 | 11.3 | 1.0 | 207.0 |
| 芦田川水系 | 6.2 | 6.8 | 12.3 | 49.6 | 43.4 | 27.9 | 0.0 | 0.0 | 146.2 |
| 沼田川水系 | 1.2 | 0.8 | 2.3 | 10.8 | 10.8 | 12.0 | 0.8 | 0.0 | 38.8 |
| 江の川水系 | 2.5 | 1.9 | 5.1 | 25.3 | 20.3 | 19.0 | 1.5 | 0.0 | 75.5 |
| 黒瀬川水系 | 1.6 | 1.1 | 3.0 | 9.9 | 2.9 | 0.1 | 0.0 | 0.0 | 18.6 |
| 中小河川 | 58.1 | 19.0 | 36.0 | 76.6 | 34.5 | 23.9 | 3.2 | 0.5 | 251.7 |
表4 読み取り (要件G): km² 単位の生値。3m 以上 (rank 50〜80) の合計が「致命的浸水域」の規模。
L04/L07 で扱った文化財・インフラを 水系別 に再集計。点 sjoin の結果を可視化。

読み取り (要件F):
| 指標 | 1位 水系 | 件数 | 2位 水系 | 件数 | 3位 水系 | 件数 |
|---|---|---|---|---|---|---|
| 文化財_埋蔵文化財 | 江の川水系 | 10 | 太田川水系 | 9 | 中小河川 | 9 |
| 文化財_官衙跡等 | 芦田川水系 | 11 | — | — | — | — |
| 文化財_被爆樹木 | 太田川水系 | 293 | 中小河川 | 3 | — | — |
| インフラ_トンネル | 太田川水系 | 3 | 中小河川 | 3 | 高梁川水系 | 1 |
| インフラ_橋梁 | 中小河川 | 653 | 芦田川水系 | 331 | 江の川水系 | 134 |
| 文化財_合計 | 太田川水系 | 302 | 芦田川水系 | 19 | 中小河川 | 12 |
| インフラ_合計 | 中小河川 | 656 | 芦田川水系 | 331 | 江の川水系 | 134 |
表5 読み取り (要件G): 各カテゴリの 1〜3 位水系を抽出。 太田川水系が複数のカテゴリでトップ=広島市内に資源が集中している裏返し。
図1 (主題図) と図3〜8 (集計) を 1 枚に統合し、点と面の関係を地理的に確認する。

読み取り (要件F):
| 仮説 | 判定 | 根拠 |
|---|---|---|
| H1: 太田川水系が全指標トップ | 部分支持 | 4 指標中 2 個でトップ。 flood_area_km2=中小河川, risk_pop_est=太田川水系, 文化財=太田川水系, インフラ=中小河川 |
| H2: 江の川は面積大・人口少 | 部分支持 | 江の川 浸水面積 75 km² (太田川 207 km² と同等以上の場合も) / リスク人口 0 人 (太田川 1,457,246 人 の 0%) |
| H3: 総合スコア 1 位は太田川 | 支持 | 1 位 = 太田川水系 (スコア +3.37) |
| H4: 5 水系の人口/面積比 5 倍以上の差 | 支持 | 主要5水系 人口あたり浸水km² の最大/最小 = 531268.6 倍 |
| H5: 中小河川はバラツキ大 | 部分支持 | 中小河川を含む下位群のスコア標準偏差 0.45 vs 主要5水系の標準偏差 1.49 |
suikei='中小河川' と
1 行にまとめられている ことが教材的に重要。
実際には 101 polygon の集合体で、各々独立した小水系。
本研究では「中小河川」を 1 つの仮想水系として扱ったが、
細分化すれば仮説 H5 の検証はもっと強くできる。gpd.overlay(市町境界, flood_max) で市町×水系×浸水のクロス集計を作り、
本記事のクロスマトリクスと比較せよ。
kasen 列 (河川名) で再集計すれば、中小河川の中にも「危険な河川」と「安全な河川」が分かれるはず。flood_max_s[flood_max_s['suikei']=='中小河川'].groupby('kasen') で河川別集計し、
本記事のスコア式を河川単位で再計算 → 上位中小河川を抽出。
flood_area_km2 / plan_area_km2 の倍率を水系別に算出し、
都市/山間カテゴリで比較 (t 検定など)。
| 関数 | 入力 | 出力 | 裏で何が起きるか |
|---|---|---|---|
gpd.sjoin(points, polys, predicate='within') |
点GeoDataFrame + ポリゴンGeoDataFrame | 点に polygon の属性が付与された GeoDataFrame | R-tree 空間インデックスで候補絞込→点in多角形判定 |
gpd.overlay(A, B, how='intersection') |
2 GeoDataFrame | 交差ポリゴン (A,B 両方の属性を保持) | SHAPELY ブール演算 + R-tree |
gdf.geometry.area |
1 GeoDataFrame (CRS=メートル系) | 各ポリゴンの面積 (m²) | 球面投影での面積計算 (CRS依存) |
gdf.geometry.simplify(d) |
1 GeoDataFrame + 距離 d (m) | 頂点間引きされた粗いポリゴン | Douglas-Peucker アルゴリズム |
gdf.to_crs('EPSG:6671') |
1 GeoDataFrame | 座標変換されたGeoDataFrame | PROJ ライブラリの楕円体変換 |
flood_max.dissolve(by='suikei') は数十分かかる + TopologyException で落ちることがある。
本記事では 個別ポリゴンを sjoin/overlay → groupby('suikei').sum で代用。
小さな重複面積 (rank分割境界) は無視。| 水系名 | 主な範囲 | 河川数 (Shapefile内 polygon) |
|---|---|---|
| 太田川水系 | 広島市デルタ (中区/南区/西区/安佐南区/安佐北区) | 107 |
| 芦田川水系 | 福山市・府中市・神石高原町 | 90 |
| 沼田川水系 | 三原市・本郷町・竹原市 | 54 |
| 江の川水系 | 三次市・庄原市・安芸高田市 (県北部) | 129 |
| 黒瀬川水系 | 呉市・東広島市境界 | 12 |
| 中小河川 | 各市町に散在 (公式に水系名なし) | 101 |