― 公開データから岡崎市約21万棟の建物人口モデルを構築―
本記事は、生成AIとGISを活用した自治体業務の実証シリーズの第14回です。
関連記事
▶ 第1回:自治体GISとAIの融合
▶第2回:ArcGIS Onlineと生成AIを連携した人口統計分析の実証
▶第3回:生成AIとGISで健康遊具の優先整備地区を抽出してみた
▶第4回:自治体の人材不足はGIS AIで解決できるのか
▶第5回:e-Stat APIとGISを結合するときの落とし穴
▶第6回:PLATEAU MCPは自治体GISを変えるのか
▶第7回:健康遊具はどこに整備すべきか?生成AIとGISで検証
▶第8回:AIの回答は信用できるのか(検証と説明責任)
▶第9回:自治体GISにおける人口統計データの構造要件を生成AIで検証する
▶第10回:PLATEAU LOD1と生成AIで建物単位人口推計は可能か
▶第11回:PLATEAU建物人口から見る浸水リスク
▶第12回:建物単位人口で見る避難所シミュレーション
▶第13回:PLATEAUの建物に人口を配置する
前回は、PLATEAUの建物データに人口を配置する試みの中で、単純な「町丁目人口→建物配分」では、都市構造を十分に表現できないことを紹介しました。
建物が大きいからといって、そこに多くの人が住んでいるとは限りません。
大規模な工場、物流施設、商業施設、学校、病院。
都市には、巨大であっても居住人口をほとんど持たない建物が数多く存在します。
一方で、大規模マンションのように、建物規模そのものが人口収容力を強く表すケースもあります。
つまり、
大きな建物への人口集中を抑えればよい
わけでも、
建物容量に比例して人口を配ればよい
わけでもありません。
この問題に向き合うため、岡崎市を対象として、250mメッシュ人口、用途地域、PLATEAU建物を組み合わせた建物単位人口モデルの構築を進めました。
そして今回、用途地域内だけでなく用途地域外まで含め、最終的に、
岡崎市全域213,884棟
を対象とする建物単位人口モデルが完成しました。
この記事では、完成した結果だけではなく、
- なぜ町丁目人口では問題が起きたのか
- なぜ250mメッシュ人口へ切り替えたのか
- 用途地域人口密度ウェイトをどのように作ったのか
- なぜPLATEAU建物を人口分布の基準にしなかったのか
- なぜLOG方式と容量比例方式を組み合わせたのか
- 用途地域外人口をなぜ捨てなかったのか
- 最終的に人口保存をどこまで確認できたのか
という、モデル設計の過程を紹介します。
1.最初の発想は「町丁目人口を建物へ配る」だった
建物単位人口を作ろうとすると、最初に思いつくのは比較的単純です。
町丁目人口
↓
町丁目内の建物を抽出
↓
建物面積・高さ・延床規模を推定
↓
建物容量に応じて人口配分
一見すると合理的です。
町丁目人口という公的統計があり、PLATEAUには建物形状があります。
両者を組み合わせれば、町丁目人口を建物単位へ細分化できるように見えます。
実際、初期モデルではこの考え方を採用しました。
しかし、実際の都市空間に適用すると、問題が見えてきました。
2.大規模建物が町丁目人口を吸収する
象徴的だったのが、工業地域に立地する大規模商業施設です。
町丁目人口を建物容量で直接配分すると、巨大な建物は非常に大きな配分力を持ちます。
その結果、
大規模商業施設が、その町丁目の人口を大量に吸収する
という現象が起きました。
モデル上は計算が合っています。
しかし、都市の実態とは合いません。
問題はPLATEAUではありません。
建物面積や高さの計算ミスでもありません。
本質的な問題は、
人口原資の空間単位が広すぎた
ことでした。
町丁目全体の人口を原資にしてしまうと、町丁目内に巨大建物が一つ存在するだけで、その建物が広い範囲の人口を吸収できます。
ここでモデルの考え方を変更しました。
3.人口原資を250mメッシュへ戻す
そこで採用したのが、250mメッシュ人口です。
基本構造は次のとおりです。
250m人口メッシュ
↓
用途地域とIntersect
↓
メッシュ内部を用途地域別の小片へ分割
↓
用途地域人口密度ウェイト
↓
メッシュ人口を再配分
重要なのは、
人口を町丁目全体から持ってこない
ことです。
250mメッシュに100人いるなら、その100人は原則としてそのメッシュ内部で扱います。
隣のメッシュに巨大建物があっても、その建物へ人口を移しません。
これにより、大規模建物が広域人口を吸収する構造を防ぐことができます。
下図の右マップは、工業専用地域にある三菱自動車工業岡崎製作所を示しています。用途地域内で最大容積を持つ建物です。
図1 都市計画区域内で最大容積の建物にあるメッシュ人口

