AIで地図を生成できる?画像生成AIとQGISのGISエージェントを実在の街で比較
公開日
「AI map generator」で上位に出るツールの多くは、地図のように見える絵を描きます。実在の場所を扱うなら、ピクセルを推測するのではなくGISデータを読むAIが必要です。ブラジル・レシフェでの私の検証では、2つの画像モデルが描いた1 kmの範囲に入っていた実在の公園や学校は0件でした。一方、QGISの中で動くGISエージェントは、公園50件と学校18件のすべてでOpenStreetMapと一致しました。
検証は2026年11月7日に、プロンプト1つで行いました。実行前に、合格基準と一緒に書き出しておいたプロンプトです。
A map of the parks and schools within 1 km of the metro stations of central Recife, Brazil, with a legend and a scale bar
(ブラジル・レシフェ中心部の地下鉄駅から1 km以内にある公園と学校の地図。凡例と縮尺バー付き)
以下では、それぞれの種類のツールが実際に何を出力するか、同じ地図をQGISで手作業により無料で作る方法、そしてこの1文をQGIS内のエージェントに渡したときに何が起きたかを紹介します。
9件中6件
Googleで「ai map generator」の上位結果のうち、ファンタジーやD&D用のツール
0 / 10
各画像モデルの地図に書かれた公園と学校の名前のうち、実在してかつ1 km以内にあったもの
50 & 18
QGISの手作業とGISエージェントの両方が見つけた、OSM上の実在の公園と学校
AI地図生成ツールとは
AI地図生成ツールとは、テキストのプロンプトを地図に変えるツールの総称です。実際にはこの呼び名の下に、まったく異なる3種類のものが入っていて、Googleは同じ検索結果ページにその3つを混ぜて表示します。2026年11月7日に米国で「ai map generator」の自然検索上位を調べたところ、9件中6件がファンタジー、ダンジョンズ&ドラゴンズ、卓上ゲーム用のバトルマップ生成ツールでした(Recraft、Redditのr/DnDのスレッド、Adobe Firefly、TT-RPG、ZSky AI、OpenArt)。実在の場所を扱っていたのは3件だけで、オープンデータから作った、凡例と縮尺バー付きの実在地域の地図を見せているものは1件もありませんでした。
3つの種類は次のとおりです。
- ファンタジー・ゲーム用の地図生成ツール(Recraft、Adobe Fireflyのファンタジーマップ作成、TT-RPG、ZSky、OpenArt、Perchance)。架空の大陸、羊皮紙風の世界、ダンジョンのマス目を描くように調整された画像生成モデルです。キャンペーン用には優れていますが、実在の地理のためには作られていません。
- 汎用の画像モデル(GoogleのGeminiの画像モデルや、ChatGPTやMidjourneyの画像機能など)とピンマップツール(ProxiのMapsGPTやPamPamなど)。画像モデルは、道路地図をまねた平らなJPEGを描きます。ピンマップツールは、LLMの記憶をもとにWeb地図上にマーカーを置きます。MapsGPT自身のページは出力について「Places come from public data and an AI's best guess」(場所は公開データとAIの推測によるもの)と書き、「It's a good starting point, not a guarantee.」(出発点としては良いが、保証ではない)と添えています。
- GISエージェント。QGISなどのデスクトップGISの中で動きます。ピクセルを描く代わりに、OpenStreetMapなどからベクタレイヤをダウンロードし、空間処理(メートル単位のバッファ、インターセクト)を実行し、レイヤをスタイリングして、編集やPDF書き出しができる印刷レイアウトを作ります。
小説のための島が必要なら、1つ目のグループが向いています。その地図をもとに誰かが歩いたり、建設したり、判断したりするなら、実際の座標で機能するのは3つ目のグループだけです。
検証:レシフェで1つのプロンプト、4つの方法
レシフェを選んだのは、東側にはっきりした海岸線があり、2本の川(カピバリベ川とベベリベ川)が中心部の近くで合流し、地下鉄路線(Metrorec)があり、OpenStreetMapの整備状況も良いからです。何かを実行する前に、OpenStreetMapから正解データ(railway=station かつ station=subway、leisure=park、amenity=school)を取得し、合格ルールを書きました。
- 駅は実在するMetrorecの駅で、順序が正しく、少なくともRecife駅とJoana Bezerra駅を含むこと。
- 画像上の公園や学校のラベルはすべてOSMと照合する。その名前と種類の地物がレシフェに存在するか、そして実在の駅から1 km以内にあるか。
- 縮尺バーが、Recife駅とJoana Bezerra駅の実際の直線距離1,192 mと25%以内で一致すること。
- GISエージェントについては、メートル単位のCRSでの正確な1,000 mバッファ、私自身のOSMジオメトリ検証と一致する公園と学校の件数、凡例と縮尺バーのあるレイアウト、データの出典表示。
| 方法 | 時間 | 実在の公園・学校名(1 km以内) | 実在の駅名 | データ出典とライセンスの記載 | 編集できるGISレイヤ | 書き出し |
|---|---|---|---|---|---|---|
Gemini 3 Pro Image (gemini-3-pro-image) | 18.2秒 | 10件中7件がレシフェに実在(1 km以内は10件中0件) | 6件中3件 | なし | なし(1408 x 768の平らなJPEG) | JPEG |
Gemini 3.1 Flash Image (gemini-3.1-flash-image) | 10.9秒 | 10件中5件がレシフェに実在(1 km以内は10件中0件) | 6件中3件 | なし | なし(1408 x 768の平らなJPEG) | JPEG |
| QGISのAI Agent(Medium effort、メッセージ1回) | 88.7秒 | 公園50件、学校18件(OSM IDと100%一致、名前のラベルなし) | 2件中2件(中心部のみ) | あり:OSM(ODbL 1.0)、Overture Maps | あり、EPSG:31985のスタイル付きレイヤ6つ | QGISレイアウト、PDF、PNG、GeoPackage |
| QGISの手作業(6ステップ、OSMデータ) | 計測なし(スクリプトで実行) | 公園50件、学校18件(同じOSM ID) | 2件中2件 | あり:OSM(ODbL 1.0) | あり | QGISレイアウト、PDF、PNG、GeoPackage |
画像モデルが実在の街で間違えること
Gemini APIを通じて、gemini-3-pro-image と gemini-3.1-flash-image に1回ずつプロンプトを送りました。設定はデフォルトで、システムプロンプトはなしです。モデルごとに画像1枚は1サンプルにすぎず、統計的なベンチマークではありません。以下の件数は固定の割合ではなく、私の実行で起きたこととして読んでください。
ぱっと見では、どちらの画像も説得力があります。プロンプトは英語だったのに、どちらもラベルをポルトガル語で書き、レシフェの海岸がある右側に大西洋を置き、赤い地下鉄アイコンの周りに1 kmの円を描き、凡例と縮尺バーも付けていました。

