~町丁目統計を基本単位区へ配分する人口モデルの構築~
本記事は、生成AIとGISを活用した自治体業務の実証シリーズの第15回です。
関連記事▶PLATEAU LOD1と生成AIで建物単位人口推計は可能か
第10回の記事では、250m人口メッシュを基に建物人口モデルを構築し、公開データを活用した建物単位の人口推計手法を紹介しました。しかし、人口メッシュを直接建物へ配分する方法では、工場や学校、商業施設など、実際には居住しない建物にも人口が配分される可能性がありました。また、250mメッシュでは建物単位の人口分布を表現するには精度にも限界があります。
そこで本記事では、e-Statで公開されている統計データを組み合わせて基本単位区5歳階級人口を作成するとともに、OSMのPOIデータを活用して人口を付与すべき建物を抽出する手法を構築しました。
建物データには、国土交通省が公開するPLATEAU建物モデルから作成した建物フットプリントを利用し、基本単位区人口を配分する対象としています。
本記事では、使用した公開データの選定から人口配分モデルの構築、人口付与対象建物の抽出、そして人口保存の検証まで、一連の作成過程を紹介します。
はじめに
前回、第10回では、PLATEAU LOD1建物データと250m人口メッシュを利用し、公開データだけによる建物単位人口推計モデルを作成しました。
その後、GIS上で結果を確認すると、一つの課題が見えてきました。
250m人口メッシュでは、住宅だけでなく工場や学校、商業施設など、実際には居住していない建物にも人口が配分されてしまうケースがあったのです。
この課題を改善するためには、人口を配分する建物を適切に判定するとともに、人口データそのものも見直す必要がありました。
e-Statには国勢調査の人口データや境界データが公開されていますが、調査を進めると、建物人口モデルに必要な情報は一つのデータだけでは揃わないことが分かりました。
例えば、建物への人口配分に適した基本単位区では5歳階級人口が公開されていません。一方、小地域(町丁・字等)では5歳階級人口が公開されています。
そこで今回は、小地域の5歳階級人口を基本単位区へ配分し、その結果を建物人口モデルの基礎データとして利用することにしました。また、PLATEAU建物フットプリントとOSMのPOIデータ(OpenStreetMap(OSM)のPOI(Point of Interest:施設情報)データ)を組み合わせることで、人口を付与すべき建物を抽出する方法についても検討しました。
本記事では、
- e-Stat公開データの調査
- 使用するデータの選定
- GISデータと統計データの対応付け
- 基本単位区5歳階級人口の作成
- 人口を付与する建物の抽出
までを、実際の作業手順に沿って紹介します。
同じようにe-Statを利用した人口分析や建物人口モデルの作成に取り組む方が、公開データの選定やデータ整備で迷わないよう、実際につまずいた点や、その都度どのように判断したのかも含めて解説していきます。
基本単位区へ男女別人口を付与する
今回使用した主なデータは次のとおりです。
- 基本単位区ポリゴン
- 基本単位区男女別人口・世帯数
- 町丁・字等別男女別5歳階級人口
- PLATEAU建物フットプリント
- OSM POIデータ
このうち、基本単位区5歳階級人口の作成には、e-Statで公開されている最初の3つのデータを使用します。
しかし、基本単位区ポリゴンには分析に必要な人口属性が十分に含まれていません。そのため、基本単位区コードを用いて男女別人口・世帯数を結合し、人口配分の基礎となるデータセットを作成しました。
e-Stat公開データを調査する
建物人口モデルを構築するためには、基本単位区ごとの年齢別人口が必要になります。しかし、e-Statで公開されている国勢調査データを確認すると、必要な情報は一つのデータセットにはまとまっていませんでした。
まず調査したのは、基本単位区で公開されている人口データです。
基本単位区では、男女別人口と世帯数は公開されていますが、建物人口モデルで必要となる5歳階級人口は公開されていません。
一方、町丁・字等(小地域)では男女別5歳階級人口が公開されていますが、空間単位が大きいため、そのままでは建物単位へ人口を配分するには十分な精度が得られません。
つまり、
- 基本単位区には人口配分に適した細かな境界があるが、5歳階級人口がない。
- 町丁・字等には5歳階級人口があるが、建物人口モデルには空間単位が大きすぎる。
という、それぞれ長所と短所を持つデータであることが分かりました。
そこで本モデルでは、両者を組み合わせることで、それぞれの長所を活かした人口配分モデルを構築することにしました。
今回使用したe-Stat公開データは次の3種類です。
| データ | 用途 |
|---|---|
| 基本単位区ポリゴン | 人口を配分する最小単位となる境界データ |
| 基本単位区男女別人口・世帯数 | 基本単位区ごとの男女人口を取得 |
| 町丁・字等別男女別5歳階級人口 | 年齢構成を基本単位区へ配分するための基礎データ |
これら3つのデータをGIS上で対応付けることで、基本単位区ごとの男女別5歳階級人口を推計していきます。
図1 使用データの関係図

