✅ このスクリプトは初回実行時にデータを自動取得します(DoBoX からの直接ダウンロード)。
| ID | データセット名 |
|---|---|
| #444 | dataset #444 |
| #555 | 土砂災害警戒区域・特別警戒区域情報_尾道市 |
| #666 | dataset #666 |
| #795 | 都市計画区域情報_区域データ_広島市_居住誘導区域 |
| #805 | 都市計画区域情報_区域データ_呉市_居住誘導区域 |
| #812 | 都市計画区域情報_区域データ_竹原市_居住誘導区域 |
| #822 | 都市計画区域情報_区域データ_三原市_居住誘導区域 |
| #838 | 都市計画区域情報_区域データ_福山市_居住誘導区域 |
| #848 | 都市計画区域情報_区域データ_府中市_居住誘導区域 |
| #876 | 都市計画区域情報_区域データ_東広島市_居住誘導区域 |
| #886 | 都市計画区域情報_区域データ_廿日市市_居住誘導区域 |
| #888 | 都市計画区域情報_区域データ_安芸高田市_行政区域 |
| #933 | 都市計画区域情報_区域データ_広島県_居住誘導区域 |
| #999 | dataset #999 |
実行コマンド:
cd "2026 DoBoX 教材"
python -X utf8 lessons/L19_residential_induction.py
DoBoX のオープンデータは申請不要・商用/非商用とも利用可。
data/extras/ は .gitignore 対象(約 57 GB のキャッシュ)。
スクリプト実行で自動再生成されます。
本レッスンは、広島県オープンデータポータル DoBoX の 「都市計画区域情報_区域データ_居住誘導区域」シリーズ 9 件 (立地適正化計画 LIP 策定済 8 市 + 県全域 1) を統合し、 広島県の「コンパクトシティ+ネットワーク」実装構造を読み解く研究記事です。
KUIKI_CD.isin([1, 3]) でフィルタ。KUIKI_CD.isin([1, 3]) でフィルタが必須。GeoDataFrame に統合し、
KUIKI_CD のフラグ別構造 (面 vs 線) を識別する手法dissolve(by=["source_city", "KUIKI_CD"]) による
市町×類型ごとの幾何統合と、面積・周長・連結成分・円形度の計量geometry.intersection で実施し、
「拠点ネットワーク型 LIP」の幾何学的整合性を定量化する手法本記事で使う 9 dataset_id は、DoBoX で「都市計画区域情報」配下「区域データ」配下の 居住誘導区域シリーズである (LIP 策定 8 市 + 県全域 1)。列構造が 9 件すべてで完全に同一(FID/TOKEI_CD/CITY_CD/KUIKI_CD/RITTEKI_CD/geometry の 6 列) であることが事前監査で確認済みのため、pd.concat による単純な縦結合で県全域 GeoDataFrame が組み立てられる。KUIKI_CD フラグ (5 値: 0/1/2/3/4) で居住誘導/都市機能誘導/境界線/その他を識別する。L18 の市街化/調整シリーズとは KUIKI_CD の意味体系が異なる (L18 は 1=市街化, 2=調整 の 2 値、L19 は 5 値)。また1 ファイルに『面データ』と『線データ』が混在するため、面解析時は KUIKI_CD.isin([1, 3]) でフィルタが必須。
| 項目 | 値 |
|---|---|
| シリーズ | 都市計画区域情報_区域データ_居住誘導区域 |
| 件数 | 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 列、全 9 件で同一 |
KUIKI_CD 値 | 5 値 (0/1/2/3/4) — 詳細は下表 |
RITTEKI_CD 値 | 常に 1 (立地適正化計画対象フラグの定数列) |
| ジオメトリ型 | Polygon (広島市・県全域は MultiPolygon 混在) |
| 合計ポリゴン数 (8 市別) | 9752 (内訳: 居住誘導 563, 都市機能 31, 線/その他 9158) |
| 合計ポリゴン数 (県全域) | 9752 |
| KUIKI_CD | 名称 | カラー | 意味 |
|---|---|---|---|
| 0 | その他/非誘導 | 誘導指定外の参考エリア | |
| 1 | 居住誘導区域 | 都計法 81 条 / 都市再生特別措置法 — 居住を誘導 | |
| 2 | 居住誘導 境界線 | 面ではなく線データ (境界の細片) | |
| 3 | 都市機能誘導区域 | 商業・医療・行政等の都市機能を誘導 | |
| 4 | 都市機能誘導 境界線 | 面ではなく線データ |
| 市町 | タイプ | 行政面積 km² | 人口 (千人) | dataset | polys 数 | 備考 |
|---|---|---|---|---|---|---|
| 広島市 | 政令市 | 906.7 | 1189 | DoBoX #795 | 4485 | jukyo_795_広島市.zip |
| 呉市 | 中核市 | 352.8 | 210 | DoBoX #805 | 69 | jukyo_805_呉市.zip |
| 竹原市 | 市 | 118.2 | 24 | DoBoX #812 | 125 | jukyo_812_竹原市.zip |
| 三原市 | 市 | 471.6 | 90 | DoBoX #822 | 199 | jukyo_822_三原市.zip |
| 福山市 | 中核市 | 518.1 | 459 | DoBoX #838 | 2330 | jukyo_838_福山市.zip |
| 府中市 | 市 | 195.8 | 37 | DoBoX #848 | 34 | jukyo_848_府中市.zip |
| 東広島市 | 施行時特例市 | 635.3 | 198 | DoBoX #876 | 2499 | jukyo_876_東広島市.zip |
| 廿日市市 | 市 | 489.5 | 117 | DoBoX #886 | 11 | jukyo_886_廿日市市.zip |
| 広島県(全域) | 県 | — | — | DoBoX #933 | 9752 | 整合性検証用 (8 市の集約版) |
| 市町 | タイプ | 行政面積 km² | 人口 (千人) | 備考 |
|---|---|---|---|---|
| 尾道市 | 市 | 285.1 | 130 | 居住誘導区域ファイル無し (LIP 未策定) |
| 大竹市 | 市 | 78.7 | 26 | 居住誘導区域ファイル無し (LIP 未策定) |
| 三次市 | 市 | 778.1 | 50 | 居住誘導区域ファイル無し (LIP 未策定) |
| 庄原市 | 市 | 1246.5 | 33 | 居住誘導区域ファイル無し (LIP 未策定) |
| 安芸高田市 | 市 | 537.8 | 27 | 居住誘導区域ファイル無し (LIP 未策定) |
| 江田島市 | 市 | 100.7 | 22 | 居住誘導区域ファイル無し (LIP 未策定) |
| 府中町 | 町 | 10.4 | 53 | 居住誘導区域ファイル無し (LIP 未策定) |
| 海田町 | 町 | 13.8 | 30 | 居住誘導区域ファイル無し (LIP 未策定) |
| 熊野町 | 町 | 33.7 | 23 | 居住誘導区域ファイル無し (LIP 未策定) |
| 坂町 | 町 | 15.7 | 12 | 居住誘導区域ファイル無し (LIP 未策定) |
| 北広島町 | 町 | 646.2 | 17 | 居住誘導区域ファイル無し (LIP 未策定) |
| 世羅町 | 町 | 278.2 | 15 | 居住誘導区域ファイル無し (LIP 未策定) |
広島県全 23 自治体 (21 市町 + 2 単体) のうち、本記事は 21 市町を対象とする (安芸太田町・大崎上島町・神石高原町はL15 行政区域に含まれず、DoBoX で取得しなかったため除外)。立地適正化計画の策定状況は 2025 年現在の DoBoX 公開データに基づく — 計画は任意制度のため、未策定市町は法的に問題ない。
本記事の再現性を担保するため、HTML 1 枚から 生データ・中間 CSV・図 PNG・再現 Python を直リンクで取得できるようにしてある。
9 件の ZIP は前項の表からそれぞれ DoBoX へリンクしている。 あるいは一括取得スクリプトを使う:
cd "2026 DoBoX 教材"
py -X utf8 data\extras\L19_residential_induction\fetch_residential_induction.py
実行は cd "2026 DoBoX 教材"; py -X utf8 lessons\L19_residential_induction.py。
9 ZIP がローカルにあれば 1 分以内で全図 + CSV 再生成 (要件 S 準拠)。
ZIP が無い場合は事前に fetch_residential_induction.py を実行。
9 個の ZIP (8 市別 + 県全域) を、プログラム上は 1 個の GeoDataFrame として扱える形にする。9 件すべてが同列構造 (FID/TOKEI_CD/CITY_CD/KUIKI_CD/RITTEKI_CD/geometry の 6 列) であることが事前監査で確認済みなので、和集合化なしで縦結合できる。ただしL18 の市街化/調整シリーズとは KUIKI_CD の意味が異なる点 (L18 は 2 値 1/2、本記事は 5 値 0-4) と、1 ファイルに面データと線データが混在する点は丁寧に扱う。
直感: ZIP×8→geopandas→属性付与→concat→KUIKI_CD 展開→面/線フラグ の 6 ステップ。KUIKI_CD は 5 値の数値フラグなので、辞書 1 つで名前展開すれば良い。面データ (KUIKI=1,3) と線データ (KUIKI=2,4) を is_area/is_line 列で識別し、面分析時は zone[zone['is_area']] で絞る。県全域 ds={KEN_DSID} は整合性検証用として別途読み込み、本論の主分析には使わない。
大筋 (6 ステップ)
load_geojson_zip() で読むsource_city/source_dsid/ctype 列を付与pd.concat で縦結合 → 9752 行 1 個to_crs(EPSG:6671) で広島県平面直角座標系に投影変換is_area/is_line フラグで面/線を識別入出力: 入力 = 8 ZIP、出力 = 9752 行 × 13 列の GeoDataFrame 1 個。県全域 ds=933 も別途読み込み、整合性検証用に使う。21 行政区域 (L15 共有) も背景描画用に統合する。
前提と限界: 9 件の列構造が同一であることが大前提 (事前監査で OK 確認済)。KUIKI_CD の意味体系は L18 とは違うので、L18 のコードをそのまま流用できない。本記事独自の凡例辞書を用意した。
パラメータの意味: TARGET_CRS=EPSG:6671 は広島県専用の平面直角座標系で、面積計算が m² 単位で正確になる。緯度経度 (EPSG:4326) のままだと面積が度² になり意味がない。
↑ L19_residential_induction.py 行 80–251
| 段階 | 形 | サイズ | このデータで起きていること |
|---|---|---|---|
| ① 元 ZIP | ZIP (中身は 1 個の .geojson) | 2.6 MB | 広島市の居住誘導区域 + 都市機能誘導 + 境界線 計 4485 ポリゴン |
② load_geojson_zip() 後 | GeoDataFrame | 4485 行 × 6 列 | FID, TOKEI_CD, CITY_CD (101-108 8 区), KUIKI_CD (0/1/2 混在), RITTEKI_CD (=1), geometry |
| ③ 属性付与 | GeoDataFrame | 4485 行 × 9 列 | source_city, source_dsid, ctype 付与 |
④ pd.concat (8 GDF) | GeoDataFrame | 9752 行 × 9 列 | 8 市分が 1 個に縦結合される (広島市 4485 + 呉市 69 + ... + 廿日市市 11) |
⑤ to_crs(EPSG:6671) | GeoDataFrame | 9752 行 | JGD2011 平面直角第III系 (m 単位) に投影変換 |
| ⑥ KUIKI_NAME + 面積計算 + is_area/is_line | GeoDataFrame | 9752 行 × 13 列 | KUIKI_NAME 文字列展開、poly_area_km2, poly_perim_km, is_area, is_line 4 列追加 |
| ⑦ 面データのみ抽出 | GeoDataFrame | 594 行 | zone[zone['is_area']] で面 (KUIKI=1,3) のみに絞る。線データ (KUIKI=2,4) は実空間面積ほぼ 0 で集計上のノイズになるため除く |
このステップで zone (9752 行 × 13 列、うち面 KUIKI=1,3 が 594 行、線 KUIKI=2,4 が 8992 行) と ken (9752 行、県全域版) と admin_diss (21 市町、LIP 策定/非策定フラグ付) が用意できた。以降の分析は全部これで完結する。面データと線データは zone[zone['is_area']] / zone[zone['is_line']] で簡単に分離できる。
統合した zone から、(a) 全県スケールの KUIKI_CD 別集計、(b) 市町×KUIKI_CD ごとの dissolve 集計 (居住誘導の連結成分構造)、(c) 8 市のサマリ DataFrame (面積・行政比率・主島・粒度) を一気に作る。全県スケールの集計は H1 (LIP 策定の人口集中) と H2 (居住誘導 << 行政) の検証材料を用意するためで、市町×類型 dissolve は H3 (入れ子) と H4 (粒度差) のため。
直感: groupby で全県 KUIKI_CD 別集計、dissolve(by=...) で市町×類型ごとに幾何統合 (生のポリゴンを 1 つの大きい面にまとめる)。dissolve は同じ市町・同じ KUIKI_CD のポリゴン群を 1 つの (Multi)Polygon に統合し、n_parts で連結成分数 (= 飛び地の数) が分かる。面データのみを対象にする (線データを dissolve しても意味のある面にならない)。
独自指標『円形度 (compactness)』: 4πA/P² で計算。完全円なら 1、細長い形ほど 0 に近づく。市町ごとに居住誘導の形がコンパクトか細長いかの指標になる。
サマリ DataFrame の主要列: jukyo_area_km2 (居住誘導面積)、kinou_area_km2 (都市機能誘導面積)、jukyo_in_admin_pct (居住誘導/行政面積)、kinou_in_jukyo_pct (都市機能/居住誘導 — 入れ子率の上限近似)、main_island_share_pct (主島シェア)、n_polys_jukyo (居住誘導ポリゴン数; 粒度指標)、compactness_jukyo (円形度) 等。
↑ L19_residential_induction.py 行 1676–1730
| KUIKI_CD | 名称 | ポリゴン数 | 面積 km² | 周長 km | 1 ポリゴン平均面積 km² |
|---|---|---|---|---|---|
| 1 | 居住誘導区域 | 563 | 285.014 | 2106.6 | 0.506242 |
| 3 | 都市機能誘導区域 | 31 | 11.991 | 141.3 | 0.386821 |
| 2 | 居住誘導 境界線 | 8480 | 0.370 | 592.4 | 0.000044 |
| 4 | 都市機能誘導 境界線 | 512 | 0.335 | 34.4 | 0.000654 |
| 0 | その他/非誘導 | 166 | 0.003 | 15.4 | 0.000016 |
表 1 から読み取れること:
is_area でフィルタすることが、面解析の正しいやり方であると確認。| 市町 | その他/非誘導 | 居住誘導 境界線 | 居住誘導区域 | 都市機能誘導 境界線 | 都市機能誘導区域 | 合計 |
|---|---|---|---|---|---|---|
| 広島市 | 0.000 | 0.001 | 145.698 | 0.000 | 0.000 | 145.699 |
| 呉市 | 0.000 | 0.000 | 14.834 | 0.320 | 1.478 | 16.632 |
| 竹原市 | 0.000 | 0.000 | 0.000 | 0.002 | 3.290 | 3.292 |
| 三原市 | 0.002 | 0.034 | 6.427 | 0.012 | 1.738 | 8.213 |
| 福山市 | 0.000 | 0.311 | 73.187 | 0.000 | 0.000 | 73.498 |
| 府中市 | 0.000 | 0.023 | 5.533 | 0.000 | 0.000 | 5.556 |
| 東広島市 | 0.000 | 0.000 | 20.569 | 0.000 | 3.947 | 24.516 |
| 廿日市市 | 0.000 | 0.000 | 18.765 | 0.000 | 1.538 | 20.303 |
表 2 から読み取れること:
21 市町中なぜ 8 市だけが LIP を策定したのか。人口・面積・人口密度の 3 軸で「策定 vs 非策定」の境界線を可視化し、LIP 策定の選別ロジックを読み解く (H1 の検証)。
図 1 (主題図): 21 市町を地理的に並べ、LIP 策定/非策定で色分けし、策定市内には居住誘導区域 (青) と都市機能誘導 (赤) を上書きする。「県内のどこが LIP 対象で、どこが対象外か」を一目で把握できる。図 4 (規模散布): 行政面積 vs 人口の log-log 散布で、策定/非策定がどの規模帯で分かれるかを定量化。boxplot で人口密度の中央値差も比較。
21 市町行政区域を admin_diss[lip] でフィルタしながら塗り分け、上書きで zone[KUIKI_CD==1]/[KUIKI_CD==3] をそれぞれ重ねる。boxplot は plt.boxplot で 2 群 (策定/非策定) の分布を比較。中央値差を log スケールで見ると 1 桁 (10 倍) のオーダーで違うはず。

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