名前をOpenStreetMapと照合すると、地図は崩れます。Pro版の画像では、公園と学校の異なる名前10件のうち7件がレシフェの実在の場所です(Parque 13 de Maio、Parque da Jaqueira、Ginásio Pernambucano、Colégio Damasなど)。1件は公園ではなく通り(Praça do Arsenal)で、2件はOSMに存在しません(Parque das JaqueiraとColégio de Mantes)。
より大きな問題は位置です。画像上のラベルはすべて、描かれた1 kmの円の中にあります。プロンプトがそう求めたからです。実際には、名前の付いた公園と学校10件のうち、実在の地下鉄駅から1,000 m以内にあるものは1件もありません。最も近いのはLiceu de Artes e Ofíciosで、Recife駅から1,101 m。Parque 13 de Maioは1,248 m、Parque da Jaqueiraは4,144 m離れています。モデルはレシフェの実在の名前を覚えていて、それを自分の円の中に描き込んだのです。
駅にも同じ問題があります。Pro版の画像にある異なる駅名6件のうち、実在のMetrorecの駅は3件だけです(Largo da Paz、Joana Bezerra、Afogados)。「Recife Antigo」は地区の名前で、「Larga Bezerra」はLargo da PazとJoana Bezerraが混ざったもの、「Central」というラベルは地図の3か所にある別々の赤いアイコンに付いています。OSMではAfogadosとLargo da Pazは489 m離れていますが、画像自身の1 kmの縮尺バーで測ると、Pro版の画像は2つを2.8 km離して描いています。

