跳转到内容
AI Agent
QGIS
指南

AI 地图生成器实测:图像模型和 QGIS 智能体,谁能做出真实地图

发布于

在“AI map generator”(AI 地图生成器)这个词上排名靠前的工具,大多数画出来的是一张看起来像地图的图片。如果要做真实地点的地图,您需要的是读取 GIS 数据的 AI,而不是猜测像素的 AI。在我对巴西累西腓(Recife)的测试中,两个图像模型在它们画出的 1 km 范围内放进的真实公园和学校数量为零,而 QGIS 内的一个 GIS 智能体找到的 50 个公园和 18 所学校全部与 OpenStreetMap 吻合。

我在 2026 年 11 月 7 日做了这项测试,只用一条提示词,并在运行之前就写好了它的通过标准:

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 中免费手工做出同一张地图,以及把这句话交给 QGIS 内的智能体之后发生了什么。

6 / 9

Google 上“ai map generator”的前 9 个结果中,奇幻或龙与地下城类工具的数量

0 / 10

每个图像模型地图上标注的公园和学校中,真实存在且位于 1 km 内的数量

50 和 18

手工 QGIS 方法和 GIS 智能体都找到的真实 OSM 公园和学校数量

什么是 AI 地图生成器?

AI 地图生成器是指任何能把文字提示变成地图的工具。实际上,这个标签涵盖了三类完全不同的东西,而 Google 把它们混在同一页结果里。2026 年 11 月 7 日,我拉取了美国地区“ai map generator”的前几个自然搜索结果,9 个结果中有 6 个是奇幻、龙与地下城(Dungeons & Dragons)或桌游战斗地图生成器(Recraft、Reddit 的 r/DnD 帖子、Adobe Firefly、TT-RPG、ZSky AI 和 OpenArt)。只有 3 个涉及真实地点,而且没有一个展示用开放数据制作、带图例和比例尺的真实区域地图。

这三类工具是:

  1. 奇幻和游戏地图生成器(Recraft、Adobe Firefly 的奇幻地图工具、TT-RPG、ZSky、OpenArt、Perchance)。这些是专门调校过的文生图模型,用来画虚构的大陆、羊皮纸风格的世界或地下城网格。很适合跑团,但不是为真实地理设计的。
  2. 通用图像模型(例如 Google 的 Gemini 图像模型,或 ChatGPT 和 Midjourney 里的图像工具)和标点地图工具(例如 Proxi 的 MapsGPT 或 PamPam)。图像模型画出一张模仿街道地图的扁平 JPEG。标点地图工具凭大语言模型的记忆在网页地图上放置标记;MapsGPT 自己的页面就写着它的结果“Places come from public data and an AI's best guess”(地点来自公开数据和 AI 的最佳猜测),还补了一句“It's a good starting point, not a guarantee.”(这是个好的起点,不是保证。)
  3. 在 QGIS 等桌面 GIS 软件内运行的 GIS 智能体。它不画像素,而是从 OpenStreetMap 等来源下载矢量图层,运行空间工具(按米计算的缓冲区、相交),为图层设置样式,并制作一个可以编辑或导出为 PDF 的打印布局。

如果您需要为小说画一座岛,第一类就够了。如果有人要根据这张地图出行、施工或做决策,只有第三类是在真实坐标上工作的。

测试:累西腓的一条提示词,四种做法