その建物にインターセクトするメッシュ内の人口は、ほぼ0人なので建物の容積が大きかろうが、0人しか配置されません。
4.用途地域人口密度は「その場」で決めない
ここで、もう一つ重要な判断を行いました。
一つの250mメッシュが複数の用途地域にまたがる場合、単純な面積按分では不十分です。
例えば、同じ面積でも、
- 第一種住居地域
- 商業地域
- 工業地域
- 工業専用地域
では、一般に人口密度特性が異なります。
そこで、まず岡崎市全体を使って、用途地域別人口密度を算出しました。
図2 岡崎市全体で用途地域別人口密度ウェイトを作成する流れ

図2の左側は、岡崎市全体の250mメッシュ人口分布と、そこから算出した用途地域別人口密度パラメータです。
今回のモデルでは、まず岡崎市全体を対象として用途地域別人口密度を算出しました。
例えば、実際に使用した人口密度は、
- 第一種低層住居専用地域:約5,349人/km²
- 第一種中高層住居専用地域:約6,503人/km²
- 第二種中高層住居専用地域:約7,082人/km²
- 第一種住居地域:約5,838人/km²
- 第二種住居地域:約3,788人/km²
- 近隣商業地域:約6,067人/km²
- 商業地域:約5,668人/km²
- 準工業地域:約5,225人/km²
- 工業地域:約4,107人/km²
- 工業専用地域:約219人/km²
- 用途地域外:約221人/km²
です。
ここで重要なのは、この人口密度を使って新しい人口を作るわけではないという点です。
また、
「この250mメッシュには何人いるか」
を決めるものでもありません。
250mメッシュ人口そのものは、元データの値を保持します。
さらに、
「この建物には何人住んでいるか」
を直接決めるものでもありません。
5.用途地域別人口密度の役割
用途地域別人口密度の役割は、
同じ250mメッシュの内部に複数の用途地域が存在するとき、元のメッシュ人口をどの親片へ相対的に多く配るか
を決めることです。
図2の右側は、その具体的な適用例です。
例えば、一つの250mメッシュが、
- 第一種住居地域
- 第二種住居地域
- 近隣商業地域
の3つの親片に分かれている場合、それぞれの親片に対して、岡崎市全体であらかじめ算出した用途地域別人口密度を割り当てます。
このとき、その250mメッシュごとに新しい人口密度係数を作るわけではありません。
使用するのは、岡崎市全体で一度だけ算出した共通の人口密度パラメータです。
次に、各親片について、
親片面積 × 用途地域別人口密度
を計算します。
これにより、各親片の「人口の配分力」に相当する値を求めます。
例えば図2の右図の例では、
- 第一種住居地域:約105.88
- 第二種住居地域:約90.83
- 近隣商業地域:約128.46
となります。
ただし、この値も人口そのものではありません。
あくまで、同じ250mメッシュ内部で人口をどう分けるかを決めるための相対値です。
そこで次に、これらの値をメッシュ内で合計し、各親片の構成比を求めます。
図2の右図の例では、
- 第一種住居地域:約31.49%
- 第二種住居地域:約27.02%
- 近隣商業地域:約38.21%
となります。
これがメッシュ内での正規化です。
そして最後に、元の250mメッシュ人口を、この構成比に応じて各親片へ再配分します。
つまり今回の処理は、
岡崎市全体で用途地域別人口密度を一度だけ算出
↓
各250mメッシュ内の用途地域小片へ、その密度を割り当て
↓
親片面積 × 用途地域別人口密度
↓
同じメッシュ内で正規化
↓
元の250mメッシュ人口を親片へ再配分
という流れです。
この設計のポイントは、
市全体では共通した用途地域別人口密度を使いながら、人口そのものは250mメッシュ内部に保持する
ことです。
例えば、商業地域の人口密度が高いからといって、市内の別の250mメッシュから人口が移動してくるわけではありません。
逆に、工業系用途地域に巨大な建物が存在していても、その場所の250mメッシュ人口が少なければ、上流で保持された局所人口を超えて人口が流入することはありません。
この「全市共通の人口密度パラメータ」と「250mメッシュ内部での正規化」を分けたことが、今回の人口再配分モデルの重要な特徴です。
図2で示した処理を、実際の250mメッシュに適用した例が次の図3です。
図3 全市用途地域別人口密度を用いた250mメッシュ人口480人の親片再配分と建物人口配置の実データ例

