~3D都市モデルを自然言語で扱う実証~
本記事は、生成AIとGISを活用した自治体業務の実証シリーズの第6回です。
追記(2026年8月)
PLATEAU MCPの建物属性取得について再検証を行い、詳細用途、土地利用分類、指定建ぺい率・容積率など、当初未確認だった属性も取得できることを確認しました。本記事はその結果を踏まえて一部補強しています。
関連記事
▶ 第1回:自治体GISとAIの融合
▶第2回:ArcGIS Onlineと生成AIを連携した人口統計分析の実証
▶第3回:生成AIとGISで健康遊具の優先整備地区を抽出してみた
▶第4回:自治体の人材不足はGIS AIで解決できるのか
▶第5回:e-Stat APIとGISを結合するときの落とし穴
▶第7回:健康遊具はどこに整備すべきか?生成AIとGISで検証
▶第8回:AIの回答は信用できるのか(検証と説明責任)
▶第9回:自治体GISにおける人口統計データの構造要件を生成AIで検証する
▶第10回:PLATEAU LOD1と生成AIで建物単位人口推計は可能か
▶第11回:PLATEAU建物人口から見る浸水リスク
▶第12回:建物単位人口で見る避難所シミュレーション
▶第13回:PLATEAUの建物に人口を配置する
▶第14回:PLATEAUを「人口を持つ都市」へ
はじめに
PLATEAUは国土交通省が公開している3D都市モデルです。
近年、生成AIと外部システムを連携するMCP(Model Context Protocol)が注目されており、GIS分野でも活用が始まっています。
今回、地域GIS研究所ではPLATEAU MCPを実際に利用し、
・どのようなデータが利用できるのか
・自然言語でどこまで分析できるのか
・自治体業務に活用できる可能性はあるのか
を検証しました。
その結果、
PLATEAU MCPはGIS解析ツールではなく、
「PLATEAUデータを探索・取得するためのAIインターフェース」
として非常に有効であることが分かりました。
また、公共空地の集計や空間検索など、従来であればGIS担当者が複数のツールを操作して行っていた作業を自然言語で実行できる可能性も確認できました。
本記事では、和泉市を対象に実施した検証内容を紹介します。
都市データ分析は可能なのかを検証してみました。
PLATEAU MCPとは
PLATEAU MCPは、PLATEAUが公開している3D都市モデルをAIエージェントから利用するための仕組みです。
従来であれば、
- PLATEAUサイトから対象データを探す
- CityGMLをダウンロードする
- ArcGIS ProやQGISへ変換する
- 必要な属性を抽出する
といった作業が必要でした。
PLATEAU MCPでは、
「和泉市の公共空地を集計してください」
のような自然言語で指示を出すことができます。
まず最初に確認したこと
PLATEAU MCPを導入したものの、
最初は何ができるのか分かりませんでした。
そこで最初に次の質問を行いました。
PLATEAU MCPで利用可能なツール一覧を表示してください
すると、
- データセット検索
- CityGML検索
- 空間ID検索
- 建物属性取得
などの機能が利用できることが分かりました。
ここで初めて、
PLATEAU MCPは分析ソフトではなく、PLATEAUデータを探索するためのAIインターフェース
であることが理解できました。
※その後、別自治体の建築物モデルで再検証したところ、PLATEAU MCPは単なるデータセット探索だけでなく、CityGMLに格納された詳細な建物属性まで取得できることが確認できました。
ただし、取得できる情報量はプロンプトの具体性によって大きく変わります。
まずはどんなデータがあるのか調べてみた
最初に次の質問を行いました。
和泉市のPLATEAUデータセットを調査してください。
すると、PLATEAU MCPから次の情報が返ってきました。
地域情報
| 項目 | 内容 |
|---|---|
| 地域名 | 和泉市 |
| 地域コード | 27219 |
| 地域種別 | CITY |
| 平面直角座標系 | EPSG:6674 |
| 利用可能年度 | 2023 |
| 登録年度 | 2024 |
| PLATEAU仕様 | 4.1 |
| CityGML取得 | 可能 |
利用可能なデータセット
確認できた主なデータセットは以下のとおりです。
都市モデル
- 建築物モデル(bldg)
- 土地利用モデル(luse)
防災モデル
- 洪水浸水想定区域モデル(fld)
- 土砂災害警戒区域モデル(lsld)
都市計画モデル
- 区域区分
- 用途地域
- 地区計画
- 公共空地
- 都市計画区域
- 市街地再開発事業
- 土地区画整理事業
- 防火地域
- 特別用途地区
など
特に興味深かったのは、
和泉市の当該PLATEAUデータセットには道路モデル(tran)は存在しなかった
ことです。
PLATEAUは全国で同じデータが整備されているわけではなく、自治体ごとに整備状況が異なることも確認できました。
さらにPLATEAU MCPは、
このデータがあります
だけではなく、
実際に取得できるCityGMLファイルまで示してくれました。
例えば土地利用モデルでは、
513544_luse_6697_op.gml
513553_luse_6697_op.gml
などのファイルが利用可能であることが分かりました。
公共空地を分析してみる
データが存在することが確認できたので、
次は土地利用モデルを利用して分析を行いました。
ここで登場するのが公共空地(217)です。
公共空地とは
- 公園
- 緑地
- 広場
- 運動場
などを含む土地利用区分です。
今回入力したプロンプトは以下です。
PLATEAU MCPを使って
公共空地の
・件数
・面積
・分布
を集計してください
と質問しました。
すると、AIは和泉市の土地利用モデル(luse)を探索し、対象となるCityGMLを特定して集計を実施しました。
使用されたデータ
| 項目 | 内容 |
|---|---|
| 自治体 | 大阪府和泉市 |
| 年度 | 2023 |
| データ種別 | 土地利用モデル(luse) |
| 対象分類 | 公共空地 |
| 分類コード | 217 |
| 対象CityGML | 513543、513544、513553、513554 |
件数・面積
集計結果は以下のとおりです。
| 指標 | 値 |
|---|---|
| 件数 | 94件 |
| 総面積 | 1,909,271㎡ |
| 総面積 | 190.93ha |
| 平均面積 | 20,311㎡ |
| 中央値 | 7,838㎡ |
| 最大面積 | 234,272㎡ |
| 最小面積 | 246㎡ |
単なる件数集計だけでなく、平均値や中央値まで整理されました。
メッシュ別分布
さらに、どのメッシュに公共空地が分布しているかも集計されました。
| メッシュ | 件数 | 面積 |
|---|---|---|
| 513543 | 2件 | 13,430㎡ |
| 513544 | 0件 | 0㎡ |
| 513553 | 92件 | 1,895,841㎡ |
| 513554 | 0件 | 0㎡ |
結果を見ると、
公共空地の大部分が513553メッシュに集中している
ことが分かります。
空間分布
さらにAIは重心位置から空間分布まで整理しました。
| 区分 | 件数 | 面積 |
|---|---|---|
| 西部・北側 | 13件 | 153,935㎡ |
| 中部・北側 | 33件 | 606,608㎡ |
| 中部・南側 | 24件 | 597,171㎡ |
| 東部・北側 | 15件 | 350,679㎡ |
| 東部・南側 | 9件 | 200,878㎡ |
この結果から、
- 中部・北側
- 中部・南側
に公共空地が多く分布していることが読み取れます。
面積規模別の特徴
さらに面積規模別に分類すると、
- 1,000~10,000㎡の公共空地が最も多い
- 一方で50,000㎡以上の大規模公共空地は8件しかない
- しかし面積では全体の約54%を占める
という特徴も確認できました。
正直驚いた点
ここで驚いたのは、私が依頼したのは
件数
面積
分布
だけだったことです。
しかし実際には、
- 件数
- 総面積
- 平均値
- 中央値
- 最大値
- メッシュ分布
- 方位別分布
- 面積規模別分析
まで自動的に整理されました。
AIは何をしていたのか
実際にはAIは次の処理を行っています。
土地利用モデル検索
↓
CityGML特定
↓
不足データ確認
↓
データ取得
↓
ジオメトリ解析
↓
面積計算
↓
集計
↓
結果出力
利用者は自然言語で質問しただけです。
AIが実施した処理
① 土地利用モデル(luse)を検索
② 対象CityGMLファイルを特定
③ 不足メッシュを検出
④ CityGMLを取得
⑤ ジオメトリを解析
⑥ 面積を計算
⑦ 分布を集計
⑧ 結果を整理
従来であればGIS担当者が複数のツールを使って実施していた作業です。
空間ID検索も試してみた
公共空地分析の次に、PLATEAU MCPの特徴的な機能である「空間ID検索」も試してみました。
今回は和泉市役所周辺を対象に、
和泉市役所周辺の空間ID検索例を示してください
と質問しました。
するとAIは、
- 市役所の位置情報を取得
- 緯度経度を十進度へ変換
- 空間IDを生成
- 対応するCityGMLを検索
- 交差する建物を取得
- 建物属性を取得
という処理を実施しました。
生成された空間ID
市役所位置から生成された空間IDは次のとおりです。
19/0/459368/208584
また、周辺8セルを含めた9セル検索も実施されました。
建物検索結果
空間IDに交差する建物を検索した結果、
bldg_6a445e5d-cf54-4a50-8653-b6d8ce7510e2
という建物が取得されました。
さらに周辺9セルで検索すると、
32棟の建物
が取得されました。
取得できた建物属性
取得された建物からは次のような属性が確認できました。
| 項目 | 結果 |
|---|---|
| 建物ID | 27219-bldg-72179 |
| 建物高さ | 29.4m |
| 土地利用 | 公益施設用地 |
| 土地利用コード | 214 |
| 都市計画区域 | 都市計画区域 |
| 区域区分 | 市街化区域 |
| 調査年 | 2023 |
さらに、
- 建物中心座標
- 建物範囲
- 標高
まで取得できました。
より詳細な建物属性も取得できるのか再検証
当初の検証では、上表のような基本的な建物属性までを確認しました。
その後、武蔵村山市の建築物CityGMLを対象に、取得したい属性を具体的に指定してPLATEAU MCPを再検証しました。その結果、以下の属性についても実値を取得できました。
武蔵村山市の取得例
| 属性 | 取得例 |
|---|---|
建物用途 usage | 住宅、共同住宅 |
建物詳細用途 detailedUsage | 独立住宅、集合住宅 |
土地利用分類 landUseType | 住宅用地 |
| 指定建ぺい率 | 40% |
| 指定容積率 | 80% |
| 調査年 | 2022 |
| 都市計画種別 | 都市計画区域 |
| 屋根外周面積 | 64.26758㎡ など |
| 地上階数 | 2階 |
| 地下階数 | 0階 |
| 計測高さ | 6.9m、7.4m、8.0m |
特に、建物詳細用途、指定建ぺい率・容積率といったURO拡張属性まで、PLATEAU MCP経由で取得できた点は重要です。
正直驚いた点
ここで興味深かったのは、
私が知りたかったのは
市役所周辺の建物
だけだったことです。
実際には、
・空間IDの生成
・空間IDに交差する建物検索
・建物属性の取得
・土地利用属性の取得
・都市計画関連属性の取得
までが自動的に実行されました。
従来であれば、
PLATEAU ViewerやGISソフトを開いて確認していた内容です。
自治体業務ではどう使えるのか
今回の結果を見て感じたのは、
空間IDは単なる研究用途ではなく、自治体業務にも応用できる可能性があるということです。
例えば、
- 公共施設台帳との照合
- 防災施設の位置確認
- 現地調査地点の管理
- 3D都市モデルとの連携
などです。
一方で、PLATEAUの属性には建物名称が入っていません。
そのため、
今回取得した建物を
「和泉市役所本庁舎」
と断定するには、
- 航空写真
- 公共施設台帳
- ArcGISの施設データ
との照合が必要になります。
処理時間はデータ量によって大きく変わる
今回の検証では、対象データによって処理時間に大きな差が見られました。
公共空地(217)の分析では、
- 対象件数:94件
- 対象ファイル:4ファイル
だったため、件数・面積・分布の集計は約3分で完了しました。
一方で、建築物モデルを対象とした調査では、
- 建築物数:約64,000棟
- CityGMLファイル数:81ファイル
- 対象範囲:和泉市全域
となり、建物数や利用可能属性の集計に約23分を要しました。
これはPLATEAU MCPの性能というよりも、解析対象となるCityGMLデータ量の違いによるものです。
従来作業との比較
同じ分析を従来のGIS作業で行う場合を考えてみます。
従来の作業
- PLATEAUデータ検索:10分
- CityGML取得:5分
- ArcGIS Pro変換:15分
- 属性確認:10分
- 公共空地抽出:5分
- 面積計算:5分
- 集計表作成:10分
合計:約60分
MCP+AI
- 自然言語による指示
- 自動解析
- 結果出力
実行時間:約3分
もちろん結果確認は必要ですが、調査作業だけで見れば大幅な時間短縮になります。
実際に使って感じたこと
今回の検証を通じて感じたのは、
PLATEAU MCPは「GIS解析エンジン」ではなく、
「都市データ検索エンジン」
として非常に優秀だということです。
特に、
・どのデータが存在するのか
・どのCityGMLが利用できるのか
・どの属性が利用できるのか
を自然言語で確認できる点は大きなメリットです。
プロンプト設計も結果を左右する
今回の再検証で分かったのは、MCPサーバーの能力だけでなく、利用者がどこまで具体的に取得対象を指定するかによって、返ってくる情報量が大きく変わるということです。
当初の検証では基本属性までの確認でしたが、詳細属性を明示して再度問い合わせることで、より多くのURO属性を取得できました。
一方で、
・統計データとの統合
・高度な空間分析
・ダッシュボード作成
・Webマップ公開
についてはArcGISなど他のGIS基盤が必要になります。
今後の可能性
今回の検証では、
自治体職員
↓
PLATEAU MCP
↓
必要な属性を自然言語で指定
↓
CityGML取得
↓
AI解析
↓
結果確認
という流れを確認できました。
今後はさらに、
・PLATEAU MCP
・ArcGIS MCP
・e-Stat API
・生成AIエージェント
を組み合わせることで、
統計データの取得
↓
GISデータ整備
↓
空間分析
↓
政策判断支援
までを自然言語で実行できる可能性があります。
さらに再検証では、質問の仕方を具体化することで、通常の属性確認では表面化しなかった詳細用途、土地利用分類、指定建ぺい率・容積率なども取得できました。
つまりPLATEAU MCPでは、単に「どの属性がありますか」と聞くだけでなく、
「detailedUsageを取得してください」
「指定建ぺい率・容積率を確認してください」
と取得対象を明示することで、CityGML内部のより詳細な属性まで利用できる可能性があります。
特に自治体では、人材不足やGIS担当者への業務集中が課題となっています。
特に、CityGMLのXML構造やURO属性名を職員が完全に理解していなくても、取得したい情報を自然言語で指定し、AIがMCPツールを呼び出して属性を取得できる点は大きな特徴です。
今回確認できた仕組みは、専門職だけでなく一般職員もGISを活用できる環境につながる可能性があります。よく活用するための入口として非常に有効であることが確認できました。
次回予告
PLATEAU MCP単体では分析は完結しません。
次回は、
LATEAU MCP
(データ探索・CityGML特定)
↓
ArcGIS MCP
(GIS解析)
↓
e-Stat API
(人口統計)
↓
生成AI
を組み合わせ、
統計データ取得からGIS分析までを自然言語で実行できるのかを検証します。
地域GIS研究所では、生成AIとGISを活用した自治体業務の可能性について、引き続き実証と研究を進めていきます。
関連記事
▶ 第1回:自治体GISとAIの融合
▶第2回:ArcGIS Onlineと生成AIを連携した人口統計分析の実証
▶第3回:生成AIとGISで健康遊具の優先整備地区を抽出してみた
▶第4回:自治体の人材不足はGIS AIで解決できるのか
▶第5回:e-Stat APIとGISを結合するときの落とし穴
▶第7回:健康遊具はどこに整備すべきか?生成AIとGISで検証
▶第8回:AIの回答は信用できるのか(検証と説明責任)
▶第9回:自治体GISにおける人口統計データの構造要件を生成AIで検証する
▶第10回:PLATEAU LOD1と生成AIで建物単位人口推計は可能か
▶第11回:PLATEAU建物人口から見る浸水リスク
▶第12回:建物単位人口で見る避難所シミュレーション
▶第13回:PLATEAUの建物に人口を配置する
▶第14回:PLATEAUを「人口を持つ都市」へ

コメントを残す