図 4 から読み取れること:
8 LIP 市の個別の地理形状と居住誘導の行政面積比を見ることで、「コンパクトシティ」が本当に『コンパクト』なのか定量化する (H2 検証)。市町別 small multiples で形状の哲学差を、ランキング棒グラフで規模感を提示。
図 2 (small multiples): 8 市の個別形状を並列比較。「広島市は中心都市の 145 km²」「廿日市市は西側沿岸の 19 km²」など、市域全体に対する居住誘導の相対位置を直感的に把握。図 3 (行政比率 + 容器密度): ランキングで市町間の偏りを定量化。右の容器密度 (人口/居住誘導面積) は H2 の補助指標で、居住誘導の現状受け皿としての適切さを示す。
small multiples は plt.subplots(2, 4) で 2×4 個の panel を作り、各 panel に行政区域→居住誘導→都市機能誘導 の 3 層を重ねる。ランキングは city_summary.sort_values('jukyo_in_admin_pct') で並べ、都市タイプで色分け。容器密度 = 人口千人×1000 / 居住誘導 km² で計算。

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

図 3 から読み取れること:
| 市町 | タイプ | 行政面積 km² | 居住誘導 km² | 都市機能 km² | 居住/行政 % | 都市機能/行政 % | 人口千人 | 居住容器密度 人/km² |
|---|---|---|---|---|---|---|---|---|
| 広島市 | 政令市 | 957.4 | 145.70 | 0.000 | 15.22% | 0.000% | 1,189 | 8,161 |
| 福山市 | 中核市 | 521.3 | 73.19 | 0.000 | 14.04% | 0.000% | 459 | 6,272 |
| 廿日市市 | 市 | 489.1 | 18.76 | 1.538 | 3.84% | 0.315% | 117 | 6,235 |
| 呉市 | 中核市 | 388.4 | 14.83 | 1.478 | 3.82% | 0.380% | 210 | 14,156 |
| 東広島市 | 施行時特例市 | 634.7 | 20.57 | 3.947 | 3.24% | 0.622% | 198 | 9,626 |
| 府中市 | 市 | 195.6 | 5.53 | 0.000 | 2.83% | 0.000% | 37 | 6,687 |
| 三原市 | 市 | 478.6 | 6.43 | 1.738 | 1.34% | 0.363% | 90 | 14,002 |
| 竹原市 | 市 | 117.9 | 0.00 | 3.290 | 0.00% | 2.792% | 24 | — |
表 3 から読み取れること:
「コンパクトシティ+ネットワーク」理論では、都市機能誘導 ⊆ 居住誘導 の入れ子関係が前提 (都市機能は居住域の中心拠点として配置される) とされる。本記事の 8 市データで、この入れ子が幾何学的に成立しているか検証する (H3)。結果は理論を反証する重要な発見となった。
直感: 各市町について、居住誘導 polygon (KUIKI=1 の dissolve) と 都市機能誘導 polygon (KUIKI=3 の dissolve) を取り出し、g_kinou.intersection(g_jukyo) で共通エリアを計算。そのエリアの面積を都市機能誘導の総面積で割れば入れ子率 %になる。100% なら完全な入れ子、0% なら全く重ならない (= 分離型)。重なり 0% の場合は、最近接距離 (km) を g_j.distance(g_k) で計算し、「居住誘導と都市機能誘導がどれだけ離れているか」を把握する。
大筋 (4 ステップ)
g_kinou.intersection(g_jukyo) で共通部分の面積を計算g_j.distance(g_k) で最近接距離を計算↑ L19_residential_induction.py 行 2013–2050

