麻辣GIS微信平台

更多 GIS 干货

微信关注不错过

Claude 接入 QGIS 的 3 种方式实测对比

麻辣GIS群里经常有小伙伴讨论把大语言模型接入桌面 GIS,最近小编发现国外同行 Yvann Barbot 最近做了一次对比,用同一个真实公开数据制图任务,结果还比较有代表性,今天就来和大家分享一下。

任务背景

本次实测只使用一个统一的提示词:“加载印度浦那(Pune)的行政区划以及 OpenStreetMap 中的学校数据,统计每个区的学校数量,并生成一幅分级色彩专题图(Choropleth)”。

QGIS 内置 AI Agent 面板自动完成的浦那学校分布分级色彩图

这个任务涉及在线获取开放数据、空间统计以及最后的矢量样式分级渲染,测试环境统一在 macOS 上的 QGIS 3.44.15-Solothurn,采用 Claude Sonnet 5.5 进行验证。

方式一:Claude 写 PyQGIS 代码

这是大家最常见的用法了,直接在对话框里让 Claude 编写 Python 脚本,然后由人工复制到 QGIS 的 Python 控制台中执行。测试者在完全关闭网络检索与工具调用的纯净状态下测试了两次,结果没有一次能直接复制运行成功:

第一次运行时,代码直接报出 ImportError 终止。原因是 Claude “脑补”了一个名为 QgsClassificationNaturalBreaks 的类,而 PyQGIS 核心库中实际对应的类名为 QgsClassificationJenks;

Claude 编写的脚本在第 3 行报错:QgsClassificationNaturalBreaks 类不存在

第二次运行虽然修复了代码逻辑,但在拉取 OSM 数据时,脚本指定的公共 Overpass API 节点(overpass-api.de)由于网络拥堵拒绝了连接,直到人工手动替换了备用镜像节点后,才在 40 多秒内跑出结果。

手动更换 Overpass 节点后生成的 14 个行政亚区分级色彩图

直接让大模型写 PyQGIS 适合编写独立的数据批处理脚本,但前提是必须熟悉 PyQGIS API 并具备排查 Traceback 的能力。由于模型缺乏实时执行环境进行自检,它很容易被各种问题卡住而无法使用。

方式二:通过 MCP 协议桥接 Claude

第二种思路是走MCP,这种方案的原理是在 QGIS 内部启动一个本地 Socket 监听端口,将 QGIS 内部原生处理工具和图层操作抽象为 MCP 工具端点;外部的 Claude 则通过本地端口直接操控打开的 QGIS 工程。从测试来看,MCP 方案在图层已加载到工程中的场景下响应迅速且指令执行稳定,同时允许模型在同一个工作流里调度本地文件系统与 GIS 处理。

它的劣势在于使用门槛相对较高,用户要熟悉 uv 等 Python 包管理工具、手动配置 JSON 配置文件等等。

方式三:QGIS 集成 Agent 面板

第三种方案是直接在 QGIS 插件管理器里安装集成式 AI 面板(如 AI Agent、Mapsuke、LandTalk.AI 等)。

测试者使用了 QGIS 官方仓库收录的 AI Agent(v1.9.4)进行对比。这类插件不仅将对话面板直接停靠在 QGIS 界面内,还在后台整合了自动化执行沙箱与全球开放数据检索目录。

AI Agent 第一轮生成的 58 个选区分级渲染图局部

在两次全新的空工程测试中,该方案输入同样的提示词后,均在 45 至 63 秒内全自动完成了边界检索、OSM 学校点获取、点多边形统计及分级色彩渲染,没有抛出任何代码异常。

第二轮测试中 AI Agent 耗时 45 秒直接完成制图

这种一体化面板省去了大量中间环节,不过其局限性在于多数此类插件每月仅提供少量免费额度,重度使用需要按月订阅。

总结

时至今日,小编也不得不承认我们这种传统的地图工匠的工作方式,已经在被大模型逐渐改变了。很久以前一些复杂的操作写个脚本的时间手动都处理完了,现在AI能力将自动化的程度提高到了一个非常高的水平,虽然在一些GIS软件操作领域至今离不开人工,但工作流已经被逐渐重构。目前市面上已经有不少QGIS、ArcGIS的SKILL、MCP甚至行业Agent了,用户只需要用自然语言表达目标,AI 就能自主完成任务。

当然,这并不意味着 GIS 专业技能就不重要了,GISer 的核心价值反而更聚焦在专业校验与数据把控上:空间参考是否匹配、分级色彩算法(Jenks 自然间断点还是等间距)是否科学、开放数据源是否可信合规,依然需要专业人员审核。此外,在真实的生产环境中,调用 Token 的成本、网络节点的可用性以及私有空间数据的安全性(尤其是国内涉密的情况下),也依然是需要权衡的边界。

大家平时在用 QGIS 或 ArcGIS 时,接入过大模型辅助制图或分析吗?大家更习惯让它写脚本,还是更看好一体化的 Agent 插件?欢迎在评论区留言交流。

参考

  1. TerraLab: Claude and QGIS: 3 Ways to Connect Them, Tested on One Task (https://terra-lab.ai/blog/claude-qgis)
  2. QGIS Python API Documentation (https://qgis.org/pyqgis/)
  3. Model Context Protocol Documentation (https://modelcontextprotocol.io/)

相关阅读

麻辣GIS-Sailor

作者:

麻辣地信网 - 小而美的地理信息系统博客 - 立足GIS 放眼3S

声明

1.本文所分享的所有需要用户下载使用的内容(包括但不限于软件、数据、图片)来自于网络或者麻辣GIS粉丝自行分享,版权归该下载资源的合法拥有者所有,如有侵权请第一时间联系本站删除。

2.下载内容仅限个人学习使用,请切勿用作商用等其他用途,否则后果自负。

手机阅读
公众号关注
知识星球
手机阅读
麻辣GIS微信公众号关注
最新GIS干货
关注麻辣GIS知识星球
私享圈子

留言板(小编看到第一时间回复)