~和泉市の町丁目人口データを活用した施設配置分析の実践~
本記事は、生成AIとGISを活用した自治体業務の実証シリーズの第6回です。
関連記事
▶ 第1回:自治体GISとAIの融合
▶ 第2回:ArcGIS Onlineと生成AIを連携した人口統計分析の実証
▶ 第3回:生成AIとGISで健康遊具の優先整備地区を抽出してみた
▶第4回:自治体の人材不足はGIS AIで解決できるのか
▶第5回:e-Stat APIとGISを結合するときの落とし穴
はじめに
前回の記事では、e-Stat APIとArcGIS Onlineを連携し、自治体の人口統計データを生成AIから活用できる環境を構築しました。
今回は、その仕組みを実際の自治体業務へ応用し、
「健康遊具はどこへ整備すれば最も効果的なのか」
というテーマで分析を行いました。
対象としたのは大阪府和泉市です。
高齢化の進展に伴い、健康増進を目的とした健康遊具の需要は今後さらに高まることが予想されます。
和泉市には数百の公園があります。
その中から、どの公園へ健康遊具を整備すれば
最も多くの高齢者が利用できるのかを
職員が一つひとつ検討するのは容易ではありません。
しかし、
・現在どこに健康遊具があるのか
・どの地域がサービス圏から外れているのか
・新たに整備するならどこが最適なのか
を客観的に判断することは容易ではありません。
そこで今回は、
人口統計と公園データを用いて
整備効果の高い公園を自動的に抽出できるか
健康遊具の適正配置分析の検証を行いました。
分析に使用したデータ
今回利用した主なデータは以下のとおりです。
公園データ
和泉市内の公園位置データ
健康遊具データ
既存健康遊具設置公園
人口データ
e-Stat APIから取得した町丁目人口データ
分析環境
・ArcGIS Online
・ArcGIS MCP Server
・Codex CLI
・生成AI
AIへの指示と分析ルール
今回は生成AIを利用していますが、AIが推測で分析結果を作成しないよう、事前に複数の制約条件を設定しています。
特に自治体業務では、分析結果の説明責任が求められるため、データの出典や計算根拠を明確にすることを重視しました。
主な制約条件
- 人口値を推測で作成しないこと
- 実在する統計データのみ利用すること
- 利用した統計年を明示すること
- 計算式を省略しないこと
- 分析結果の根拠となるデータを示すこと
- データが存在しない場合は「不明」と回答すること
- GISレイヤを直接確認せずに推測で判断しないこと
- ArcGIS Online上の実データを参照して分析すること
実際に使用したプロンプトの一部
分析に使用する人口データは
令和2年国勢調査を利用すること。
人口値を推測で補完しないこと。
統計年を明示すること。
計算式を省略しないこと。
データが存在しない場合は
推測で回答せず、その旨を明記すること。
分析結果はArcGIS Online上の実データに基づくこと。
STEP1 現在の健康遊具配置を可視化する
まずは既存健康遊具の設置状況をマップ上へ表示しました。
プロンプト
和泉市の既存健康遊具ポイントを抽出してください。
対象:
・健康遊具のみ
実施内容:
・健康遊具ポイントを表示
・公園名を表示
・設置箇所数を集計
成果物:
AI_STEP1_既存健康遊具
今回は可視化のみ。
分析は行わない。
【図1 既存健康遊具配置図】

可視化してみると、市域全体に配置されているように見えます。
しかし、
「本当に市民全体が利用しやすい配置なのか」
は、この段階では分かりません。
STEP2 サービス圏分析を実施
次に健康遊具から500m圏をサービス圏として設定しました。
500mは徒歩圏としてよく利用される距離です。
プロンプト
既存健康遊具ポイントから
500mサービス圏を作成してください。
条件:
・重複可
・徒歩圏の近似として500mを使用
成果物:
AI_STEP2_健康遊具サービス圏
出力:
・サービス圏ポリゴン
・カバー人口集計
【図2 健康遊具サービス圏】

サービス圏を重ねると、一定範囲はカバーできているものの、市域内にはサービス圏が届いていない地域が存在することが分かりました。
STEP3 空白地域を抽出
既存サービス圏を除外し、健康遊具が利用しにくい地域を抽出しました。
プロンプト
和泉市行政界から
健康遊具サービス圏を除外してください。
目的:
健康遊具未整備地域の抽出
成果物:
AI_STEP3_空白地域
出力:
・空白地域ポリゴン
・面積集計
【図3 健康遊具空白地域】