Flash版の画像(gemini-3.1-flash-image、10.9秒)はラベルがさらに悪く、公園と学校の異なる名前10件のうち、レシフェに実在する公園や学校は5件でした。2件は種類違いで(Lagoa do Araçáは池、Escola Estadual Sizenando SilveiraはOSMではその名前を冠したシェアサイクルのステーションとしてしか存在しません)、3件はOSMに存在しません。こちらも、実在の公園や学校で中心部の地下鉄駅から1 km以内にあるものはありませんでした。
地図表現のディテールも作り出しています。上端と左端に沿って、どの座標系にも属さない座標目盛り(85000、40000、70000)を印字し、下端の目盛りの列は読めない形に崩れています。海岸では、Praia de Boa ViagemをPraia do Pinaの北に描いていますが、実際のレシフェではBoa ViagemはPinaの約3.7 km南にあります。
画像モデルの仕組みを思い出せば、どれも意外ではありません。画像モデルにはGISレイヤも座標系もなく、1,000 mを測る手段もありません。レシフェの地図のように見えるピクセルを予測しているだけです。
QGISで本物の地図を無料で作る方法
AIエージェントを見る前に、OpenStreetMapのデータを使ってQGISでこの地図を作る、標準的な無料の方法を紹介します。レイアウトを作ったことがない場合は、QGISで地図を作る方法のガイドで基本を詳しく説明しています。QuickOSMの使い方はQGISでOpenStreetMapのデータをダウンロードするガイドにあります。
OpenStreetMapから公園、学校、地下鉄駅をダウンロードする
無料のQuickOSMプラグインが入っていなければインストールし、Vector > QuickOSM > QuickOSM… を開きます。Quick queryタブで、Inを Recife, Brazil にして3つのクエリを実行します。
leisure=parkamenity=schoolrailway=station(2行目にstation=subwayを追加)
中心部の地下鉄駅だけを残す
私のように生の .osm ファイルを読み込んだ場合、タグは points レイヤの other_tags の中に入っています。Processing Toolbox > Vector selection > Extract by expression を開き、次の式で実行します。
"other_tags" LIKE '%"railway"=>"station"%' AND "other_tags" LIKE '%"station"=>"subway"%' AND "name" IN ('Recife','Joana Bezerra')
中心部の駅のポイント2つが残ります。
メートル単位のCRSに再投影する
OpenStreetMapのデータは度単位(EPSG:4326)で届きます。度単位のバッファには意味がないので、まず駅、公園、学校のレイヤを Vector > Data Management Tools > Reproject Layer… で EPSG:31985(SIRGAS 2000 / UTM zone 25S、メートル単位)に再投影します。
1,000 mのバッファを作る
Vector > Geoprocessing Tools > Buffer… を開きます。入力を再投影した駅にし、Distanceを 1000 メートル、Segmentsを 36 にして、Dissolve resultにチェックを入れて実行します。5,374,942 m²の結合されたポリゴンが1つできます。
バッファ内の公園と学校を抽出する
Processing Toolbox > Vector selection > Extract by location を開きます。再投影した公園レイヤから、1,000 mバッファと交差する(intersect)地物を選びます。学校でも同じ操作をします(OSMでは、この範囲の学校のうち17件がポリゴン、1件がポイントとして登録されています。18件すべてを点で描きたい場合は、ポリゴンに Vector > Geometry Tools > Centroids… を実行してから Merge vector layers で結合します)。公園50件と学校18件が残ります。
背景地図を追加して印刷レイアウトを作る
ブラウザパネルのXYZ TilesからOpenStreetMapを追加し、レイヤをスタイリングして Project > New Print Layout… を開きます。地図フレーム、凡例、縮尺バー、方位記号、© OpenStreetMap contributors (ODbL) のクレジット行を追加し、Layout > Export as PDF… で書き出します。
ステップ1のQuickOSMダイアログを、レシフェの leisure=park 用に設定したところです。

そして、ステップ4と5で実際の空間処理を行う2つのプロセシングダイアログ、メートル単位のバッファと場所による抽出です。

バッファができたら、Extract by location で、ダウンロードした範囲にある公園135件を、1 kmの範囲に接する50件に絞り込みます。

これらのレイヤをQGISの印刷レイアウトでOpenStreetMapの背景地図に重ねると、公園50件と学校18件を正確に示す、検証可能な参照用の地図になります。

同じプロンプトをGISエージェントに
私たちはAI Agentを開発しているので、このセクションではまったく同じ文で自社のプラグインを検証します。AI AgentはQGISの中にドッキングするチャットパネルです(詳しくはQGIS用AI Agentの完全ガイドで解説しています)。画像を生成する代わりに、プロジェクトを読み、ベクタデータセットを取得し、QGISのプロセシングツールを実行し、印刷レイアウトを作ります。
macOS上の空のQGIS 3.44.15プロジェクトから始め、effortをMedium、権限をBalancedにして、検証用プロンプトをそのまま貼り付け、送信を1回だけ押しました。追加のメッセージも、質問カードも、手作業の調整もなしです。

