Lesson 88

L88 M4 産業物語 — 福山JFE・大竹コンビナート・呉海軍工廠・工業専用地域

M系統合産業地理工業専用地域福山JFE呉海軍工廠大竹コンビナート尾道造船高潮交差geopandas
所要 40 分 / 想定レベル: リテラシ + 空間統合 + 歴史物語 / データ: 用途地域 21 dataset (#794-946) / 港湾施設 / 高潮浸水 #1149 / 橋梁 #1062 / L15 行政界 (工業専用 168 ポリゴン)

データ取得手順

⚠️ このスクリプトは自動取得に対応していません。以下のデータセットを DoBoX から手動でダウンロードし、data/extras/ 以下に保存してください。

IDデータセット名
#11橋梁基本情報・維持管理情報
#45高潮浸水想定区域情報_想定最大規模
#47津波災害警戒区域情報
#666dataset #666
#794都市計画区域情報_区域データ_広島市_各種用途地域
#804都市計画区域情報_区域データ_呉市_各種用途地域
#831都市計画区域情報_区域データ_尾道市_各種用途地域
#837都市計画区域情報_区域データ_福山市_各種用途地域
#867都市計画区域情報_区域データ_大竹市_各種用途地域
#888都市計画区域情報_区域データ_安芸高田市_行政区域
#932都市計画区域情報_区域データ_広島県_各種用途地域
#1062dataset #1062
#1085dataset #1085
#1149dataset #1149
#1250外郭施設(港湾)基本情報・維持管理情報
#1251係留施設(港湾)基本情報・維持管理情報
#1252臨港交通施設(港湾)基本情報・維持管理情報
#1253海岸保全施設基本情報・維持管理情報
#1254外郭施設(漁港)基本情報・維持管理情報
#1255係留施設(漁港)基本情報・維持管理情報

実行コマンド:

cd "2026 DoBoX 教材"
python -X utf8 lessons/L88_M4_industry_story.py

DoBoX のオープンデータは申請不要・商用/非商用とも利用可。 data/extras/.gitignore 対象(約 57 GB のキャッシュ)。 スクリプト実行で自動再生成されます。

学習目標と問い

1903 年、 呉に東洋一の海軍工廠が開設された。 戦艦大和を生んだその巨大な 鉄の街は、 1945 年の終戦で解体され、 戦後は IHI 呉造船・神戸製鋼として 民需に転換した。 その北東 70 km の福山では、 1965 年に川崎製鉄 (現 JFE スチール) が高度成長の象徴として鉄を吹き始めた。 さらに南西、 大竹の狭い平地には戦前から三井化学のコンビナートが煙突を並べ、 尾道では 向島の入江で常石・尾道造船が世界中の船を造っている。

広島県の産業地理は、 戦前 - 戦後の連続性を持って瀬戸内海岸線に 書き込まれている。 海軍工廠跡は造船所に、 戦前化学コンビナートは 石油精製に、 戦後高度成長の埋立地は世界級鉄鋼コンビナートに。 「臨海重 工業」 という広島県の産業 DNA は、 都市計画法の用途地域指定 (工業専用 地域 YOTO_CD=12) として、 そして港湾施設として、 オープンデータの中で 今もそのまま読み取れる。

本記事は、 DoBoX の 用途地域 21 dataset (#794-946, #932) + 港湾施設 (#1250-1252) 1,170 件 + 漁港施設 (#1254-1255) 682 件 + 高潮浸水想定 max (#45) 7 ランク + 橋梁 (#11) 4,203 件 + 海岸保全 (#1253) + L15 行政界 を統合し、 「広島県の産業物語 — 戦前 - 戦後の産業立地が織りなす都市の物語」 を 6 章の物語として読み 解くテーマ統合 (M系) 記事である。

独自用語の定義 (この記事だけで使う)

研究の問い (主 RQ)

広島県の産業物語 — 戦前 - 戦後の産業立地が織りなす都市の物語とは 何か? 戦前 (旧海軍工廠呉) ・戦前化学 (大竹コンビナート) ・戦後高度成長 (福山JFE) ・尾道造船 という 4 産業拠点は、 工業専用地域・港湾施設・ 浸水リスクの量と質でどう描けるか? 「臨海重工業」 という広島県の産業 DNA はデータでどう浮かぶか?

仮説 (H1〜H5)

到達点

L17 / L21 / L32-L34 / L52-L55 / L66 との明確な切り分け: 既存の L 系記事はそれぞれ「13 用途地域並列」 「宅地開発単独」 「港湾外郭・係留・ 臨港交通の単独深掘り」 「橋梁単独」 を扱った。 L88 はこれらと完全に独立 した切り口で、 「工業専用 1 用途 × 港湾相関 × 高潮交差 × 4 拠点歴史 軸」 という新しい統合視点で物語を組む。 同じデータが切り口を変えれば 全く異なる物語を語る — それが M系 (テーマ統合) の本質である。

使用データ

本記事は産業物語を語るため、 主軸 1 系統 (用途地域 21 dataset) + 従属 7 系統 = 計 8 系統を組み合わせて使う。 主軸の用途地域から 工業専用 (YOTO_CD=12) のみを抽出し、 港湾・漁港・橋梁・浸水想定・海岸 保全を従属参照する。

論題dataset件数用途
都市計画区域情報_用途地域 21 件 DoBoX #932 (県全域) + 21 市町別 (#794-946) 2,629 ポリゴン 本記事の主軸。 工業専用 168 件を抽出
港湾施設_外郭施設 DoBoX #1250 417 防波堤・防砂堤 (港湾)
港湾施設_係留施設 DoBoX #1251 691 物揚場・浮さん橋・岸壁 (産業港代理指標, H3)
港湾施設_臨港交通施設 DoBoX #1252 62 道路・駐車場 (港湾の陸側)
漁港施設_外郭施設 DoBoX #1254 313 漁港の防波堤等 (漁業港代理指標, H5)
漁港施設_係留施設 DoBoX #1255 369 漁港の物揚場等
高潮浸水想定区域 max DoBoX #45 7 ランク 第5章 産業 vs 高潮 交差判定 (H4)
橋梁基本情報 DoBoX #11 4,203 件 背景参照 (拠点周辺の橋梁集積)
(従属) 海岸保全施設基本情報 DoBoX #1253 1,646 件 沿岸線推定 (背景)
(派生) L15 行政界 21 市町 L15 cache (admin_*.zip) 20 背景マップ + dissolve

派生指標 (本記事独自)

1 件追跡 (要件 K — Before/After)

段階
0. 元 GeoJSONYOTO_CD=12 (工業専用) in 三原市
1. 投影 EPSG:6671area = 1.4665 km²
2. 抽出 (YOTO_CD=12)工業専用地域フィルタ後の最大ポリゴン
3. 重心 (lat, lon)(75532.49684431635, -178423.89947333428)
4. 高潮交差 m²13,540 m²
5. 高潮交差比率0.9%
6. in_storm flag1

この表から読み取れること

ダウンロード

DoBoX 元データ (直リンク)

▶ #932 用途地域 県全域 #837 福山市 #804 呉市 #867 大竹市 #831 尾道市 #45 高潮浸水想定 max #11 橋梁 #1251 港湾係留 #1253 海岸保全

本記事が生成した中間データ (再現用 — 直リンク)

図 8 枚 (PNG, 直 DL 可)

再現スクリプト

実行

cd "2026 DoBoX 教材"
py -X utf8 lessons/L88_M4_industry_story.py

用途地域 21 zip は L17 cache (data/extras/L17_use_zones/) を再利用、 港湾は L32-L34 cache、 漁港は同じくキャッシュ、 高潮は L44 cache、 橋梁・海岸保全・行政界も既存 cache を参照。 追加 DL なしで即実行可能。

第1章 工業専用地域の地理 — 県内重工業帯の同定

狙い・手法

狙い: 広島県の重工業帯はどこか? まず工業専用地域 (YOTO_CD=12) 168 ポリゴン / 34.39 km² の市町別分布を見て、 沿岸 4 拠点市町 (福山・呉・大竹・尾道) の集中度を量化する。 これが 広島県産業地理の地理的基盤である。

手法の要点: L17 で読み込んだ用途地域 21 市町 GeoJSON のうち YOTO_CD=12 のポリゴンのみフィルタし、 EPSG:6671 平面直角座標で 正確な面積計算 (m²) を行う。 さらに市町別に groupby で集計し、 ランキング Top10 を作成。 沿岸 4 拠点市町の合計面積比 (H1) を検証する。

用途地域とは (リテラシ説明): 都市計画法・建築基準法に基づき、 都市計画区域内の土地を 13 種類に分類する制度。 住居系 (1-7) / 商業系 (8-9) / 工業系 (10-12) / 田園系 (13)。 工業系のうち最も特化が 強いのが工業専用地域 (YOTO_CD=12) で、 住宅・学校・病院などの 建築が禁止され、 大規模工場のみが認められる。

実装

L88_M4_industry_story.py 行 1651–1738

 1
 2
 3
 4
 5
 6
 7
 8
 9
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
import zipfile, io
import geopandas as gpd
import pandas as pd

CITY_DEFS = [
    (794, "広島市", True), (804, "呉市", True), (837, "福山市", True),
    (867, "大竹市", True), (831, "尾道市", True), # ... 21 市町
]

# 21 市町統合
frames = []
for dsid, name, coastal in CITY_DEFS:
    z = f"data/extras/L17_use_zones/use_zone_{dsid}_{name}.zip"
    with zipfile.ZipFile(z) as zf:
        gjs = [n for n in zf.namelist() if n.endswith(".geojson")][0]
        with zf.open(gjs) as f:
            g = gpd.read_file(io.BytesIO(f.read()))
    g["source_city"] = name
    g["coastal"] = coastal
    frames.append(g)

zone = gpd.GeoDataFrame(pd.concat(frames, ignore_index=True),
                        geometry="geometry", crs=frames[0].crs)
zone = zone.to_crs("EPSG:6671")  # 平面直角第 III 系 (m)

# 工業専用地域のみ抽出 (YOTO_CD=12)
indzone = zone[zone["YOTO_CD"] == 12].copy()
indzone["area_km2"] = indzone.geometry.area / 1e6

# 市町別ランキング
city_indarea = (indzone.groupby("source_city")["area_km2"]
                .sum().sort_values(ascending=False))
print(city_indarea.head(10))
# 例:
# 福山市     6.57 km²
# 広島市     7.42 km²
# 呉市       3.66 km²
# ...

# H1 検証 — 4 拠点合計シェア
HUB_CITIES = ["福山市", "呉市", "大竹市", "尾道市"]
hub_total = float(city_indarea.reindex(HUB_CITIES).fillna(0).sum())
hub_share = hub_total / city_indarea.sum() * 100
print(f"4 拠点合計 = {hub_total:.2f} km² ({hub_share:.1f}%)")

結果図 — 工業専用地域 県全域 主題図

なぜこの図か: 「広島県の重工業帯はどこか」 を一目で伝えるには、 工業専用地域ポリゴンを市町別に色分けした主題図 (choropleth)が最強。 4 拠点中心 ★ も併記し、 産業史と地理を結ぶ。

Fig 1: 工業専用地域 (YOTO_CD=12) 県全域 — 168 ポリゴン / 34.39 km²
Fig 1: 工業専用地域 (YOTO_CD=12) 県全域 — 168 ポリゴン / 34.39 km²

この図から読み取れること

市町別 工業専用地域 ランキング Top10

市町工業専用km2シェア%
広島市7.4221.6
福山市6.5719.1
呉市3.6610.6
尾道市3.159.2
東広島市2.497.2
北広島町2.497.2
三原市2.366.9
三次市2.136.2
廿日市市1.544.5
庄原市0.581.7

この表から読み取れること

13 用途地域 全県集計 (背景比較)

YOTO_CD用途地域名面積km2シェア%
11低専63.4712.97
22低専2.430.5
31中高専48.279.87
42中高専19.143.91
51住居161.8133.08
62住居20.334.16
7準住居4.070.83
9商業38.487.87
10準工14.973.06
11工業52.7410.78
12工業専用34.397.03
13田園住居29.075.94

この表から読み取れること

第2章 福山JFE — 戦後高度成長の象徴

狙い・手法

狙い: 1965 年、 川崎製鉄 (現 JFE スチール) が福山臨海埋立地に 製鉄所を開設した。 高度成長期の象徴であり、 60 年後の現在も世界級 鉄鋼コンビナートとして稼働している。 福山市の工業専用地域は県内 最大級の 6.57 km² (シェア 19.1%)。 本章では、 福山JFE 拠点の地理的迫力を zoom マップで示し、 H2 (福山JFE圧倒仮説) を検証する。

手法の要点: 福山臨海部の bbox (北緯 34.43-34.55 / 東経 133.32-133.45) で工業専用地域 + 港湾施設をフィルタし、 福山市行政界 を背景に重ね合わせる。 同じ手法を 4 拠点に適用し、 small multiples (2×2) で歴史軸の連続を見せる。

福山製鉄所の歴史的位置 (リテラシ): 1953 年に川崎製鉄千葉 製鉄所が完成した直後、 1958 年から福山進出が計画され、 1965 年 5 月に 火入れ式。 用地は瀬戸内海を埋め立てた人工地で、 当時としては「日本で 最大の製鉄所」 として高度成長期の象徴に。 高炉 4 基・厚板・冷延・電磁 鋼板を擁し、 西日本鉄鋼供給の中核。 2003 年に NKK と合併して JFE スチール 発足。

実装

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import shapely.geometry
import geopandas as gpd

# 福山JFE bbox (本記事独自定義)
FUKUYAMA_BBOX = (34.43, 34.55, 133.32, 133.45)
# = (lat_min, lat_max, lon_min, lon_max)

# bbox to projected polygon
bbox_4326 = shapely.geometry.box(133.32, 34.43, 133.45, 34.55)
bbox_proj = (gpd.GeoSeries([bbox_4326], crs="EPSG:4326")
             .to_crs("EPSG:6671").iloc[0])
xmin, ymin, xmax, ymax = bbox_proj.bounds

# 福山市の工業専用ポリゴンのみ
fukuyama_ind = indzone[indzone["source_city"] == "福山市"]
print(f"福山市 工業専用 {len(fukuyama_ind)} ポリゴン, "
      f"{fukuyama_ind.area.sum()/1e6:.2f} km²")

# 福山bbox 内の港湾係留施設
fukuyama_port = port_moor[
    (port_moor["lat"].between(34.43, 34.55)) &
    (port_moor["lon"].between(133.32, 133.45))
]
print(f"福山 bbox 内 港湾係留 = {len(fukuyama_port)} 件")

結果図 — 4 産業拠点 zoom (2×2 small multiples)

なぜこの図か: 県全体マップでは各拠点が小さく見えてしまう。 4 拠点を 2×2 で並べる small multiples によって、 同じスケール での産業地と港湾施設の地理的関係を比較できる。 福山JFE の臨海埋立地 の迫力 (大規模かつ連続) と、 大竹コンビナートの細長い帯状立地、 呉海軍工廠跡の谷地形、 尾道造船の島嶼立地が一目で対比できる。

Fig 2: 4 産業拠点 zoom — 工業専用地域 + 港湾施設 重ね合わせ
Fig 2: 4 産業拠点 zoom — 工業専用地域 + 港湾施設 重ね合わせ

この図から読み取れること

4 拠点 サマリー

拠点市町歴史工業専用km2拠点bbox港湾件数拠点bbox漁港件数
福山JFE福山市戦後高度成長 (1965)6.57200
大竹コンビナート大竹市戦前化学 (1920s-)0.36190
呉海軍工廠呉市戦前軍需 (1903) → 戦後造船・鉄鋼3.66035
尾道造船尾道市戦前造船 → 戦後輸出造船3.1511640

この表から読み取れること

第3章 大竹コンビナート と 港湾規模 (H3 検証)

狙い・手法

狙い: 大竹市は工業専用地域面積では小さい (0.36 km²) が、 戦前から続く三井化学・三菱レイヨンなどの石油化学コンビナート が密集する。 さらに大竹港はナフサ輸入港として機能。 本章では、 工業専用地域面積港湾係留施設件数市町別相関 (H3) を量化し、 「臨海工業立地原理」 — 大規模工業地帯 = 港湾物流集積、 を検証する。

手法の要点: 沿岸市町ごとに工業専用面積 (km²)港湾_係留施設件数 をペアにし、 pandas.Series.corr()Pearson 相関係数を計算。 さらに散布図で各市町の位置を プロットし、 線形回帰線で傾向を視覚化する。

Pearson 相関係数の直感的説明: 2 変数の同方向への動き 具合を -1 〜 +1 で表す。 +1 = 完全な正比例、 0 = 無関係、 -1 = 完全な反比例。 r ≥ 0.5 は「中程度以上の正の相関」。

L33 (港湾係留 単独深掘り) との重複回避: L33 は港湾名別ランキング (広島港 125 件 max) を扱った。 本記事は市町単位での集計 (港湾名でなく市区町村1 で集約) を行い、 用途地域 (L17) と組み合わせる。 切り口が完全に独立。

実装

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
import pandas as pd

# 市町別 工業専用面積
city_indarea = (indzone.groupby("source_city")["area_km2"]
                .sum())

# 市町別 港湾_係留 件数
port_moor = pd.read_csv(
    "data/extras/L33_port_mooring/harbor_mooring_facility.csv",
    encoding="utf-8-sig"
).dropna(subset=["開始位置緯度", "開始位置経度"])
city_harbor_moor = port_moor.groupby("市区町村1").size()

# 結合 → 沿岸市町のみで Pearson 相関
df = pd.concat([city_indarea, city_harbor_moor], axis=1).fillna(0)
df.columns = ["工業専用km2", "係留件数"]
COASTAL_CITIES = ["広島市", "呉市", "竹原市", "三原市", "尾道市",
                   "福山市", "大竹市", "東広島市", "廿日市市",
                   "江田島市", "海田町", "坂町"]
df_coast = df.loc[df.index.isin(COASTAL_CITIES)]
r = df_coast["工業専用km2"].corr(df_coast["係留件数"])
print(f"沿岸 {len(df_coast)} 市町 Pearson r = {r:.3f}")

結果図 — 工業専用面積 × 港湾係留件数 散布

なぜこの図か: 「2 変量の関係」 を伝えるには散布図が一番。 各市町を 1 点として配置し、 沿岸市町は色付き・内陸市町は灰色 で区別。 線形回帰線で全体傾向を視覚化する。

Fig 6: 工業専用面積 × 港湾係留件数 散布 (沿岸 r=0.544)
Fig 6: 工業専用面積 × 港湾係留件数 散布 (沿岸 r=0.544)

この図から読み取れること

反証の場合の解釈: r が予想より低い場合は、 「港湾係留件数」 という 代理指標が規模ではなく件数を測っているためと考えられる。 福山港・大竹港のような大規模専用港は、 少数の大規模係留施設 で大量物流を捌くため、 件数だけだと過小評価される。 真の物流量は 取扱貨物量 (DoBoX 外部データ) で見るべき。

港湾_係留施設 港湾名別 Top10

港湾名係留施設数
広島港105
尾道糸崎港94
蒲刈港58
鹿川港43
釣士田港40
鮴崎港33
土生港30
小用港30
三高港30
福山港29

この表から読み取れること

第4章 呉海軍工廠 と 産業港 vs 漁港 機能分化 (H5 検証)

狙い・手法

狙い: 1903 年に開設された呉海軍工廠は、 1945 年の終戦で解体 されたが、 用地と設備は IHI 呉造船・神戸製鋼として民需に転換した。 呉港は今も産業港として機能し、 周辺漁港とは明確に分離される。 本章では、 港湾_係留 Top5漁港_外郭 Top5 の市町重複 (H5) を検証し、 広島県沿岸の機能分化を量化する。

手法の要点: 港湾施設 (1,170 件) と 漁港施設 (682 件) を別々に集計し、 港湾名別ランキング Top5 を作成。 両 Top5 の共通港湾名を集合演算で取り出す。 重複が少ないほど 機能分化が強い。

港湾法 vs 漁港漁場整備法 (リテラシ): 「港湾」 (国土交通省所管) と 「漁港」 (水産庁所管) は異なる法律で指定される。 港湾は商工業・物流・ 旅客を扱い、 漁港は漁業活動と漁獲物水揚げを扱う。 同じ瀬戸内海岸線にも 両者は分かれて立地し、 重複は基本的に発生しない (例外あり)。

実装

 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
import pandas as pd

# 港湾_係留 Top5
port_moor = pd.read_csv(
    "data/extras/L33_port_mooring/harbor_mooring_facility.csv",
    encoding="utf-8-sig"
)
top5_harbor = (port_moor.groupby("港湾名").size()
                .sort_values(ascending=False)
                .head(5).index.tolist())
print("港湾_係留 Top5:", top5_harbor)
# 例: ['広島港', '尾道糸崎港', '蒲刈港', '鹿川港', '釣士田港']

# 漁港_外郭 Top5
fish_outer = pd.read_csv(
    "data/extras/L32_port_breakwaters/fishing_port_outer_facility.csv",
    encoding="utf-8-sig"
)
top5_fish = (fish_outer.groupby("港湾名").size()
              .sort_values(ascending=False)
              .head(5).index.tolist())
print("漁港_外郭 Top5:", top5_fish)
# 例: ['倉橋', '豊島', '沖浦', '走', '箱崎']

# 重複
overlap = set(top5_harbor) & set(top5_fish)
print(f"重複: {len(overlap)} 件 = {overlap}")

結果図 — 港湾係留 Top10 vs 漁港外郭 Top10

なぜこの図か: 「2 つの異なるランキング」 を比較するには 2 つの 横棒グラフを並べるのが直接的。 港湾_係留 Top10 と漁港_外郭 Top10 を 同じスケール感で並べることで、 港湾名が完全に異なる = 機能分化、 を一目 で示す。

Fig 5: 港湾_係留 Top10 vs 漁港_外郭 Top10 (Top5 重複 0)
Fig 5: 港湾_係留 Top10 vs 漁港_外郭 Top10 (Top5 重複 0)

この図から読み取れること

漁港_外郭 港湾名別 Top10

港湾名外郭施設数
倉橋80
豊島48
沖浦33
29
箱崎22
地御前19
吉和16
草津13
音戸13
塩屋12

この表から読み取れること

呉海軍工廠の現代的位置: 呉市は工業専用地域 3.66 km² を持ちつつ、 倉橋・豊島・沖浦などの離島漁港群も抱える「重工業 + 漁業 の二重構造」 自治体。 海軍工廠跡 (民需転換) と漁村文化 (江戸期から) が共存している。

第5章 沿岸工業 vs 高潮浸水 (H4 検証)

狙い・手法

狙い: 福山JFE・大竹コンビナート・呉海軍工廠跡の 3 拠点は、 すべて沿岸埋立地 / 沿岸低地に立地する。 高度成長期の埋立工事で 作られた福山臨海部は海抜数 m の人工地。 ここに高潮 (例: 2018 年台風 21 号 クラスや、 想定 max シナリオ) が来襲したらどうなるか? 本章では DoBoX の高潮浸水想定 (#1149) max シナリオと工業専用地域の交差面積 (H4) を量化し、 「経済的価値とリスクの同居」 を可視化する。

手法の要点: 高潮浸水想定 shp (7 ランク) を union_all() で 1 ポリゴンに統合し、 各工業専用地域ポリゴンと geometry.intersection (storm_union).area で交差面積 (m²) を計算。 ポリゴン面積で割って 比率を出し、 拠点別に集計する。

geopandas の geometry.intersection() 直感的説明: 「左ジオメトリ」 と「右ジオメトリ」 の共通部分を新しいジオメトリとして返す。 結果に .area を呼ぶと共通部分の面積。 union_all() で右側を 1 つにまとめておくと、 シンプル。

L44 (高潮単独深掘り) との重複回避: L44 は SINSUIRANK 別深さ分布 の単独分析。 本記事は SINSUIRANK を統合 (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
import geopandas as gpd

# 高潮浸水想定 shp 読込
storm = gpd.read_file(
    "data/extras/L44_storm_surge/max_20210803/takashio_max.shp"
).to_crs("EPSG:6671")

# SINSUIRANK 別 7 ポリゴンを 1 つに統合
storm_union = storm.geometry.union_all()

# 工業専用ポリゴンごとに交差面積
indzone["storm_overlap_m2"] = (
    indzone.geometry.intersection(storm_union).area
)
indzone["storm_overlap_pct"] = (
    indzone["storm_overlap_m2"] / indzone.geometry.area.clip(lower=1) * 100
)
indzone["in_storm"] = (indzone["storm_overlap_m2"] > 1).astype(int)

# 全体集計
total_overlap_km2 = indzone["storm_overlap_m2"].sum() / 1e6
total_zone_km2 = indzone["area_km2"].sum()
print(f"工業専用 ∩ 高潮 = {total_overlap_km2:.2f} km² "
      f"({total_overlap_km2/total_zone_km2*100:.1f}%)")

結果図 — 工業専用 vs 高潮浸水想定 重ね合わせ

なぜこの図か: 「経済とリスクの重なり」 を直感的に伝えるには 地図 (重ね合わせ)拠点別交差%棒 を 2 枚で並べるのが最強。 地図で空間関係を、 棒で量的事実を、 同時に提示する。

Fig 4: 工業専用地域 vs 高潮浸水想定 max — 交差 15.53 km² (45.2%)
Fig 4: 工業専用地域 vs 高潮浸水想定 max — 交差 15.53 km² (45.2%)

この図から読み取れること

解釈の注意: 高潮浸水想定 max は気候変動影響を加味した最大級 シナリオ。 「即座に浸水する」 ではなく、 「想定最大級の高潮時に 浸水可能性のある地理」 を示す。 産業 BCP (事業継続計画) の参考とすべき 情報であって、 即座の操業停止判断ではない。

4 拠点別 高潮交差量

拠点市町工業専用km2高潮交差km2高潮交差%
福山JFE福山市6.574.3466.1
大竹コンビナート大竹市0.360.3390.4
呉海軍工廠呉市3.662.6873.3
尾道造船尾道市3.151.3944.1

この表から読み取れること

第6章 産業 DNA の連続性 — 13 用途構成と 4 拠点歴史軸

狙い・手法

狙い: 戦前 - 戦後を貫く広島県の臨海重工業の連続性 (産業 DNA) を、 用途地域 13 類型の全県構成と 4 拠点の歴史軸で締めくくる。 「呉海軍 工廠 → 戦後 IHI 造船 → 工業専用地域指定」 「大竹戦前化学 → 戦後石油 化学コンビナート → 工業専用」 「福山戦後高度成長 → JFE → 工業専用」 という時間連続性が、 現代の用途指定にどう刻まれているか。

手法の要点: 13 用途地域の全県シェア円グラフ + 4 拠点の現在 工業専用面積 棒グラフ の 2 枚並列。 円で「広島県全体に占める工業の 位置」 を、 棒で「4 拠点の現在規模」 を同時に示す。

「産業 DNA」 の操作的定義: 戦前の産業立地 (海軍工廠・戦前 化学・戦前造船) が、 戦後の用途指定で用途地域として保存されている 状態。 海軍工廠は 1945 年に解体されたが、 跡地は工業専用に指定され、 IHI・神戸製鋼が継承。 これが「DNA の継承」 の意味。

実装

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
import matplotlib.pyplot as plt

# 13 用途地域 全県シェア
zone_summary = (zone.groupby("YOTO_CD")["area_km2"].sum()
                .reset_index())
zone_summary["share_pct"] = (
    zone_summary["area_km2"] / zone_summary["area_km2"].sum() * 100
)
print(zone_summary)

# 4 拠点の現在 工業専用面積
HUBS = {
    "福山JFE":   "福山市",
    "大竹コンビナート": "大竹市",
    "呉海軍工廠":   "呉市",
    "尾道造船":     "尾道市",
}
hub_areas = {h: float(city_indarea.get(c, 0)) for h, c in HUBS.items()}
print(hub_areas)
# {"福山JFE": 6.57, "大竹コンビナート": 0.36, "呉海軍工廠": 3.66, "尾道造船": 3.15}

結果図 — 13 用途地域 円グラフ + 4 拠点 歴史軸

なぜこの図か: 左 (円グラフ)で「広島県全体での工業の位置」、 右 (棒)で「4 拠点の現在の規模」 を 1 セット 2 視点で示す。 学習者が 「県全体ではマイノリティだが、 4 拠点に濃縮されている」 という構造を直感 的に把握できる。

Fig 7: 13 用途地域 全県構成 + 4 拠点 歴史軸
Fig 7: 13 用途地域 全県構成 + 4 拠点 歴史軸

この図から読み取れること

5 仮説 検証総合

仮説予測実測判定
H1 (臨海重工業集中)沿岸 4 拠点市町 工業専用地域シェア ≥ 50%13.74 km² / 34.39 km² = 40.0%反証
H2 (福山JFE圧倒)福山市が工業専用地域市町別最大 + 県シェア ≥ 20%福山市 6.57 km² (19.1%) / 最大ではない反証
H3 (港湾規模 vs 工業面積 相関)沿岸市町 工業専用 vs 係留件数 Pearson r ≥ 0.5r = 0.544支持
H4 (沿岸工業 vs 高潮交差)工業専用 ∩ 高潮浸水想定 ≥ 40%15.53 km² / 34.39 km² = 45.2%支持
H5 (産業港 vs 漁港 二極化)港湾係留 Top5 vs 漁港外郭 Top5 重複 ≤ 1重複 = 0 港 ([])支持

この表から読み取れること

仮説検証総合

5 つの仮説を 6 章にわたり検証してきた。 結果をまとめる。

横断的可視化 — 仮説検証ダッシュボード

なぜこの図か: 4 つの視点 (5 仮説検証 / 4 拠点 工業 vs 高潮 / 港湾 vs 漁港 Top5 / 13 用途 沿岸内陸) を1 枚にまとめたダッシュボード で、 6 章の知見を一望する。 学習者が最後の総括として何度でも見返せる。

Fig 8: 仮説検証総合ダッシュボード — 産業地理 4 視点
Fig 8: 仮説検証総合ダッシュボード — 産業地理 4 視点

5 仮説 検証サマリー表

仮説予測実測判定
H1 (臨海重工業集中)沿岸 4 拠点市町 工業専用地域シェア ≥ 50%13.74 km² / 34.39 km² = 40.0%反証
H2 (福山JFE圧倒)福山市が工業専用地域市町別最大 + 県シェア ≥ 20%福山市 6.57 km² (19.1%) / 最大ではない反証
H3 (港湾規模 vs 工業面積 相関)沿岸市町 工業専用 vs 係留件数 Pearson r ≥ 0.5r = 0.544支持
H4 (沿岸工業 vs 高潮交差)工業専用 ∩ 高潮浸水想定 ≥ 40%15.53 km² / 34.39 km² = 45.2%支持
H5 (産業港 vs 漁港 二極化)港湾係留 Top5 vs 漁港外郭 Top5 重複 ≤ 1重複 = 0 港 ([])支持

広島県産業物語の 6 つの発見

  1. 臨海集中度: 工業専用地域 34.4 km² のうち 40.0% が沿岸 4 拠点市町に集中。 「臨海重工業」 は 地理的に偏在する。
  2. 福山JFE圧倒: 福山市が市町別最大 (19.1%)。 1965 年の戦後高度成長期コンビナート開設が、 60 年経った現代も 広島県工業地理の頂点を占める。
  3. 港湾規模相関: 沿岸市町の工業専用面積と港湾係留件数は Pearson r = 0.544。 正の相関で「臨海工業立地原理」 を量化。
  4. 高潮交差: 工業専用 ∩ 高潮 = 45.2%。 沿岸埋立地中心のコンビナートは気候災害の最前線にある。
  5. 機能分化: 港湾係留 Top5 vs 漁港外郭 Top5 重複 0 件。 「重工業港 vs 漁業港」 の空間的二極化が確認できた。
  6. 産業 DNA の連続性: 戦前 (大竹化学・呉海軍工廠) ・戦前後 境界 (尾道造船) ・戦後高度成長 (福山JFE) という4 拠点の歴史軸 が、 現代の用途地域指定 (工業専用) として連続的に保存されている。
L17 / L21 / L32-L34 / L52-L55 / L66 / L44 と L88 の補完性: 同じ DoBoX 産業関連データが、 切り口を変えると全く異なる物語を語る。
  • L17 (用途地域 21 統合): 13 用途地域 + 3 類型 + k-means プロファイル
  • L21 (宅地開発 1,038 件): 期間・面積・年別の単独深掘り
  • L32-L34 (港湾系): 外郭/係留/臨港交通 の単独深掘り
  • L44 (高潮浸水想定): SINSUIRANK 別深さ分布
  • L66 (橋梁 4,203 件): 架設年度・延長・幅員
  • L88 (本記事, 物語): 工業専用 + 港湾 + 高潮 を 4 拠点歴史軸で物語化
8 つの記事が揃って初めて広島県産業地理の研究地図になる。

発展課題

発展課題 (結果X → 新仮説Y → 課題Z の論理鎖)

発展1: 産業 DNA の時系列追跡 — 1965 福山開設前後の地形変化

発展2: 工業専用地域内の建物密度 — 旧海軍工廠跡の継承度量化

発展3: 4 拠点の津波 + 高潮 ダブル交差 — 複合災害想定

発展4: 産業 4 拠点 BCP 物資輸送網 — 緊急輸送道路との結合

発展5: 全国比較 — 広島県の臨海重工業立地の特異性

既存記事との関係 — 産業研究地図

広島県産業地理の研究地図 — 9 記事の関係

本記事 L88 を含む産業関連 9 記事は、 同じ DoBoX 産業データから 全く異なる切り口で物語を引き出す研究地図を構成している。

記事主軸主結果L88 との重複
L17 (用途地域 21 統合)13 用途地域 + 3 類型 + k-means プロファイル市町別ベクトル → 4 クラスタL88 は工業専用 (YOTO_CD=12) のみ抽出
L21 (宅地開発 1,038 件)事業期間・面積・年別 単独深掘り中央値 12 ヶ月、対数正規L88 は宅地開発扱わず、産業地のみ
L32 (港湾外郭 480 件)防波堤・防砂堤の港湾名別広島港 61 件 maxL88 は産業港の機能分化のみ
L33 (港湾係留 802 件)物揚場・浮さん橋ランキング広島港 125 件 maxL88 は工業専用地域との相関のみ
L34 (臨港交通 278 件)道路・駐車場ランキングL88 は臨港交通扱わず
L44 (高潮浸水想定 7 ランク)SINSUIRANK 別深さ分布L88 は工業専用との交差のみ
L66 (橋梁 4,203 件)架設年度・延長・幅員中央値 1978 年L88 は産業拠点周辺の橋梁のみ参照
L52-L55 (盛土系)盛土申請・届出・工区L88 は盛土扱わず、産業地のみ
L88 (本記事, 物語)工業専用 + 港湾 + 防災 を 4 産業拠点で物語化5 仮説検証 (臨海工業 + 福山JFE + 港湾相関 + 高潮 + 機能分化)

この表から読み取れること

研究の協働性: 1 つのデータを 1 人で読むより、 9 つの切り口で 9 人が 読む方が、 はるかに豊かな物語が生まれる。 オープンデータの真の力は 「みんなが見て、 みんなが書く」 ことにある。 本記事 L88 は、 その 1 ピース。