✅ このスクリプトは初回実行時にデータを自動取得します(DoBoX からの直接ダウンロード)。
| ID | データセット名 |
|---|---|
| #444 | dataset #444 |
| #795 | 都市計画区域情報_区域データ_広島市_居住誘導区域 |
| #796 | 都市計画区域情報_区域データ_広島市_都市機能誘導区域 |
| #805 | 都市計画区域情報_区域データ_呉市_居住誘導区域 |
| #806 | 都市計画区域情報_区域データ_呉市_都市機能誘導区域 |
| #812 | 都市計画区域情報_区域データ_竹原市_居住誘導区域 |
| #813 | 都市計画区域情報_区域データ_竹原市_都市機能誘導区域 |
| #822 | 都市計画区域情報_区域データ_三原市_居住誘導区域 |
| #823 | 都市計画区域情報_区域データ_三原市_都市機能誘導区域 |
| #838 | 都市計画区域情報_区域データ_福山市_居住誘導区域 |
| #839 | 都市計画区域情報_区域データ_福山市_都市機能誘導区域 |
| #848 | 都市計画区域情報_区域データ_府中市_居住誘導区域 |
| #849 | 都市計画区域情報_区域データ_府中市_都市機能誘導区域 |
| #876 | 都市計画区域情報_区域データ_東広島市_居住誘導区域 |
| #877 | 都市計画区域情報_区域データ_東広島市_都市機能誘導区域 |
| #886 | 都市計画区域情報_区域データ_廿日市市_居住誘導区域 |
| #887 | 都市計画区域情報_区域データ_廿日市市_都市機能誘導区域 |
| #888 | 都市計画区域情報_区域データ_安芸高田市_行政区域 |
| #933 | 都市計画区域情報_区域データ_広島県_居住誘導区域 |
| #934 | 都市計画区域情報_区域データ_広島県_都市機能誘導区域 |
実行コマンド:
cd "2026 DoBoX 教材"
python -X utf8 lessons/L28_urban_function_induction.py
DoBoX のオープンデータは申請不要・商用/非商用とも利用可。
data/extras/ は .gitignore 対象(約 57 GB のキャッシュ)。
スクリプト実行で自動再生成されます。
本レッスンは、広島県オープンデータポータル DoBoX の 「都市計画区域情報_区域データ_都市機能誘導区域」シリーズ 9 件 (立地適正化計画 LIP 策定済 8 市 + 県全域 1) を統合し、 「拠点ネットワーク型コンパクトシティ」の核 = 都市機能誘導区域 の幾何実装を解読する研究記事です。
KUIKI_CD=1 ポリゴン。
L19 居住誘導区域全体ではなく、都市機能拠点に近接する一部を切り出した狭い領域。
実データ確認の結果、L28 KUIKI=1 ⊆ L19 KUIKI=1 が 99.95% の包含率で実証された。
本記事では「L28 シリーズに格納された居住誘導」を区別するためにこの用語を使う。jukyo_(N) (L19) と toshikinou_(N+1) (L28) という
連番 dataset_id ペアで提供されている。
これらは同じ列構造を持つ独立 GeoJSON ファイルであり、
L19 は居住誘導の全体集合、L28 は都市機能誘導とその近接居住誘導のサブセット集合。GeoDataFrame に統合する手法geometry.intersection による
L28 ⊆ L19 包含関係の幾何的実証本記事で使う 9 dataset_id は、DoBoX で「都市計画区域情報」配下「区域データ」配下の 都市機能誘導区域シリーズ。列構造が 9 件すべて L19 と同型(FID/TOKEI_CD/CITY_CD/KUIKI_CD/RITTEKI_CD/geometry の 6 列) なので pd.concat で単純縦結合できる。
本記事の核心の問いは、L19 と L28 が同じ列構造で別の dataset_id で提供されている理由を実データから解読すること。つまり「同じ KUIKI_CD でも L28 と L19 で異なる範囲のポリゴンが格納されている」事実を発見する。
| 項目 | 値 |
|---|---|
| シリーズ | 都市計画区域情報_区域データ_都市機能誘導区域 |
| 件数 | 9 dataset_id (LIP 策定 8 市 + 広島県全域 1) |
| 形式 | GeoJSON (ZIP 内同梱) |
| CRS | EPSG:6671 (JGD2011 平面直角第III系) ※全 9 件で統一 |
| 列構造 | FID, TOKEI_CD, CITY_CD, KUIKI_CD, RITTEKI_CD, geometry の 6 列、L19 と完全同型 |
KUIKI_CD 値 | 5 値 (0/1/2/3/4) — L19 と意味体系が同じ |
| 合計ポリゴン数 (8 市別) | 1150 (内訳: 居住誘導 165, 都市機能 14, 線/その他 971) |
| 合計ポリゴン数 (県全域 ds=934) | 1150 |
| L19 隣接 dsid との関係 | 各市町で L28 dsid = L19 dsid + 1 の連番関係 |
| KUIKI_CD | 名称 | カラー | 意味 (L28 内での実態) |
|---|---|---|---|
| 0 | その他/非誘導 | 誘導指定外の参考エリア | |
| 1 | 居住誘導区域 | 近接居住誘導 (L19 の居住誘導の都市機能拠点近接サブセット) | |
| 2 | 居住誘導 境界線 | 居住誘導の境界線 (線データ; 実空間ほぼ 0 km²) | |
| 3 | 都市機能誘導区域 | 都市機能誘導区域 (本記事の主役 ─ コンパクトシティの核) | |
| 4 | 都市機能誘導 境界線 | 都市機能誘導の境界線 (線データ; 実空間ほぼ 0 km²) |
| 市町 | タイプ | L28 dsid | L19 dsid (隣接) | polys 数 | 備考 |
|---|---|---|---|---|---|
| 広島市 | 政令市 | DoBoX #796 | DoBoX #795 | 678 | toshikinou_796_広島市.zip |
| 呉市 | 中核市 | DoBoX #806 | DoBoX #805 | 53 | toshikinou_806_呉市.zip |
| 竹原市 | 市 | DoBoX #813 | DoBoX #812 | 30 | toshikinou_813_竹原市.zip |
| 三原市 | 市 | DoBoX #823 | DoBoX #822 | 15 | toshikinou_823_三原市.zip |
| 福山市 | 中核市 | DoBoX #839 | DoBoX #838 | 136 | toshikinou_839_福山市.zip |
| 府中市 | 市 | DoBoX #849 | DoBoX #848 | 7 | toshikinou_849_府中市.zip |
| 東広島市 | 施行時特例市 | DoBoX #877 | DoBoX #876 | 219 | toshikinou_877_東広島市.zip |
| 廿日市市 | 市 | DoBoX #887 | DoBoX #886 | 12 | toshikinou_887_廿日市市.zip |
| 広島県(全域) | 県 | DoBoX #934 | DoBoX #933 | 1150 | 整合性検証用 (8 市の集約版) |
本記事の再現性を担保するため、HTML 1 枚から 生データ・中間 CSV・図 PNG・再現 Python を直リンクで取得できるようにしてある。
9 件の ZIP は前項の表からそれぞれ DoBoX へリンクしている。 あるいは一括取得スクリプトを使う:
cd "2026 DoBoX 教材"
py -X utf8 data\extras\L28_urban_function_induction\fetch_urban_function_induction.py
実行は cd "2026 DoBoX 教材"; py -X utf8 lessons\L28_urban_function_induction.py。
9 ZIP がローカルにあれば 1 分以内で全図 + CSV 再生成 (要件 S 準拠)。
ZIP が無い場合は事前に fetch_urban_function_induction.py を実行。
狙い: L28 シリーズの 9 GeoJSON を 1 個の GeoDataFrame に統合し、 さらに L19 シリーズの同じ 8 市分を比較用に並べて読み込む。 両者の dataset_id ペア (L28=L19+1) を 1 つのループで扱う。
実装の要点:
BytesIO 経由で読込み (一時ファイル不要)pd.concat で単純な縦結合可能↑ L28_urban_function_induction.py 行 1453–1613
結果: L28 統合 = 1150 ポリゴン (8 市別)、
L19 統合 = 9752 ポリゴン (8 市別の比較用)、
県全域 L28 ds=934 = 1150 ポリゴン。
8 市の行政面積合計 = 3783 km² (LIP 策定 8 市)。
狙い: 「L28 と L19 は同じ列構造で別の dataset_idとして提供されている」という事実を、 KUIKI_CD 別に L28/L19 の polys 数・面積を横並び比較し、両者の関係を解読する。
実装の要点:
groupby 集計↑ L28_urban_function_induction.py 行 232–292
L28/L19 の面積比を「同じ KUIKI_CD でも何が違うか」の核心指標として、 横棒比較 + 集計棒で 2 視点から見せる。 比率の偏りが「L28 = L19 のサブセット」という主結論を直感的に伝える。