このメッシュには480人が存在し、内部は5種類の用途地域に分かれています。そこで、岡崎市全体であらかじめ算出した用途地域別人口密度を各小片へ割り当て、**「小片面積 × 用途地域別人口密度」**による相対値を求めたうえで、メッシュ内で正規化しました。
その結果、元の480人はメッシュ外へ移動することなく、5つの親片へ再配分されます。
さらに下段では、確定した親片人口をPLATEAU建物へ配置した結果を示しています。
ここで重要なのは、用途地域別人口密度が建物人口を直接決めているわけではないという点です。全市共通の人口密度は、あくまで250mメッシュ内部で親片人口を決めるために使い、その後、確定した親片人口を親片内の建物へ配分します。
具体的に式を用いて示します。
ある250mメッシュ m の内部に、用途地域との重ね合わせによって生じた小片 i があるとします。小片 i の面積を Ami、その小片が属する用途地域区分を y(i)、用途地域区分 y(i) の全市人口密度を Dy(i) とします。
まず、各小片の人口配分に用いる基礎値を、Rmi=Ami×Dy(i)
として求めます。
ここで、Rmi は250mメッシュ m 内の小片 i に対する人口配分の基礎値です。つまり、面積が大きく、かつ全市的に人口密度の高い用途地域に属する小片ほど、大きな値を持ちます。
次に、この基礎値を250mメッシュ m の内部だけで正規化し、小片 i の配分比率 Wmi を、Wmi=∑j∈mRmjRmi
として求めます。
ここで、分母は同じ250mメッシュ m 内に存在するすべての小片 j の基礎値の合計です。そのため、i∈m∑Wmi=1
となり、元のメッシュ人口がメッシュ外へ流出することはありません。
最後に、元の250mメッシュ m の人口を Pm とすると、小片 i へ配分される人口 Pmi は、Pmi=Pm×Wmi
で求めます。
この方法により、元の250mメッシュ人口総数を維持したまま、用途地域ごとの全市的な人口密度差を反映して、メッシュ内部の各用途地域小片へ人口を再配分できます。
たとえば、同じ250mメッシュ内に住居系用途地域と工業系用途地域が混在している場合でも、単純な面積按分ではなく、用途地域ごとの人口密度差を反映できます。そのため、工業系用途地域に大規模な建物が存在する場合でも、上流段階の人口配分で人口が過大に割り当てられることを抑制できます。
その後、こうして確定した各用途地域小片の人口を親片人口として固定し、PLATEAU建物は人口分布を新たに決める基準ではなく、確定済み親片人口を建物へ配分するための受け皿として使用します。
6.PLATEAU建物は人口分布を決める基準ではない
このモデルで最も重要な考え方の一つがここです。
PLATEAU建物は、
人口分布を決める基準ではありません。
建物は、上流で確定した人口を受ける「器」です。
処理順序は、
250mメッシュ人口
↓
用途地域人口密度ウェイト
↓
親片人口を確定
↓
PLATEAU建物へ配分
です。
逆ではありません。
巨大建物がある
↓
そこへ人口を集める
とはしません。
図4:250mメッシュ内に再配分された親片人口と建物

実データで起きた誤配分――巨大商業施設が「人口1位」になった
この問題は、理論上の懸念ではありません。
実際の試行錯誤では、町丁目人口を基礎として建物容量に応じた再配置を行ったところ、工業系用途地域に存在する巨大商業施設が、建物人口で市内1位となる結果が発生しました。
原因は明確でした。
町丁目という比較的広い単位が持つ人口を建物へ配分すると、巨大な建物フットプリントを持つ施設が非常に大きな「受け皿」として評価されます。
その結果、本来は商業施設である巨大建物が、周辺の町丁目人口を過剰に吸収しました。
ここで重要なのは、PLATEAU建物形状が間違っていたわけではないという点です。
建物は正しく大きい。
問題は、
「広い人口集計単位の人口を、大きな建物へ配った」
という人口配分モデル側にありました。
そこで新しいモデルでは、先に250mメッシュ人口を保持しました。
この巨大商業施設が存在する場所では、対応する250mメッシュ人口そのものが極めて少ないことが確認できます。
したがって、建物がどれほど巨大であっても、その建物へ配分できる人口は、上流で確定した局所人口を超えません。
巨大建物だから人口が多いのではない。
その場所に存在する人口が少なければ、巨大建物にも少数しか配られない。
この違いが、町丁目人口ベース方式から250mメッシュ人口ベース方式へ切り替えた大きな理由の一つでした。
図5 巨大商業施設で確認された人口誤配分と250mメッシュ方式による抑制