我选累西腓,是因为它东边有清晰的海岸线,两条河(Capibaribe 河和 Beberibe 河)在市中心附近交汇,有一条地铁线(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 个在累西腓存在(10 个中 0 个位于 1 km 内)6 个中 3 个无否(扁平的 1408 x 768 JPEG)JPEG
Gemini 3.1 Flash Image (gemini-3.1-flash-image)10.9 秒10 个中 5 个在累西腓存在(10 个中 0 个位于 1 km 内)6 个中 3 个无否(扁平的 1408 x 768 JPEG)JPEG
QGIS 中的 AI Agent(Medium 强度,一条消息)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 km 圆圈的红色地铁图标,还加了图例和比例尺。

gemini-3-pro-image 为累西腓市中心生成的类地图图像:八个带黄色 1 km 圆圈的红色地铁图标、绿色公园图标、蓝色学校图标、葡萄牙语图例和 1 km 比例尺。
Gemini 3 Pro Image(18.2 秒)。十个公园和学校名称中有七个在累西腓存在,但没有一个位于地铁站 1 km 范围内,而且“Central”被画了三次。

把这些名称和 OpenStreetMap 一核对,这张地图就站不住了。在 Pro 的图上,10 个不同的公园和学校名称中有 7 个是累西腓的真实地点(例如 Parque 13 de Maio、Parque da Jaqueira、Ginásio Pernambucano 和 Colégio Damas)。有一个是街道而不是公园(Praça do Arsenal),还有两个在 OSM 中不存在(Parque das Jaqueira 和 Colégio de Mantes)。

更大的问题是位置。图上的每个标注都位于画出的 1 km 圆圈内,因为提示词就是这么要求的。实际上,这 10 个有名称的公园和学校没有一个位于真实地铁站 1,000 m 范围内。最近的是 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 个不同的车站名称中,只有 3 个是真实的 Metrorec 车站(Largo da Paz、Joana Bezerra 和 Afogados)。“Recife Antigo”是一个街区,“Larga Bezerra”把 Largo da Paz 和 Joana Bezerra 混在了一起,而“Central”这个标注出现在地图三个不同位置的三个红色图标上。在 OSM 中,Afogados 和 Largo da Paz 相距 489 m;按图上自带的 1 km 比例尺量,Pro 图把它们画成了相距 2.8 km。

gemini-3.1-flash-image 为累西腓市中心生成的类地图图像:河流、东侧的海滩标注、红色地铁圆圈、图框上的坐标数字、图例和比例尺。
Gemini 3.1 Flash Image(10.9 秒)。十个公园和学校名称中有一半是编造的或类型错误,右侧的两片海滩南北颠倒,图框上的坐标刻度只是装饰。

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 中制作地图指南更详细地介绍了基础知识,而我们的 QGIS 下载 OpenStreetMap 数据指南会一步步讲解 QuickOSM。

从 OpenStreetMap 下载公园、学校和地铁站

如果还没有安装免费的 QuickOSM 插件,先安装它,然后打开 矢量 > QuickOSM > QuickOSM…(英文界面为 Vector > QuickOSM > QuickOSM…)。在 Quick query 选项卡中,把 In 设为 Recife, Brazil,运行三个查询:

  • leisure = park
  • amenity = school
  • railway = station(再加一行 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…)。把输入设为重投影后的车站图层,距离设为 1000 米,线段数设为 36,勾选融合结果,然后运行。您会得到一个面积为 5,374,942 m² 的合并多边形。

提取缓冲区内的公园和学校

打开 处理工具箱 > 矢量选择 > 按位置提取(英文界面为 Processing Toolbox > Vector selection > Extract by location)。从重投影后的公园图层中选择与 1,000 m 缓冲区相交的要素。对学校重复一遍(在 OSM 中,这个范围内有 17 所学校绘制为多边形,1 所绘制为点;如果想把 18 所都画成圆点,就对多边形运行 矢量 > 几何图形工具 > 质心…(英文界面为 Vector > Geometry Tools > Centroids…),再用 合并矢量图层(Merge vector layers))。最后剩下 50 个公园和 18 所学校。

添加底图并制作打印布局

在浏览器面板的 XYZ Tiles 下添加 OpenStreetMap,为图层设置样式,然后打开 工程 > 新建打印布局…(英文界面为 Project > New Print Layout…)。添加地图框、图例、比例尺、指北针和一行 © OpenStreetMap contributors (ODbL) 版权说明,然后用 布局 > 导出为 PDF…(英文界面为 Layout > Export as PDF…)导出。

这是第 1 步中的 QuickOSM 对话框,已设置为查询累西腓的 leisure=park:

QGIS 中的 QuickOSM 对话框,Key 设为 leisure,Value 设为 park,In 设为 Recife, Brazil。
QuickOSM 中的第 1 步:查询巴西累西腓所有 leisure=park 对象。

下面是第 4 步和第 5 步中完成真正空间计算的两个处理对话框,分别是按米做缓冲区和按位置提取:

QGIS 缓冲区对话框,输入图层为 stations_utm,距离设为 1000 米,线段数 36,已勾选融合结果。
第 4 步:在 EPSG:31985 中围绕重投影后的车站做 1,000 m 融合缓冲区。

缓冲区建好后,Extract by location 把下载区域内的 135 个公园筛选到与 1 km 范围接触的 50 个:

QGIS 按位置提取对话框,从 parks_utm 中提取与 buffer_1km 相交的要素。
第 5 步:只保留与 1,000 m 缓冲区相交的公园。

把这些图层放在 QGIS 打印布局中的 OpenStreetMap 底图上,就得到一张可核查的参考地图,正好包含这 50 个公园和 18 所学校:

在 QGIS 中手工制作完成的 A4 横向打印布局:OpenStreetMap 底图上的累西腓市中心,Recife 站和 Joana Bezerra 站周围的红色 1 km 缓冲区,50 个绿色公园,18 所蓝色学校,图例、比例尺和指北针。
手工制作的 QGIS 布局:真正的 1,000 m 缓冲区内,来自 OpenStreetMap 的 50 个公园和 18 所学校。

GIS 智能体处理同一条提示词

AI Agent 是我们开发的,所以这一节是在同一句话上测试我们自己的插件。它是停靠在 QGIS 内的一个聊天面板(详见我们的 QGIS AI Agent 完整指南)。它不生成图像,而是读取您的工程,获取矢量数据集,运行 QGIS 处理工具,并制作打印布局。

我在 macOS 上从一个空的 QGIS 3.44.15 工程开始,把强度设为 Medium,权限设为 Balanced,粘贴了完全相同的测试提示词,点了一次发送。没有后续消息,没有提问卡片,也没有手动调整。

QGIS 窗口,右侧 AI Agent 面板中是测试提示词,强度为 Medium,模式为 Balanced,地图画布上是生成的累西腓图层。
在一个空的 QGIS 工程中以 Medium 强度发送的一条提示词。

它在 88.7 秒内完成(34 次内部工具调用,0 个错误)。它从我们托管的 OpenStreetMap 数据副本(日期为 2026 年 10 月 19 日)读取数据,所以那天拒绝我的公共服务器没有挡住它。它把工程切换到 EPSG:31985(SIRGAS 2000 / UTM zone 25S),提取地铁站,做 1,000 m 缓冲区,裁剪出公园和学校,为六个图层设置样式,并制作了一个 A4 横向布局。

它在面板中的回答是:

已创建 A4 布局 Central Recife parks and schools,带图例和比例尺。图中显示两个地铁站 1 km 直线距离范围内的 18 所已测绘学校和 50 个已测绘公园。“Central”指距累西腓市中心 2.5 km 以内;覆盖程度取决于 OpenStreetMap。我也可以把布局导出为 PDF。

QGIS 中的 AI Agent 回答面板,报告两个地铁站 1 km 范围内有 18 所已测绘学校和 50 个已测绘公园,下面有打印布局卡片、3 个来源按钮和撤销更改按钮。
回答列出了准确的数量,说明了它如何理解“central”,并附上 3 个数据来源和一个撤销按钮。

我把它的图层和我自己的 OpenStreetMap 几何核查做了对比:

  • **车站:**它选了 Recife 站(-8.06917, -34.88537)和 Joana Bezerra 站(-8.07321, -34.89539)。
  • **缓冲区:**它在 EPSG:31985 中的缓冲区图层面积为 5,375,557 m²,与两个相距 1,192 m 的 1,000 m 圆的解析面积(5,376,700 m²)相差不到 0.02%。
  • **公园和学校:**50 个公园和 18 所学校,与手工流程的 50 个公园 OSM ID 中的 50 个、18 个学校 OSM ID 中的 18 个吻合。最远的公园顶点距车站 998 m,最远的学校 944 m。
  • **数据来源:**布局页脚写着 © OpenStreetMap contributors; © Overture Maps Foundation, TomTom; modified by TerraLab | ODbL 1.0 | October 2026 | SIRGAS 2000 / UTM 25S。
AI Agent 制作的 A4 横向布局:标题为 Central Recife: parks and schools within 1 km of metro stations,包含水体、道路、虚线 1 km 范围、绿色公园、蓝色学校圆点、Recife 和 Joana Bezerra 标注、图例、400 m 比例尺和 ODbL 来源说明行。
AI Agent 用一条消息制作的 A4 布局,从 QGIS 导出。

在这一条消息上,它也有真实的局限,从上面的布局就能看到:

  • **只有两个车站。**它把“central”定义为距累西腓历史中心 2.5 km 以内,因此漏掉了 Afogados(距 Recife 站 2,475 m)、Largo da Paz 和 Ipiranga。加上 Afogados 后,数量会增加到 63 个公园和 26 所学校。好在它在回答和页面上都写明了 2.5 km 规则,您可以在后续消息里要求加上 Afogados。
  • **地图上没有公园或学校的名称标注。**只有两个车站有标注;要看某所学校的名称,需要在 QGIS 中点击该要素,或者让智能体加上标注。
  • **没有指北针,页面布局也不够平衡。**我的提示词没有要求指北针,所以智能体没有加。“Joana Bezerra”标注压在它的红点上,Overture 道路和 OSM 水体下面没有栅格底图,A4 页面右侧三分之一大部分是空白。
  • **它离 PDF 文件只差一次点击。**它制作了 QGIS 打印布局并提出可以导出为 PDF,所以我自己点了 Layout > Export as PDF…。

和图像生成器的区别在于,这张地图的每个部分都是米制坐标系中真实的 QGIS 图层。移动图例、加指北针、打开学校标注或加上 Afogados 站,都只需在同一张地图上花几秒钟,而不是再掷一次骰子生成一张新的 JPEG。

在 QGIS 中免费试用 AI Agent,无需信用卡

什么情况下用哪种工具

  • 地点是虚构的,就用奇幻地图生成器(Recraft、Firefly、TT-RPG、OpenArt)。大多数“AI map generator”搜索结果就是为此而做的,它们做得很好。
  • 有人会去实地、会在报告中引用或会在上面施工的地点,绝不要用图像模型。 gemini-3-pro-image 和 gemini-3.1-flash-image 的危险不在于画得难看,而在于它们看起来像成品,却把累西腓真实学校的名字放在离实际位置 3 到 4 km 的地方。如果您只有浏览器里的聊天机器人,就让它写 PyQGIS 代码,而不是画图;我们对 ChatGPT 用于 QGIS 的测试展示了哪些可行、盲写脚本会在哪里失败。
  • 想零成本完全控制每个查询、符号和布局元素,或者正在学习空间连接和米制投影的原理时,就用手工 QGIS。
  • 想在一分半钟内得到真实的 OpenStreetMap 或 Overture 图层、真正的米制缓冲区和可编辑的布局,并且不介意最后自己整理一下标注或加个指北针时,就用 QGIS 内的 GIS 智能体。我们所有的 QGIS 工具都在 QGIS AI 中心。

**我们如何测量。**测试于 2026 年 11 月 7 日进行。两次图像运行调用了 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)和 Nominatim 查询。AI Agent 的运行使用 macOS 上的 QGIS 3.44.15 和 AI Agent 1.9.4,Medium 强度、Balanced 权限,在空工程中进行;智能体查询的 OpenStreetMap 数据副本日期为 2026 年 10 月 19 日,Overture Maps 道路数据副本为 2026 年 10 月 21 日。一条提示词和一座城市是很小的样本;换一座城市、用葡萄牙语提示词或重复运行图像模型,都会改变具体的标注数量。