この図から読み取れること (要件 F):
| KUIKI_CD | 類型 | L28 8市計 polys | L28 8市計 面積 km² | L19 8市計 polys | L19 8市計 面積 km² | L28/L19 面積比 |
|---|---|---|---|---|---|---|
| 0 | その他/非誘導 | 44 | 0.003 | 166 | 0.003 | 119.6% |
| 1 | 居住誘導区域 | 165 | 106.198 | 563 | 285.014 | 37.3% |
| 2 | 居住誘導 境界線 | 869 | 0.034 | 8480 | 0.370 | 9.2% |
| 3 | 都市機能誘導区域 | 14 | 3.663 | 31 | 11.991 | 30.5% |
| 4 | 都市機能誘導 境界線 | 58 | 0.218 | 512 | 0.335 | 65.1% |
この表から読み取れること:
| 市町 | KUIKI | L28 polys | L19 polys | L28 km² | L19 km² | L28/L19 % |
|---|---|---|---|---|---|---|
| 広島市 | 0 (その他/非誘導) | 21 | 79 | 0.0017 | 0.0000 | 6535.6% |
| 広島市 | 1 (居住誘導区域) | 115 | 471 | 59.8252 | 145.6983 | 41.1% |
| 広島市 | 2 (居住誘導 境界線) | 542 | 3935 | 0.0067 | 0.0009 | 754.7% |
| 呉市 | 0 (その他/非誘導) | 10 | 10 | 0.0001 | 0.0001 | 98.4% |
| 呉市 | 1 (居住誘導区域) | 11 | 15 | 8.3794 | 14.8344 | 56.5% |
| 呉市 | 2 (居住誘導 境界線) | 10 | 18 | 0.0002 | 0.0003 | 89.6% |
| 呉市 | 3 (都市機能誘導区域) | 4 | 6 | 0.9936 | 1.4778 | 67.2% |
| 呉市 | 4 (都市機能誘導 境界線) | 18 | 20 | 0.2163 | 0.3203 | 67.5% |
| 竹原市 | 3 (都市機能誘導区域) | 4 | 7 | 1.7952 | 3.2900 | 54.6% |
| 竹原市 | 4 (都市機能誘導 境界線) | 26 | 118 | 0.0003 | 0.0022 | 14.0% |
| 三原市 | 0 (その他/非誘導) | 8 | 23 | 0.0012 | 0.0022 | 55.0% |
| 三原市 | 1 (居住誘導区域) | 1 | 9 | 1.0537 | 6.4275 | 16.4% |
| 三原市 | 2 (居住誘導 境界線) | 0 | 114 | 0.0000 | 0.0337 | 0.0% |
| 三原市 | 3 (都市機能誘導区域) | 1 | 8 | 0.3530 | 1.7380 | 20.3% |
| 三原市 | 4 (都市機能誘導 境界線) | 5 | 45 | 0.0013 | 0.0121 | 10.8% |
| 福山市 | 0 (その他/非誘導) | 5 | 10 | 0.0002 | 0.0003 | 56.5% |
| 福山市 | 1 (居住誘導区域) | 20 | 47 | 30.5928 | 73.1867 | 41.8% |
| 福山市 | 2 (居住誘導 境界線) | 111 | 2273 | 0.0218 | 0.3111 | 7.0% |
| 府中市 | 1 (居住誘導区域) | 1 | 3 | 1.7840 | 5.5330 | 32.2% |
| 府中市 | 2 (居住誘導 境界線) | 6 | 31 | 0.0052 | 0.0231 | 22.3% |
| 東広島市 | 0 (その他/非誘導) | 0 | 44 | 0.0000 | 0.0000 | 0.0% |
| 東広島市 | 1 (居住誘導区域) | 9 | 15 | 3.2272 | 20.5694 | 15.7% |
| 東広島市 | 2 (居住誘導 境界線) | 200 | 2104 | 0.0002 | 0.0005 | 35.8% |
| 東広島市 | 3 (都市機能誘導区域) | 2 | 8 | 0.3096 | 3.9472 | 7.8% |
| 東広島市 | 4 (都市機能誘導 境界線) | 8 | 328 | 0.0000 | 0.0000 | 16.2% |
| 廿日市市 | 1 (居住誘導区域) | 8 | 3 | 1.3358 | 18.7649 | 7.1% |
| 廿日市市 | 2 (居住誘導 境界線) | 0 | 5 | 0.0000 | 0.0000 | 0.0% |
| 廿日市市 | 3 (都市機能誘導区域) | 3 | 2 | 0.2119 | 1.5384 | 13.8% |
| 廿日市市 | 4 (都市機能誘導 境界線) | 1 | 1 | 0.0000 | 0.0000 | 199.0% |
この表から読み取れること:
狙い: L28 シリーズの KUIKI=1 (居住誘導) ポリゴンが、 L19 シリーズの KUIKI=1 (居住誘導) ポリゴンに完全に含まれているか (L28 ⊆ L19) を幾何 intersection で実証する。
手法 — geometry.intersection を使った包含検証:
dissolve() で 1 つの幾何に統合dissolve() で統合g28.intersection(g19) で共通部分の幾何を取得inter.area / 1e6geometry 列、
出力 = 包含率 (%) と はみ出し面積 (km²)↑ L28_urban_function_induction.py 行 285–330
(a) L19 全体 → (b) L28 切り出し → (c) 都市機能拠点ズーム の 3 段階で、 「L28 が L19 のサブセット」かつ「L28 KUIKI=3 が L28 KUIKI=1 内に位置する」二重入れ子を 1 図で見せる。廿日市市を例に選んだのは L19/L28 の差分が最も明瞭で、 かつ KUIKI=3 拠点 3 個が独立して見えるため。

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