人口の流れを「メッシュ → 親片 → 建物」に固定した
今回のモデルでは、人口の流れを次のように固定しました。
250m人口メッシュ
↓
用途地域人口密度ウェイト
↓
用途地域別親片人口
↓
親片内PLATEAU建物
↓
建物人口
この構造により、建物は上流の人口を勝手に奪えません。
例えば、ある親片人口が70人なら、その親片内の建物へ配る人口総数は70人です。
巨大建物が存在しても、
70人
↓
建物へ配分
↓
合計70人
です。
建物容量が大きいからといって、隣の親片や別の250mメッシュから人口を吸収させません。
これは単なる計算上の制約ではありません。
元の人口統計が持っていた局所的な空間情報を守るための制約
です。
7.建物容量をどう作るか
親片人口が確定した後、次に必要なのが建物ごとの人口配分比率です。
本モデルでは、建物容量の基礎値 CAPACITY_BASE を次の既存規則で算定しました。
SUM_FLOOR_AREA がある
↓
CAPACITY_BASE = SUM_FLOOR_AREA
SUM_FLOOR_AREA がない
↓
CAPACITY_BASE = SUM_BUILD_AREA
つまり、延床規模を取得できる建物では延床規模を使い、取得できない場合は建物面積へフォールバックします。
図6 建物容量算定イメージ

ここで使用する主な属性は、
SUM_BUILD_AREASUM_FLOOR_AREAHEIGHT_FINALFIRST_FLOOR_ESTCAPACITY_BASE
です。
最終成果では、これらの属性も建物人口とともに保持しました。
8.単純容量比例でも、単純LOGでもない
建物人口配分では、和泉市での検証経験が重要な役割を果たしました。
単純な容量比例方式では、大きな建物が強い配分力を持ちます。
これは大規模マンションでは合理的です。
しかし、小規模建物が多数存在する地域では、小さな建物への人口配分が極端に小さくなることがあります。
一方、すべての建物へLOG変換を適用すると、今度は大規模マンションの人口収容力まで薄めてしまいます。
そこで採用したのが、グループ内中央値を基準とするハイブリッド方式です。
図7 容量比例方式とLOG方式の違い

この方式の目的は、巨大建物を一律に弱めることではありません。
正確には、
小規模建物側ではLOG変換によって容量差を圧縮し、小規模住宅にも人口が残るようにする。
一方で、
中央値を超える大規模建物では生容量を使い、大規模マンション等が本来持つ人口収容力を維持する。
という考え方です。
つまり、
小さい建物を潰さない。
しかし、本当に人口を受けるべき大きな建物も薄めない。
この両立を狙っています
9.用途地域内165,506棟への人口配置
用途地域内では、用途地域人口密度ウェイトによって再配分した親片人口を、PLATEAU建物へ配分しました。
最終的に、
165,506棟
の用途地域内建物へ人口・世帯・年齢構成を配置しました。
この段階で、
- 用途地域外混入0
- 建物人口保存
- 世帯保存
- 年齢列保存
を確認しました。
用途地域内で建物へ配置できなかった人口は、
960.964324人
です。
この人口は近隣建物へ吸収していません。
未配置差分として保持しました。
10.用途地域外を「捨てない」
当初、用途地域外は未配置差分として保持する考え方もありました。
しかし、実際の建物分布を確認すると、用途地域外にもPLATEAU建物が広く存在していました。
ここで重要な判断をしました。
用途地域外も同じ分析体系の中で保持し続ける。
なぜなら、防災や公共交通は用途地域境界で終わらないからです。
例えば、
- 河川沿いの集落
- 市街化調整区域の住宅
- 山間部の居住地
- 幹線道路沿いの建物
- 郊外施設周辺
- 災害リスク区域
は、用途地域外にも存在します。
用途地域内だけで人口モデルを完成させると、市域全体を俯瞰する政策分析で大きな空白が生まれます。
11.既存途中成果を追跡すると、48,547棟の行方が分かった
用途地域処理で未割当となった建物は、
48,547棟
でした。
ここで新しい空間処理を作るのではなく、既存の途中成果を調査しました。
その結果、処理系列が明確になりました。
用途地域処理未割当
48,547棟
↓
250mメッシュ確定割当
48,378棟
+
未割当
169棟
そして、
48,547 − 48,378 = 169
が完全一致しました。
さらに、元未割当集合と確定割当集合の差集合は、169棟の未割当成果と完全一致しました。
これは単なる件数一致ではありません。
bldg_id による集合関係で確認したものです。
12.用途地域外48,378棟を250mメッシュへ接続
48,378棟は、
1,518の250mメッシュ
へ確定割当されていました。
一方、人口側のOUTSIDE成果は、
5,552メッシュ
でした。
その関係は次の図のとおりです。
図8 用途地域以外の人口配分プロセス