図 6 から読み取れること (重要発見):
| 市町 | 居住誘導 km² | 都市機能 km² | 都市機能 ∩ 居住誘導 / 都市機能 (%) | 居住誘導外の都市機能 km² |
|---|---|---|---|---|
| 呉市 | 14.83 | 1.478 | 0.0% | 1.4778 |
| 三原市 | 6.43 | 1.738 | 0.0% | 1.7380 |
| 東広島市 | 20.57 | 3.947 | 0.0% | 3.9472 |
| 廿日市市 | 18.76 | 1.538 | 0.0% | 1.5384 |
| 竹原市 | 0.00 | 3.290 | —(居住誘導無し) | 0.0000 |
表 4 から読み取れること:
同じ「居住誘導区域」でも、市町によってデータの粒度 (= 1 ポリゴンの細かさ) が大きく異なる。広島市 4485 polys vs 廿日市市 11 polys は計画策定スタンスの哲学差を反映している (H4)。本セクションでは粒度を 3 角度から定量化:(a) ポリゴン数、(b) 1 ポリゴン平均面積、(c) 連結成分数。
図 7 (粒度散布): 居住誘導の面積 vs polys 数 を log-log プロットすると、同面積で polys が多い市は細密モデル化、polys が少ない市は大括りと一目で分かる。横ランキングで定量比較。図 8 (KUIKI_CD 構成 stack): 各市の KUIKI_CD 別の構成比を log スケールで提示し、「線データ (KUIKI=2,4) がどの市でも面データを上回るか」を確認 (H5)。