常见问题

ChatGPT 或 Gemini 能做出真实城市的准确地图吗?

生成图像的方式不行。图像模型画地图时,预测的是像素,而不是读取 GIS 坐标。在我们对累西腓市中心的测试中,两个 Gemini 图像模型都画出了带图例和比例尺、用葡萄牙语标注、看起来很可信的地图,但每张图上 10 个有名称的公园和学校中,位于它们所画 1 km 地铁范围内的真实地点都是 0 个。要做准确的地图,请使用 QGIS 等 GIS 软件,或在真实 OpenStreetMap 图层上工作的智能体。

有没有能做真实地点地图的免费 AI 地图生成器?

有,但有限制。MapsGPT 等网页标点工具每小时可以免费生成几张交互式标点地图,不过它们自己的页面也说明这些点是“an AI's best guess”(AI 的最佳猜测)。如果要做带多边形、比例尺和打印布局的真正 GIS 地图,QGIS 完全免费且开源,而 QGIS 的 AI Agent 提供免费套餐,每月 5 个 Low 强度任务,无需银行卡或 API 密钥(Pro 每月 300 个任务,并可使用 Medium 或 High 强度)。

AI 能用我自己的 GIS 数据或电子表格生成地图吗?

图像生成器无法读取 Shapefile、GeoPackage 或坐标 CSV。QGIS 内的 GIS 智能体可以:打开您现有的工程,或者把 CSV、GeoPackage、Shapefile 或 GeoJSON 拖进 AI Agent 聊天面板,然后让它基于您的图层,结合 OpenStreetMap 或 Overture Maps 数据,做缓冲区、连接、设置样式或制作打印布局。

为什么大多数“AI 地图生成器”搜索结果都是奇幻或龙与地下城地图?

因为文生图模型非常擅长在没有真实基准的地方编造海岸线、羊皮纸纹理和地下城房间。2026 年 11 月我们查看“ai map generator”的 Google 前 9 个结果时,有 6 个是奇幻或桌游战斗地图工具。如果您需要真实地点的地图,请找 GIS 工具或 QGIS 插件,而不是图像生成器。

免费试用 AI Agent

在 QGIS 里,说一句就能完成

AI Agent 会在你自己的 QGIS 项目中,完成你描述的任务。免费使用,无需绑卡。

免费试用 AI Agent
由以下作者撰写Yvann Barbot
·7 min read