処理は88.7秒で終わりました(内部ツール呼び出し34回、エラー0件)。AI Agentは私たちがホストしているOpenStreetMapの抽出データ(2026年10月19日時点)を読むため、その日に私の接続を拒否した公開サーバーの影響を受けませんでした。プロジェクトを EPSG:31985(SIRGAS 2000 / UTM zone 25S)に切り替え、地下鉄駅を取得し、1,000 mのバッファを作り、公園と学校を切り抜き、6つのレイヤをスタイリングし、A4横のレイアウトを作りました。
パネルに表示された回答は次のとおりです。
Created the A4 layout Central Recife parks and schools, with a legend and scale bar. It shows 18 mapped schools and 50 mapped parks within 1 km straight-line distance of two metro stations. "Central" means within 2.5 km of Recife's city centre; coverage depends on OpenStreetMap. I can also export the layout as a PDF.
(凡例と縮尺バー付きのA4レイアウト「Central Recife parks and schools」を作成しました。2つの地下鉄駅から直線距離1 km以内にある、地図上の学校18件と公園50件を表示しています。「中心部」はレシフェの市中心から2.5 km以内という意味で、網羅性はOpenStreetMapに依存します。レイアウトをPDFとして書き出すこともできます。)

AI Agentのレイヤを、私自身のOpenStreetMapジオメトリ検証と照合しました。
- 駅: Recife駅(
-8.06917, -34.88537)とJoana Bezerra駅(-8.07321, -34.89539)を選びました。 - バッファ:
EPSG:31985のバッファレイヤは5,375,557 m²で、1,192 m離れた2つの1,000 mの円の解析的な面積(5,376,700 m²)との差は0.02%以内です。 - 公園と学校: 公園50件と学校18件で、手作業のワークフローの公園OSM ID 50件中50件、学校OSM ID 18件中18件と一致しました。駅から最も遠い公園の頂点は998 m、最も遠い学校は944 mです。
- 出典表示: レイアウトのフッターに
© OpenStreetMap contributors; © Overture Maps Foundation, TomTom; modified by TerraLab | ODbL 1.0 | October 2026 | SIRGAS 2000 / UTM 25Sと記載されています。