図 7 から読み取れること:
| 市町 | 居住誘導 polys 数 | 面積 km² | 1 ポリゴン平均 km² | 連結成分数 | 円形度 (4πA/P²) |
|---|---|---|---|---|---|
| 広島市 | 471 | 145.70 | 0.3093 | 438 | 0.0013 |
| 三原市 | 9 | 6.43 | 0.7142 | 9 | 0.0248 |
| 呉市 | 15 | 14.83 | 0.9890 | 15 | 0.0160 |
| 東広島市 | 15 | 20.57 | 1.3713 | 15 | 0.0093 |
| 福山市 | 47 | 73.19 | 1.5572 | 47 | 0.0046 |
| 府中市 | 3 | 5.53 | 1.8443 | 3 | 0.1398 |
| 廿日市市 | 3 | 18.76 | 6.2550 | 3 | 0.0286 |
表 5 から読み取れること:

図 8 から読み取れること:
is_area フィルタが必須であることを視覚化。居住誘導が1 つの塊 (中心集中型) か複数の飛び地 (分散型) かを定量化する。連結成分数と主島シェアで、市町の都市構造の核数を明らかにする。
直感: dissolve した市町ごとの居住誘導 (Multi)Polygon を、geom.geoms で個別の Polygon に分割し、面積最大のものを「主島」、それ以外を「飛び地」とする。
主島シェア % = 主島の面積 / 居住誘導全体面積 × 100。100% に近い = 単一の中心集中型、低いほど分散飛び地都市化。