ここで空白地域に居住する高齢者人口を集計しました。
分析の結果、市内65歳以上人口42,408人のうち、
- 健康遊具500m圏内:26,614人
- 健康遊具500m圏外:15,794人
でした。
今回のカバー率は次式で算出しています。
健康遊具カバー率 =
健康遊具500m圏内の65歳以上人口
÷
市内65歳以上人口
×100
= 26,614 ÷ 42,408 ×100
= 62.8%
つまり、市内高齢者の約4割が健康遊具の徒歩圏外に居住していることが分かりました。
これにより、
「どこに不足しているか」
が視覚的に把握できるようになります。
しかし、
不足地域が分かっても、
「どこへ整備すれば最も効果的なのか」
はまだ分かりません。
STEP4 人口データと重ね合わせる
そこで町丁目人口データを重ね合わせました。
プロンプト
空白地域と町丁目人口を重ね合わせてください。
対象:
・65歳以上人口
実施内容:
・空白地域内人口を集計
・人口密度を算出
成果物:
AI_STEP4_空白地域人口
出力:
・人口ランキング
・人口分布マップ
空白地域の中でも人口規模には差があります。
同じ面積でも、
人口が多い地域と少ない地域では整備効果が異なります。
つまり、
空白地域の広さではなく、
「どれだけの市民がサービス圏外にいるのか」
が重要になります。
STEP5 AIによる候補地抽出
この約15,800人を対象に、どの公園へ整備すると最も効果的なのかを検証しました。
ここで生成AIとMCPを活用しました。
AIは人間のように地図を見るわけではありません。
MCPを通じてGISデータへアクセスし、
・サービス圏
・人口データ
・公園データ
を組み合わせて分析します。
プロンプト
空白地域内または隣接する公園を抽出してください。
条件:
・健康遊具未設置
・空白地域解消効果が期待できる
評価項目:
・周辺高齢者人口
・空白地域面積
・既存サービス圏との重複
成果物:
AI_STEP5_候補公園
出力:
候補公園一覧
その結果、
空白地域周辺の公園を抽出したところ、
候補地は248公園となりました。
しかし、
すべての公園へ健康遊具を整備することは
予算面から現実的ではありません。
【図5 候補公園抽出結果】

さらに、
候補公園へ健康遊具を設置した場合のサービス圏も試算しました。
【図6 候補公園追加後のサービス圏】

STEP6 最適な3公園を選定
候補地の中から、最も多くの市民をカバーできる組み合わせをAIが探索しました。
プロンプト
空白地域内または隣接する公園を抽出してください。
条件:
・健康遊具未設置
・空白地域解消効果が期待できる
評価項目:
・周辺高齢者人口
・空白地域面積
・既存サービス圏との重複
成果物:
AI_STEP5_候補公園
出力:
候補公園一覧
【図7 AI選定結果】

空白地域周辺の公園を抽出した結果、候補地は248公園となりました。
しかし、すべての公園へ健康遊具を整備することは現実的ではありません。
そこで今回の分析では、各公園について500mサービス圏を生成し、
・新たにカバーできる65歳以上人口
・既存健康遊具サービス圏との重複
・他候補地との重複
を評価しました。
その結果、248公園の中から、限られた整備数で最も多くの高齢者をカバーできる3公園を選定しました。
この分析は、従来GISで行われてきたバッファ作成、空白地域抽出、人口集計といったジオプロセシング処理をMCPとして組み合わせて実行したものであり、整備候補地の選定根拠を客観的なデータで説明できる点に特徴があります。
自治体では、整備要望の多い公園から順番に事業化を検討するケースも少なくありません。しかし、限られた予算の中で整備効果を最大化するためには、「どの公園に設置するか」だけでなく、「何人の市民に効果があるのか」を定量的に把握することが重要です。
今回の分析では、248公園を同一条件で評価することで、健康遊具整備の優先順位を客観的なデータに基づいて比較できることを確認しました。
財政効果
新たに3公園へ健康遊具を整備した場合、
500m圏内人口は26,614人から31,467人へ増加し、
カバー率は
整備前
26,614人
↓
62.8%
整備後
31,467人
↓
74.2%
へ改善する結果となりました。
これは、約4,800人の高齢者が新たに徒歩圏で健康遊具を利用できる可能性を示しています。
言い換えると、市内のすべての公園へ一律に整備を進めるのではなく、人口分布と既存施設配置を考慮して優先順位を付けることで、少ない整備箇所でも高い事業効果が期待できることが確認できました。
今回の成果
今回の検証では、
・既存施設の可視化
・サービス圏分析
・人口統計との重ね合わせ
・AIによる候補地選定
までを一連の流れとして実施できました。
従来であればGIS担当者が個別に行っていた分析を、生成AIとMCPを活用することで大幅に効率化できる可能性が見えてきました。
新たな課題も見えてきた
ここで一つの疑問が生まれました。
今回利用した人口データは町丁目単位です。
GIS分析では一般的な方法ですが、
本当に人口は町丁目内に均等に存在しているのでしょうか。
例えば、
・河川
・池
・大規模公園
・工業地域
など、人が住んでいない場所も存在します。
しかし町丁目人口を利用すると、それらの場所にも人口が存在するものとして扱われる場合があります。
つまり、
分析結果は正しく見えても、
人口の分布モデル自体に改善の余地がある可能性があります。
※実際に使用したプロンプトの中に、「推測で人口値を作らないこと」や「計算根拠となる統計年を明示すること」などの制約を含めています。
次回予告
今回の分析では、健康遊具の配置候補やカバー率向上効果を確認することができました。しかし、その過程で新たな疑問も生まれました。
生成AIは健康遊具のカバー率を算出できましたが、その数値は本当に正しいのでしょうか。
自治体業務では、結果だけでなく「なぜその結果になったのか」を説明することが求められます。
次回は、
AIが導き出した分析結果をGISで検証できるのか
という視点から、
MCPを活用した検証の取り組みについて紹介します。
関連記事
▶ 第1回:自治体GISとAIの融合
▶ 第2回:ArcGIS Onlineと生成AIを連携した人口統計分析の実証
▶ 第3回:生成AIとGISで健康遊具の優先整備地区を抽出してみた
▶第4回:自治体の人材不足はGIS AIで解決できるのか
▶第5回:e-Stat APIとGISを結合するときの落とし穴

コメントを残す