この図から読み取れること:
| 市町 | L28 KUIKI=1 km² | L19 KUIKI=1 km² | L28 ∩ L19 / L28 (%) | L28 \ L19 km² (はみ出し) | 判定 |
|---|---|---|---|---|---|
| 広島市 | 59.825 | 145.698 | 99.93% | 0.0413 | 完全包含 (L28 ⊆ L19) |
| 呉市 | 8.379 | 14.834 | 100.00% | 0.0001 | 完全包含 (L28 ⊆ L19) |
| 竹原市 | 0.000 | 0.000 | N/A (両 0) | 0.0000 | — |
| 三原市 | 1.054 | 6.427 | 100.00% | 0.0000 | 完全包含 (L28 ⊆ L19) |
| 福山市 | 30.593 | 73.187 | 100.00% | 0.0001 | 完全包含 (L28 ⊆ L19) |
| 府中市 | 1.784 | 5.533 | 100.00% | 0.0000 | 完全包含 (L28 ⊆ L19) |
| 東広島市 | 3.227 | 20.569 | 100.00% | 0.0000 | 完全包含 (L28 ⊆ L19) |
| 廿日市市 | 1.336 | 18.765 | 99.95% | 0.0007 | 完全包含 (L28 ⊆ L19) |
この表から読み取れること:
狙い: 都市機能誘導区域 (KUIKI=3) の構造 ─ 拠点数・拠点総面積・拠点間平均距離・近接居住誘導との重なり ─ を 8 市で計量し、 「拠点ネットワーク型コンパクトシティ」の幾何実装を読み取る。
手法 — 拠点 (point) ベース距離指標:
representative_point) の座標を取得。
拠点間のユークリッド距離 (m) を計算し、km に変換。centroid) は形状が複雑な場合にポリゴンの外に出ることがあるため、
確実にポリゴン内の点を返す representative_point が安全。↑ L28_urban_function_induction.py 行 1839–1928
都市機能誘導の規模ランキングと人口対比の拠点数の 2 視点で、 「人口の多い市ほど多核」の仮説を一目で確認できる図にした。 バブル散布の点サイズが拠点総面積を示すので、市町タイプ・人口・拠点数・規模の 4 次元情報を 1 図で表現できる。

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