図 5 から読み取れること:
| 市町 | 連結成分数 (= 飛び地数) | 主島シェア % | 主島面積 km² | 飛び地計面積 km² |
|---|---|---|---|---|
| 広島市 | 438 | 22.6% | 32.86 | 112.84 |
| 呉市 | 15 | 27.9% | 4.15 | 10.69 |
| 東広島市 | 15 | 41.3% | 8.49 | 12.07 |
| 福山市 | 47 | 53.6% | 39.20 | 33.99 |
| 三原市 | 9 | 82.2% | 5.28 | 1.14 |
| 廿日市市 | 3 | 94.2% | 17.67 | 1.10 |
| 府中市 | 3 | 94.7% | 5.24 | 0.29 |
表 6 から読み取れること:
4 つの定量指標 (居住誘導比率・主島シェア・居住誘導面積・polys 数) で 8 LIP 市をk-means クラスタリングし、都市制御プロファイルのパターンを発見する。
直感: 各市町を 4 次元の数値 (= 4 列の表データ) で表現し、似ているもの同士をグループ化する手法。k=3 として 8 市を 3 グループに分ける (居住誘導なしの竹原市は除外して 7 市で分類)。
大筋 (3 ステップ)
StandardScaler で標準化 (スケール差を吸収: 居住誘導面積は km² で 0-150、polys 数は 0-4500 とスケールが大きく違うため)KMeans(n_clusters=3, random_state=42, n_init=10) で 3 グループに分類シルエット係数: 0.428。1 に近いほど良いクラスタ分離。0.3 以上で「ある程度納得できる分類」、0.5 以上で「明確な分類」。サンプル数が少ない (n=7) ので絶対値より地理直観との一致を重視する。