基本単位区人口データを作成する
基本単位区ポリゴンには、位置や境界を表す空間情報は含まれていますが、人口配分に必要となる男女別人口や世帯数などの属性は十分に登録されていません。
そのため、まず基本単位区コードを共通キーとして、基本単位区ポリゴンと基本単位区男女別人口・世帯数を結合し、人口属性を持つ基本単位区データを作成しました。
この処理により、各基本単位区について、
- 男性人口
- 女性人口
- 総人口
- 世帯数
をGIS上で利用できるようになります。
しかし、この時点では年齢別人口は含まれていません。
建物人口モデルでは5歳階級人口が必要ですが、e-Statでは基本単位区単位の5歳階級人口は公開されていないためです。
そこで次の工程では、町丁・字等で公開されている男女別5歳階級人口を利用し、基本単位区ごとの年齢構成を推計していきます。
図2 基本単位区ポリゴンと男女別人口・世帯数の結合

町丁・字等の5歳階級人口を基本単位区へ配分する
基本単位区データに男女別人口を付与したことで、人口配分の基礎となるデータセットが完成しました。
しかし、この時点では各基本単位区に年齢構成はありません。
一方、e-Statでは町丁・字等単位で男女別5歳階級人口が公開されています。
そこで本モデルでは、町丁・字等の5歳階級人口を、その内部に存在する基本単位区へ配分する方法を採用しました。
ただし、町丁・字等の人口を単純に均等配分したり、面積だけで按分したりすると、実際の人口分布とかけ離れた結果になる可能性があります。
例えば、同じ町丁目の中でも、基本単位区ごとに人口規模は大きく異なります。住宅が密集する区域もあれば、公園や道路、公共施設が多い区域もあり、同じ面積だからといって同じ人口が居住しているとは限りません。
そこで今回は、既に付与した基本単位区の男女別人口を重みとして利用しました。
具体的には、町丁・字等ごとの男性5歳階級人口は、基本単位区の男性人口比率で配分し、女性5歳階級人口は女性人口比率で配分します。
この方法により、
- 男女別人口
- 年齢構成
- 町丁・字等の総人口
の整合性を保ったまま、基本単位区ごとの5歳階級人口を推計することができます。
また、男女別に配分することで、男性と女性で人口分布が異なる地域でも、その特徴をできるだけ維持したまま年齢構成を基本単位区へ反映できます。
この処理をすべての町丁・字等について実施することで、基本単位区単位の男女別5歳階級人口データを作成しました。
図3 男女別人口比を利用した5歳階級人口の配分イメージ

基本単位区5歳階級人口を作成する
町丁・字等ごとの男女別5歳階級人口を基本単位区へ配分する考え方が決まったら、GIS上で実際に人口配分を行います。
まず、町丁・字等ポリゴンと基本単位区ポリゴンを重ね合わせ、それぞれの基本単位区がどの町丁・字等に属するかを取得しました。
次に、前章で求めた男女別人口比を利用し、町丁・字等で公開されているすべての5歳階級人口について、基本単位区ごとの人口を算出します。
配分対象は0~4歳から85歳以上までの全5歳階級であり、男性・女性それぞれについて同じ処理を行いました。
その結果、各基本単位区には、
- 男女別人口
- 世帯数
- 男女別5歳階級人口
が属性として付与され、建物人口モデルの基礎となる人口データが完成しました。
図4は、町丁・字等の5歳階級人口が基本単位区へ配分され、最終的に基本単位区別5歳階級人口データが作成される流れを示しています。
図4 基本単位区5歳階級人口データの作成フロー

これらの処理は、ArcGIS Proの空間解析機能とテーブル結合機能を利用することで実現できます。本検証では、一連のGIS処理をMCP(Model Context Protocol)を介してAIエージェントに実行させ、処理結果を段階的に確認しながら基本単位区5歳階級人口データを作成しました。
人口を付与する建物を抽出する
基本単位区5歳階級人口が完成したことで、建物へ人口を配分するための基礎データが整いました。
しかし、ここでもう一つ解決しなければならない課題があります。
PLATEAU建物モデルには、住宅だけでなく、工場、学校、病院、商業施設、公共施設など、さまざまな用途の建物が含まれています。
このすべての建物へ人口を配分すると、実際には人が居住していない建物にも人口が割り当てられてしまいます。
そこで本モデルでは、OpenStreetMap(OSM)の施設情報(POI:Point of Interest)を利用し、建物の用途を判定することにしました。
まず、PLATEAU建物フットプリントとOSMのPOIデータを空間的に対応付け、各建物に施設情報を付与します。
次に、取得した施設情報を基に、
- 工場
- 学校
- 商業施設
- 医療施設
- 公共施設
- その他の非居住施設
などを抽出し、人口配分の対象から除外しました。
一方、POIが存在しない建物や住宅として利用されている建物については、人口を配分する対象として扱います。
この処理により、建物用途を考慮した人口配分が可能となり、前回の250m人口メッシュモデルで課題となっていた「非居住建物への人口配分」を大幅に改善することができました。
図5は、PLATEAU建物フットプリントとOSM施設情報を利用し、人口を付与する建物を抽出する流れを示しています。
図5 OSM施設情報を利用した人口付与対象建物の抽出

秘匿地域への対応
国勢調査では、個人情報保護の観点から、一部の基本単位区について人口が秘匿されています。
このような区域では人口値が公開されていないため、そのままでは5歳階級人口を配分することができません。
しかし、e-Statでは秘匿された基本単位区の人口は、周辺の非秘匿基本単位区へ統合して公表されています。
そのため、本モデルでは公開されている人口データの構成に従い、秘匿地域を独立した人口区域として扱うのではなく、統合先の基本単位区の一部として処理しました。
この方法により、
- 公開されている統計値との整合性を維持できること
- 人口の二重計上や欠損が発生しないこと
- 建物人口モデルへそのまま利用できること
を確認しています。
つまり、本モデルでは秘匿地域に対して独自の人口推計を行うのではなく、e-Statで公開されている統計体系を維持したまま人口配分を実施しています。
図6 秘匿地域への対応

作成した人口モデルを検証する
建物人口モデルでは、人口を細かな単位へ配分していくため、元の人口が正しく保持されていることを確認する必要があります。
本モデルでは、基本単位区5歳階級人口を建物へ配分した後、再び基本単位区単位で人口を集計し、元データとの比較を行いました。
検証では、次の4点を確認しています。
- 基本単位区人口と建物人口の合計が一致していること
- 男女別人口が保持されていること
- 5歳階級人口が保持されていること
- 人口が存在しない基本単位区では、建物人口も0人となっていること
図7は、基本単位区人口と建物人口を比較した結果の一例です。
各基本単位区について、建物人口を再集計した結果は、元の基本単位区人口と一致しており、人口を増減させることなく建物へ配分できていることが確認できました。
また、住宅が存在しない区域や人口が0人の基本単位区についても、新たな人口は作成されておらず、人口保存の条件が満たされていることを確認しています。
このような検証を行うことで、人口配分アルゴリズムだけでなく、GIS処理やデータ結合に誤りがないことも同時に確認できます。
今回の検証では、一連のGIS処理をMCP(Model Context Protocol)を介してAIエージェントに実行させましたが、処理結果は各工程で人が確認し、最終的な人口保存や整合性についても検証を行いました。
その結果、建物人口モデルの基礎となる基本単位区5歳階級人口データを、公開データのみを利用して構築できることを確認しました。
図7 基本単位区と建物人口の比較検証

まとめ
今回の記事では、e-Statで公開されている複数の統計データを組み合わせることで、基本単位区5歳階級人口を作成する方法を紹介しました。
さらに、PLATEAU建物フットプリントとOpenStreetMap(OSM)の施設情報を利用して人口を付与する建物を抽出することで、前回の250m人口メッシュを用いたモデルよりも現実に近い建物人口モデルを構築しました。
今回作成した基本単位区5歳階級人口データは、建物人口モデルだけでなく、避難シミュレーション、生活圏分析、公共施設配置の検討、都市計画、防災分野など、さまざまな空間分析へ応用することができます。
また、一連の処理はArcGIS ProのGIS機能を用いて実現でき、今回はMCPを利用して処理の自動化と検証を行いました。今後は、このようなGISとAIエージェントを組み合わせたワークフローにより、これまで多くの手作業を必要としていた人口データ整備も、より効率的かつ再現性の高い方法で実施できるようになると考えています。
あとがき ~MCPが果たした役割~
今回紹介した人口モデルは、ArcGIS Proの標準機能を利用することで構築できます。
しかし、本モデルの構築は、単にGISツールを順番に実行すれば完成するものではありませんでした。
e-Statで公開されている多数の統計データを調査し、利用できるデータを選定し、人口配分方法を検討し、秘匿地域への対応を整理し、OSM施設情報による建物用途の判定方法を考え、さらに人口保存の検証を繰り返すなど、多くの試行錯誤を重ねています。
このような作業を人の手だけで行うことは、現実には非常に困難です。
GIS処理そのものよりも、
「結果を確認し、問題点を見つけ、原因を考え、モデルを修正する」
という試行錯誤に膨大な時間を要するためです。
今回の検証では、MCP(Model Context Protocol)を利用してAIエージェントにArcGIS Proの操作や各種解析を実行させ、その結果を対話しながら何度も改善を重ねました。
重要なのは、AIが自動的に正しいモデルを作成したわけではないという点です。
GIS技術者が長年培ってきた知識や判断をAIへ伝え、その結果を検証しながらモデルを完成させていく。この「対話による試行錯誤」を高速に繰り返せたことが、MCPを活用した最大の成果でした。
今回構築した人口モデルは一つの成果物ですが、それ以上に大きな成果は、この構築プロセス自体をAIが再利用できる知識として整理できたことです。
今後は、こうした知見を蓄積していくことで、人口モデルだけでなく、都市計画、防災、公共施設管理など、さまざまなGIS業務においても、AIエージェントが実務を支援する時代が近づいていると考えています。
生成AIによるOSM施設情報の分類
OSMには施設情報(POI)が登録されていますが、人口配分に利用するためには、建物用途ごとに分類する必要があります。
今回は、MCPを通じて生成AIへ次のような指示を与えました。
STEP4 POI抽出
OSM施設情報を抽出する。
カテゴリ分類は付与してよい。
例
行政、教育、医療、福祉、消防、警察、避難所、公園、緑地、駅、バス停、駐車場、商業施設、飲食店、コンビニ、スーパー、郵便局、金融機関、神社、寺院、その他POI
OSM元属性は保持する。
生成AIはOSMタグを解析し、施設用途を自動的に分類しました。
その結果、5,636件のPOIが次のように整理されました。
| カテゴリ | 件数 |
|---|---|
| 商業施設 | 935 |
| 駐車場 | 585 |
| 飲食店 | 417 |
| 公園 | 433 |
| バス停 | 381 |
| 医療 | 179 |
| 教育 | 184 |
| 鉄道施設 | 163 |
| スポーツ施設 | 144 |
| … | … |
| 総計 | 5,636 |
(表は主要カテゴリを抜粋)
このような分類は、OSMタグの種類が非常に多く、人手で一件ずつ整理することは現実的ではありません。
一方で、生成AIによる分類結果をそのまま採用したわけではありません。
GIS上で建物位置や航空写真を確認しながら分類結果を目視確認し、居住可能性の判定が適切であることを確認した上で、人口を付与する建物を抽出しました。
つまり、本モデルでは、
生成AIによる一次分類とGISによる目視検証を組み合わせることで、人口配分対象建物を決定しています。
今回の検証では、AIが正解を導いたわけではありません。
GIS技術者が
- モデルを考え
- AIへ指示し
- 結果を確認し
- 修正する
というサイクルを繰り返しました。
しかし、その過程で得られた知見はMCPのプロンプトとして蓄積されます。
つまり、一度確立した手順は次回以降ほぼ同じ品質で再利用できます。
これは従来のGIS業務にはなかった大きな変化です。

コメントを残す