この図から読み取れること ─ 本記事の最大発見:
| 市町 | タイプ | 行政 km² | 人口千人 | 拠点数 | 拠点総面積 km² | 行政比率 % | 拠点間平均距離 km | 拠点→L28 K1 km | 拠点→L19 K1 km |
|---|---|---|---|---|---|---|---|---|---|
| 広島市 | 政令市 | 957.4 | 1189 | 0 (未指定) | L28 シリーズに KUIKI=3 ポリゴンなし | ||||
| 呉市 | 中核市 | 388.4 | 210 | 4 | 0.994 | 0.2558 | 3.72 | 3.06 | 3.06 |
| 竹原市 | 市 | 117.9 | 24 | 4 | 1.795 | 1.5232 | 6.55 | — | — |
| 三原市 | 市 | 478.6 | 90 | 1 | 0.353 | 0.0738 | — | 7.27 | 1.83 |
| 福山市 | 中核市 | 521.3 | 459 | 0 (未指定) | L28 シリーズに KUIKI=3 ポリゴンなし | ||||
| 府中市 | 市 | 195.6 | 37 | 0 (未指定) | L28 シリーズに KUIKI=3 ポリゴンなし | ||||
| 東広島市 | 施行時特例市 | 634.7 | 198 | 2 | 0.310 | 0.0488 | 18.10 | 8.67 | 5.40 |
| 廿日市市 | 市 | 489.1 | 117 | 3 | 0.212 | 0.0433 | 3.35 | 7.87 | 5.14 |
この表から読み取れること:
狙い: 8 LIP 市の都市機能誘導と近接居住誘導の地理配置を主題図で俯瞰し、 さらに small multiples で各市の拠点パターンを比較する。
L28 シリーズが県内 8 市にどう分布しているかを、行政背景の上に重ね描き。