建物あり1,518メッシュの人口は、
42,040.023341人
世帯は、
13,944.509996世帯
13.建物がなければ、人口を動かさない
一方、OUTSIDE人口は存在するものの、建物が存在しないメッシュが、
4,034メッシュ
ありました。
その人口は、
6,627.173125人
世帯は、
2,163.270384世帯
です。
ここで、近隣建物へ人口を吸収させることはしませんでした。
人口あり
↓
建物なし
↓
近隣建物へ移送しない
↓
未配置差分として保持
また、250mメッシュへ割り当てられなかった169棟についても、強制的に近隣メッシュへ所属させていません。
169棟への人口配分は0
です。
この設計によって、
メッシュ間人口移送0
を維持しました。
14.用途地域外STEP7もPASS
用途地域外48,378棟について、用途地域内で確定したハイブリッド方式を適用しました。
用途地域外では、配分グループを MESH_KEY としました。
MESH_KEY
↓
グループ内CAPACITY_BASE中央値
↓
中央値以下:LOG
中央値超過:CAPACITY
↓
LOCAL_WEIGHT_RATIO
↓
人口・世帯・年齢60列
結果は、
- 建物数:48,378
- MESH_KEY数:1,518
bldg_id重複:0- 人口:42,040.023341人
- 世帯:13,944.509996世帯
- 年齢列:60列
- 比率合計最大差:8.88e-16
- 年齢保存誤差最大:5.68e-14
- メッシュ間人口移送:0
となり、
PASS
しました。
15.用途地域内と用途地域外を統合する
次に、
- 用途地域内の建物人口
- 用途地域外の建物人口
を統合しました。
結果は、
用途地域内
165,506棟
+
用途地域外
48,378棟
↓
市域全体
213,884棟
です。
最終成果は、
okazaki_final_citywide_building_population
です。
Polygon形式で、座標系は、
JGD_2011_Japan_Zone_8
です。
16.市域全体で人口保存を確認する
統合後の建物配置人口は、
375,671.053083人
でした。
建物へ配置されなかった人口は、
- 用途地域内:960.964324人
- 用途地域外:6,627.173125人
合計、
7,588.137449人
です。
したがって、
建物配置人口
375,671.053083
+
未配置人口
7,588.137449
↓
市域人口原資
383,259.190531
となりました。
市域人口保存誤差は、
-2.85e-09
です。
実質的に完全保存です。
世帯についても、
市域世帯原資 156,001.218135
に対し、保存誤差は、
-8.15e-10
でした。
年齢列は、
60列すべてPASS
しました。
17.最終成果は「人口だけのデータ」にしない
ここでもう一つ重要な改善を行いました。
当初の最終統合成果は、
- 人口
- 世帯
- 年齢60列
が中心でした。
しかし、それでは今後の分析に不十分です。
例えば、
工業専用地域の建物は何棟あるのか
用途地域別の建物人口はどう違うのか
容量最大の建物はどこか
LOG方式とCAPACITY方式はどの建物で使われたのか
その人口はどの250mメッシュから来たのか
を追跡できません。
そこで、最終成果へ分析属性を復元しました。
主な属性は、
建物規模
SUM_BUILD_AREASUM_FLOOR_AREAHEIGHT_FINALFIRST_FLOOR_ESTCAPACITY_BASE
用途地域
YOTO_CODEYOTO_NAMEPART_TYPE
メッシュ
MESH_KEY
配分グループ
ALLOCATION_GROUP_TYPEALLOCATION_GROUP_KEY
配分ロジック
GROUP_MEDIAN_CAPACITYWEIGHT_METHODRAW_BLDG_WEIGHTGROUP_RAW_WEIGHT_SUMLOCAL_WEIGHT_RATIO
市域統一区分
MODEL_ZONE_TYPE
です。
人口・世帯・年齢60列は変更していません。
更新前後差は、
0
でした。
18.用途地域別集計が可能になった
最終成果では、実際に用途地域別集計が可能です。
例えば、
第一種住居地域
- 60,239棟
- 人口 125,219.80人
第一種中高層住居専用地域
- 28,342棟
- 人口 57,876.21人
準工業地域
- 26,556棟
- 人口 51,519.98人
工業地域
- 15,036棟
- 人口 29,458.35人
工業専用地域
- 1,489棟
- 人口 258.77人
用途地域外
- 48,378棟
- 人口 42,040.02人
です。
ここで工業専用地域を見ると、非常に興味深い結果があります。
建物容量合計は、
約560.8万
と非常に大きい。
最大建物容量は、
約60.2万
です。
しかし、配置人口は、
258.77人
に抑えられています。
これは、本モデルの設計思想をよく表しています。
巨大建物があるから人口を集めるのではない。
上流の250mメッシュ人口と用途地域人口密度特性によって人口原資を制約し、その後で建物容量を使う。
だから、巨大な工場建物が存在しても、市域の人口を大量に吸収しません。
19.bldg_id が持つ意味
ここからは、今回作成した建物単位人口モデルを自治体業務でどう活用できるかを考えます。
最終成果213,884棟では、bldg_id を建物単位の安定キーとして保持しています。
これは単なる技術的IDではありません。
将来的には、部門間連携の基盤になり得ます。
例えば、
- 福祉部門が持つ要援護者情報
- 防災部門が持つ避難情報
- 都市計画部門が持つ浸水リスク
- 建築部門が持つ建物情報
- 公共交通部門が持つ交通アクセス情報
を、個人情報そのものを直接共有せず、
建物単位
で安全に突合できる可能性があります。
例えば、
福祉部門
要援護者が存在する建物
↓
bldg_id
↓
都市計画・防災部門
浸水深、土砂災害、避難距離
という連携です。
自治体内部では、データが部門ごとに分断されがちです。
bldg_id は、その縦割りを越える共通キーになり得ます。
20.用途地域外を保持した意味
用途地域外を同じ分析体系で保持したことは、防災や公共交通計画で特に重要です。
例えば防災では、
浸水想定区域に、どの年齢層が何人いるか
を建物単位で推定できます。
しかし、用途地域内だけを対象にすると、市街化調整区域や郊外集落が分析から消えます。
公共交通でも同じです。
例えば、
バス停から500m以上離れた建物に、高齢人口がどれだけ存在するか
を分析する場合、用途地域境界で人口モデルが途切れていては、市域全体の交通空白を評価できません。
用途地域外48,378棟を保持したことで、
- 防災
- 公共交通
- 福祉
- 医療アクセス
- 買物弱者
- 避難支援
- インフラ維持
を市域全体で分析できる基盤になりました。
21.「配置できなかった人口」も成果である
今回のモデルでは、すべての人口を無理に建物へ押し込んでいません。
未配置人口は、
7,588.137449人
です。
一見すると、これはモデルの欠点に見えるかもしれません。
しかし、むしろ重要な品質情報です。
建物が存在しない場所の人口を、近隣の建物へ勝手に移すと、見かけ上は100%配置できます。
しかし、その瞬間に空間的な歪みが生まれます。
本モデルでは、
分からないものを、分かったことにしない
という設計を選びました。
未配置人口は、
- PLATEAU未整備
- 建物代表点の問題
- 統計メッシュとの時間差
- 建物データとの時点差
- 非住宅施設
- 特殊な居住形態
などを検証するための重要な差分です。
22.完成したのは「人口マップ」ではない
今回完成したものは、単なる人口分布図ではありません。
最終成果213,884棟では、
- 建物形状
bldg_id- 用途地域
- 250mメッシュ
- 建物面積
- 延床規模
- 高さ
- 階数
- 建物容量
- 配分グループ
- グループ中央値
- LOG/CAPACITY方式
- 建物配分比率
- 人口
- 世帯
- 年齢60列
を追跡できます。
つまり、
なぜ、この建物に、この人口が配置されたのか
を遡ることができます。
これは、AIやGISによる高度分析で非常に重要です。
結果だけを出すブラックボックスではなく、
計算過程を検証できる人口モデル
になったからです。
23.AIエージェントとGISの役割
今回の分析では、途中成果が多数存在しました。
最終的にGDB(ジオデータベース)内には100を超える成果がありました。
その中から、
- 48,547棟の未割当建物
- 48,378棟のメッシュ確定割当
- 169棟の未割当残差
- 213,884棟の確定割当テーブル
- 5,552のOUTSIDEメッシュ
- 1,518の建物ありメッシュ
の関係を追跡しました。
ここで有効だったのが、MCPを介したGISデータ調査です。
ファイル名だけで推測するのではなく、
- データ型
- レコード数
- フィールド
bldg_idMESH_KEY- 集合差
を実データで確認しました。
特に、
48,547
=
48,378
+
169
という関係を、単なる件数ではなくbldg_id集合として確認できたことは大きな意味があります。
AIエージェントは、新しい分析を毎回作るだけではありません。
既存成果を探し、関係を検証し、再利用可能な処理資産としてつなぎ直す
ことにも価値があります。
24.今回の到達点
最終結果をまとめます。
市域全体建物
213,884棟
用途地域内
165,506棟
用途地域外
48,378棟
建物配置人口
375,671.053083人
市域人口原資
383,259.190531人
未配置人口
7,588.137449人
市域人口保存誤差
-2.85e-09
建物配置世帯
153,468.641681世帯
市域世帯原資
156,001.218135世帯
年齢
60列すべてPASS
bldg_id重複
0
メッシュ間人口移送
0
おわりに
今回の検証で、最も重要だったのは、最初から正解のモデルを作れたことではありません。
むしろ逆です。
町丁目人口から建物へ直接配分し、大規模建物への人口集中という問題に直面しました。
そこで250mメッシュ人口へ戻りました。
さらに、単純面積按分ではなく、岡崎市全体から用途地域別人口密度特性を算出しました。
建物配分では、和泉市での経験を踏まえ、単純容量比例でも単純LOGでもない中央値ハイブリッド方式を採用しました。
用途地域外も捨てず、既存途中成果を追跡しました。
そして最終的に、
岡崎市全域213,884棟
を対象とする建物単位人口モデルへ到達しました。
PLATEAUの価値は、美しい3D都市モデルを表示することだけではありません。
250mメッシュ人口、用途地域、建物容量、安定した建物IDを組み合わせることで、
都市の中に、誰が、どの程度、どこに暮らしている可能性があるのか
を、従来よりはるかに細かな単位で考えることができます。
そして、その先には、
- 防災
- 福祉
- 公共交通
- 都市計画
- 医療アクセス
- インフラ維持
を、建物単位で横断的に考える可能性があります。
今回完成したのは、単なる人口マップではありません。
自治体が持つ複数分野のデータを、建物という共通空間単位でつなぎ、『誰が、どの程度、どこに暮らしている可能性があるのか』を精緻に考えるためのガバナンス基盤です。
次回は、この建物人口モデルを使い、
「どの建物が災害リスクを抱えているのか」
「高齢人口と避難所アクセスをどう重ねるのか」
「公共交通空白と人口構成をどう評価するのか」
といった、実際の自治体政策分析への展開を検証します。
関連記事
▶ 第1回:自治体GISとAIの融合
▶第2回:ArcGIS Onlineと生成AIを連携した人口統計分析の実証
▶第3回:生成AIとGISで健康遊具の優先整備地区を抽出してみた
▶第4回:自治体の人材不足はGIS AIで解決できるのか
▶第5回:e-Stat APIとGISを結合するときの落とし穴
▶第6回:PLATEAU MCPは自治体GISを変えるのか
▶第7回:健康遊具はどこに整備すべきか?生成AIとGISで検証
▶第8回:AIの回答は信用できるのか(検証と説明責任)
▶第9回:自治体GISにおける人口統計データの構造要件を生成AIで検証する
▶第10回:PLATEAU LOD1と生成AIで建物単位人口推計は可能か
▶第11回:PLATEAU建物人口から見る浸水リスク
▶第12回:建物単位人口で見る避難所シミュレーション
▶第13回:PLATEAUの建物に人口を配置する




