図 9 から読み取れること:
| クラスタ・タグ | 所属市町 | n | 居住/行政 % | 主島シェア % | 居住誘導 km² | polys 数 |
|---|---|---|---|---|---|---|
| C0: 小規模特化型 | 三原市, 府中市, 廿日市市 | 3 | 2.67% | 90% | 10.2 | 5 |
| C1: 中核都市標準型 | 広島市 | 1 | 15.22% | 23% | 145.7 | 471 |
| C2: 大規模都市核型 | 呉市, 福山市, 東広島市 | 3 | 7.03% | 41% | 36.2 | 26 |
| (対象外) | 竹原市 | 1 | 0% | — | 0 (居住誘導なし) | 0 |
表 7 から読み取れること:
本記事のメイン (8 市別 8 ファイルの統合) と、DoBoX 集約版 (県全域 ds=933) が同じデータを表していることを面積・ポリゴン数で検証する。差が大きいなら統合方法に欠陥がある可能性。

図 10 から読み取れること:
pd.concat + to_crs(EPSG:6671) の統合方法が正しいことを確認。| データ源 | 合計面積 km² | polys 数 | 備考 |
|---|---|---|---|
| 居住誘導 8市別 GeoJSON 積算 | 285.014 | 563 | 本記事のメイン (8 市別 8 ファイルの居住誘導 KUIKI=1) |
| 居住誘導 県全域 ds=933 | 285.014 | 563 | DoBoX 集約版 (重複コピー検証用) |
| 都市機能誘導 8市別 GeoJSON 積算 | 11.991 | 31 | 本記事のメイン (KUIKI=3) |
| 都市機能誘導 県全域 ds=933 | 11.991 | 31 | DoBoX 集約版 |
| 仮説 | 主張 | 主要結果 | 判定 |
|---|---|---|---|
| H1 | LIP 策定 8 市は人口集中型 — 県人口の 7-8 割を占める | 策定_8市人口千: 2324 21市町人口計千: 2762 策定_人口シェア_pct: 84.14 策定_平均人口千: 290.5 非策定_平均人口千: 36.5 | 支持 |
| H2 | 居住誘導 << 行政面積 (期待 5-10%) | 居住誘導_8市計_km2: 285.01 8市行政面積計_km2: 3688.0 居住誘導_行政比率_pct: 7.73 市町別平均_pct: 6.33 市町別最大: {'city': '広島市', 'pct': np.float64(15.22)} | 支持 |
| H3 | 都市機能誘導 ⊆ 居住誘導 入れ子 (拠点ネットワーク型) | 重なり率_平均_pct: 0.0 重なり率_最小_市町: [{'city': '呉市', 'pct': 0.0}, {'city': '三原市', 'pct': 0.0}, {'city': '東広島市', 'pct': 0.0}] 都市機能_持つ市数: 5 解釈: 重なり0% は居住誘導と都市機能誘導が空間的に分離されている = 「居住域は中心市街地、都市機能は近接しているが別エリア」型LIP であり、広島県 8 LIP 市の幾何データで判明した重要な発見 | 反証 (重要発見: 分離型 LIP) |
| H4 | 計画粒度 (居住誘導 polys 数) は 2 桁オーダーの差 | polys数_最大_市町: 広島市 polys数_最大値: 471 polys数_最小_市町: 府中市 polys数_最小値: 3 倍率: 157.0 | 支持 |
| H5 | KUIKI_CD=2/4 は『境界線』データ (面ではなく実空間 0.1 km² 未満の細片) | KUIKI=2_合計面積_km2: 0.3695 KUIKI=2_polys数: 8480 KUIKI=2_平均ポリゴン_km2: 4.4e-05 KUIKI=4_合計面積_km2: 0.3346 KUIKI=4_polys数: 512 | 支持 |
(1) LIP 策定の選別ロジック (H1): 8 LIP 市の人口計 2324 千人は県人口の 84.1%。人口集中型に偏ることが定量的に確認できた。LIP は「人口減少社会への都市制度的応答」として、人口の多い市から優先的に策定される全国的傾向と整合する。ただし非策定の尾道市 (130 千人) や大竹市 (26 千人) のような規模では合致するのに策定しない例もあり、策定可否は人口だけでなく市町の財政・人的リソースにも左右されると推定。
(2) 居住誘導の精選性 (H2): 8 市の居住誘導/行政比率は 1.34%〜15% で、中央値は 3.8%。「市域全体に住む」のではなく「ここに集約する」という制度本質が表れている。政令市 (広島市 16%) と他 7 市 (1-9%) で差が顕著 で、都市規模が大きいほど居住誘導範囲も広い (面的応答)。
(3) 『分離型 LIP』の発見 (H3 の反証): 都市機能 ⊆ 居住誘導 入れ子率の平均は 0.0%。判定: 反証 (重要発見: 分離型 LIP)。これは本研究の最も衝撃的な発見であり、「コンパクトシティ+ネットワーク」の理論的標準である拠点ネットワーク型 (都市機能 ⊆ 居住誘導) が広島県 8 LIP 市では成立していない。都市機能誘導を持つ 5 市すべてで、両区域は平均 2.4 km 離れて配置されている。解釈として: (a) 用途分離主義の踏襲、(b) 既存住宅地に居住誘導を合わせ、幹線沿いに都市機能誘導を新規誘導するため結果として地理分離、(c) 公共交通で結ぶ『ネットワーク』が前提なので分離しても問題ないという計画思想、が考えられる。今後、全国 LIP 策定市での横断検証でこのパターンが広島県固有か全国普遍かを確かめる必要がある。また竹原市は居住誘導なしで都市機能誘導のみの変則 LIP で、歴史町並み保全と整合する独自戦略と推定される。
(4) 計画粒度の哲学差 (H4): 居住誘導 polys 数は最大 4485 (広島市) vs 最小 3 (府中市) で1,495 倍の差。細密モデル化派 (広島・福山・東広島) と大括り派 (廿日市・呉・府中) に分かれ、これは計画担当部署の人的リソースと相関する仮説を支持。学術的には「同じ都市計画法に基づく計画の運用粒度が市町間でこれほど違う」事実は、比較都市計画研究の対象として興味深い。
(5) DoBoX 仕様の解読 (H5): KUIKI_CD=2/4 の境界線データは合計 0.7042 km² で実質ゼロ。polys 数では多数派 (8000+ 個) なのに面積はゼロに近く、1 ファイルに面と線が混在する DoBoX 仕様を実証。これは LIP データセットを使うすべての解析者が認識すべき仕様で、本記事の発見として is_area/is_line フラグ運用方法を残す。
(6) 統合 — 広島県の都市再構築スタンス: 8 LIP 市 + 12 非策定市町の二項対立は、広島県が「全市町一律の都市再構築」ではなく、「人口集中市優先・農村市町は別軸」の層別都市政策を採っていることを示す。本記事のデータからは、広島県の都市再構築は『集中させる方向』に明確に向いており、非策定市町の都市計画はL18 の市街化/調整 (区域区分制度) で枠を残すに留まる。L18 と L19 を合わせると、広島県の都市制度は「枠 (L18) ⊃ 居住誘導 (L19) ⊃ 都市機能 (L19)」の三段絞り込みになっており、都市再構築の精度が見えてくる。
新仮説 Y1: 居住誘導比率は市町の人口減少率と相関するか? 人口減少が深刻な市は「集中させる必要が高い」ため、比率を高く設定するのではないか。
発展課題 Z1: e-Stat の R2 国勢調査と R7 中間人口推計から、
8 市の人口減少率を取得し、本記事の jukyo_in_admin_pct と相関を取る。
回帰分析で「人口減少率1%上昇 → 居住誘導比率 X%上昇」の係数を出す。
人口減少率 vs 居住誘導比率の散布で 8 市をプロットし、回帰直線+95%信頼区間を描画。
新仮説 Y2: 広島県 LIP 市の「分離型」LIP は全国でどれだけ普遍的か? 全国 600+ LIP 策定市の中で、本記事と同じく都市機能誘導が居住誘導と分離している市は何割存在するか。 仮に過半数なら、「都市機能 ⊆ 居住誘導」入れ子は学術文献の理想であって、実装は別パターンと再定義する必要がある。
発展課題 Z2: 国交省の LIP データセット (全国版) を取得し、 全 LIP 市の居住誘導+都市機能誘導 GeoJSON を本記事と同じ手法で空間重なり率を算出。 分布ヒストグラムで「重なり 100% 派 (理論型)」「分離 0% 派 (本記事型)」「中間派 (部分入れ子型)」の三類型に分類。 全国比較で広島県 5 市の位置づけを確定。さらに 5 市の用途地域 (L17 連携)と都市機能誘導の重なりを検証し、 「都市機能誘導 = 商業地域である」仮説を空間データで実証する。
新仮説 Y3: 細密モデル化は市民の参画度と相関するか? 細かい polys = ワークショップやパブコメで地域住民の意見を反映した結果なのではないか。
発展課題 Z3: 各市の LIP 策定文書 (公開 PDF) からパブリックコメント実施回数・参加者数を集計し、 本記事の polys 数と回帰。ワークショップ等の参画イベント数でも比較。 細密派 (広島・福山・東広島) は本当に市民参画が多いのか定量検証。
新仮説 Y4: 非策定市町は5-10 年以内に LIP を策定するのではないか? 全国的に LIP 策定数は 2014 年から右肩上がりで、広島県内も追随しているはず。
発展課題 Z4: 国交省の LIP 策定状況リスト (年次更新) を時系列で取得し、 広島県の各市町の策定/策定中/未着手 状態を年ごとに追跡。 2025-2030 年に策定が予想される市町を特定し、本記事のデータと統合可能なシナリオを設計。
新仮説 Y5: 竹原市の LIP は「観光・歴史保全特化」の特殊な戦略をとっているのではないか? 歴史的町並みを居住誘導で固定するより、都市機能 (商業・観光受入施設) のみ誘導するほうが 町並み保全と整合する。
発展課題 Z5: 竹原市の LIP 公開文書を読み込み、戦略の特殊性を質的分析。 全国 600+ LIP 策定市の中で、「居住誘導なし」の市町を発掘し、 そうした市町の共通点 (歴史町並み・観光地・小規模) を整理。
新仮説 Y6: DoBoX の他のシリーズ (用途地域、市街化区域 等) でも同様の線データ混在がある可能性?
発展課題 Z6: L13/L15/L16/L17/L18 の DoBoX シリーズすべてで、
1 ポリゴン平均面積が 0.001 km² 未満のレコード件数を集計。
線データ混在の有無を全シリーズ横断で監査し、本記事と同じ is_area フラグの運用がどこで必要か明らかにする。