このメッセージ1回の結果には、上のレイアウトでも分かる実際の限界もありました。
- 駅が2つだけ。 「中心部」をレシフェの歴史地区から2.5 km以内と定義したため、Afogados(Recife駅から2,475 m)、Largo da Paz、Ipirangaが外れました。Afogadosを含めると、件数は公園63件、学校26件に増えます。ただ、2.5 kmのルールは回答にもページにも明記されていたので、追加のメッセージでAfogadosを含めるよう頼めます。
- 地図上に公園や学校の名前ラベルがない。 ラベルが付いているのは2つの駅だけです。学校の名前を見るには、QGISで地物をクリックするか、エージェントにラベル表示を頼みます。
- 方位記号がなく、ページのバランスも粗い。 私のプロンプトは方位記号を求めていなかったので、エージェントは追加しませんでした。「Joana Bezerra」のラベルは赤い点の上に重なり、Overtureの道路とOSMの水域の下にラスタの背景地図がなく、A4ページの右3分の1はほとんど余白です。
- PDFファイルまであと1クリックで止まった。 QGISの印刷レイアウトを作り、PDFへの書き出しを提案したので、
Layout > Export as PDF…は私が自分でクリックしました。
画像生成ツールとの違いは、この地図のすべての要素が、メートル単位の座標系にある本物のQGISレイヤだという点です。凡例を動かす、方位記号を足す、学校のラベルを表示する、Afogados駅を加えるといった作業は、新しいJPEGでやり直しの運試しをするのではなく、同じ地図の上で数秒で済みます。
どのツールをいつ使うか
- 場所が架空なら、ファンタジー地図生成ツールを使う(Recraft、Firefly、TT-RPG、OpenArt)。「AI map generator」の検索結果の大半はそのために作られていて、得意分野です。
- 誰かが訪れる、レポートで引用する、その上に何かを建てる場所に、画像モデルは決して使わない。
gemini-3-pro-imageとgemini-3.1-flash-imageの危険な点は、見た目が悪いことではありません。完成して見えるのに、レシフェの実在の学校名を実際の位置から3〜4 km離れた場所に置くことです。ブラウザのチャットボットしかない場合は、画像を描かせるのではなくPyQGISのコードを書かせましょう。QGISでのChatGPTの検証で、何が機能し、見えない状態で書いたスクリプトがどこで失敗するかを紹介しています。 - QGISの手作業を使うのは、すべてのクエリ、シンボル、レイアウト要素を無料で完全に管理したいとき、あるいは空間結合やメートル単位の投影の仕組みを学んでいるときです。
- QGIS内のGISエージェントを使うのは、本物のOpenStreetMapやOvertureのレイヤ、正確なメートル単位のバッファ、編集できるレイアウトを1分半で手に入れたく、最後にラベルを整えたり方位記号を足したりするのは構わないときです。私たちのQGISツールはすべてQGIS AIハブで見られます。
測定方法。 2026年11月7日に検証しました。2つの画像生成はGemini APIを呼び出しました(generateContent、responseModalities: ["TEXT","IMAGE"]、デフォルト設定、システムプロンプトなし、モデルごとに n = 1 枚)。対象は gemini-3-pro-image と gemini-3.1-flash-image です。正解データは同日のOpenStreetMap API(/api/0.6/map、経度 -34.9245 から -34.8745、緯度 -8.0885 から -8.0585 をカバーする8タイル)とNominatimの検索から取得しました。AI Agentの実行は、macOS上のQGIS 3.44.15、AI Agent 1.9.4、Medium effort、Balanced権限、空のプロジェクトで行いました。エージェントが参照したOpenStreetMapの抽出データは2026年10月19日時点、Overture Mapsの道路データは2026年10月21日時点のものです。プロンプト1つ、都市1つは小さなサンプルです。別の都市、ポルトガル語のプロンプト、画像生成の繰り返しで、ラベルの正確な件数は変わるでしょう。
よくある質問
ChatGPTやGeminiで実在の街の正確な地図は作れますか?
生成画像としては作れません。画像モデルが地図を描くとき、GISの座標を読むのではなくピクセルを予測しています。レシフェ中心部での検証では、2つのGemini画像モデルはどちらも凡例と縮尺バー付きのポルトガル語の説得力ある地図を描きましたが、各画像に書かれた公園と学校の名前10件のうち、実在してかつ描かれた1 kmの地下鉄範囲の中にあるものは0件でした。正確な地図には、QGISなどのGISか、本物のOpenStreetMapレイヤで作業するエージェントを使ってください。
実在の場所に使える無料のAI地図生成ツールはありますか?
あります。ただし制限付きです。MapsGPTのようなWebのピンツールでは、インタラクティブなピンマップを1時間に数枚まで無料で作れますが、そのページ自身がポイントは「an AI's best guess」(AIの推測)だと書いています。ポリゴン、縮尺バー、印刷レイアウトのある本物のGIS地図なら、QGISは完全に無料のオープンソースです。QGIS用AI Agentには、Low effortで月5タスクの無料プランがあり、銀行カードもAPIキーも不要です(Proでは月300タスクとMediumまたはHigh effortが使えます)。
自分のGISデータやスプレッドシートからAIで地図を作れますか?
画像生成ツールは、Shapefile、GeoPackage、座標のCSVを読めません。QGIS内のGISエージェントなら読めます。既存のプロジェクトを開くか、CSV、GeoPackage、Shapefile、GeoJSONをAI Agentのチャットパネルにドロップし、自分のレイヤとOpenStreetMapやOverture Mapsのデータを組み合わせて、バッファ、結合、スタイリング、印刷レイアウトの作成を頼めます。
「AI map generator」の検索結果がファンタジーやD&Dの地図ばかりなのはなぜですか?
画像生成モデルは、正解データが存在しない海岸線、羊皮紙の質感、ダンジョンの部屋を作り出すのがとても得意だからです。2026年11月にGoogleで「ai map generator」の上位9件を調べたところ、6件がファンタジーや卓上ゲーム用のバトルマップツールでした。実在の場所の地図が必要なら、画像生成ツールではなく、GISツールやQGISプラグインを探してください。
の中で動くGISエージェントは、公園50件と学校18件のすべてでOpenStreetMapと一致しました。