この図から読み取れること:
各市を独立 panel で比較。同一スケールで配置することで「規模差」と「拠点パターン差」が並列に見える。

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

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

この図から読み取れること:
狙い: 8 市別 8 ファイルの合計と、県全域版 ds=934 (1 ファイル, 1150 ポリゴン) の同一性を確認する。 DoBoX が「重複データ」を別 dataset_id で配信していることが多いため、 両者が一致するかはデータの整合性 (consistency)の根本検証となる。

この図から読み取れること:
| KUIKI_CD | 類型 | 8 市別 polys | 8 市別 km² | 県全域 ds=934 polys | 県全域 km² | 差 (面積 %) |
|---|---|---|---|---|---|---|
| 0 | その他/非誘導 | 44 | 0.0032 | 44 | 0.0032 | -0.0000% |
| 1 | 居住誘導区域 | 165 | 106.1981 | 165 | 106.1981 | -0.0000% |
| 2 | 居住誘導 境界線 | 869 | 0.0340 | 869 | 0.0340 | +0.0000% |
| 3 | 都市機能誘導区域 | 14 | 3.6633 | 14 | 3.6633 | +0.0000% |
| 4 | 都市機能誘導 境界線 | 58 | 0.2179 | 58 | 0.2179 | +0.0000% |
この表から読み取れること:
| 仮説 | 主張 | 主要結果 | 判定 |
|---|---|---|---|
| H1 | L28 シリーズは L19 居住誘導のサブセット (L28 KUIKI=1 / L19 KUIKI=1 = 30-50%) | L28 KUIKI=1 / L19 KUIKI=1 平均 30.1% (期待 30-50%) | 支持 |
| H2 | L28 KUIKI=1 ⊆ L19 KUIKI=1 (L28 ∩ L19 / L28 ≈ 100%, L28 \ L19 < 0.1 km²) | L28 ⊆ L19 包含率平均 99.98% (期待 ≥ 95%)、はみ出し最大 0.0413 km² | 支持 |
| H3 | 拠点ネットワーク型: 都市機能誘導 拠点と居住誘導の最短距離 < 1 km | 拠点 → L19居住誘導 最短距離平均 3.86 km (期待 < 1)、包含率 0.0% | 反証 (重要発見: 分離型 LIP) |
| H4 | 都市機能誘導は 1〜2 km²/市 の小規模; 大都市は多核拠点 | 拠点指定 5 市 / 8 市、平均拠点総面積 0.73 km², 平均拠点数 2.8 | 支持 |
| H5 | 8 市別 GeoJSON 合計と県全域 ds=934 が完全一致 | 8 市別合計 vs 県全域: 面積差 < 0.001%、件数完全一致 | 支持 |
この表から読み取れること: