个人开发作品 · 可在线打开体验

QGIS Web Agent

在对话框里用自然语言提出地理处理需求,由服务器端 QGIS 计算,结果展示在地图上。

打开试用 阅读说明 相关命令行工具

这是做什么的

常见地理处理(缓冲区、沿线采样、统计、检查坐标系等)一直以来通过桌面 QGIS 等软件里完成。 本项目把这些操做成可调用的工具:大模型只负责理解要求和选择工具,几何由 QGIS 引擎计算,图层在网页地图上显示、可导出,简答高效,节省大量重复劳动。 当前部署用于作品演示,服务器性能有限,数据以区县级、中小体量为宜;同时只处理 1 项分析。

准备数据

试用可直接加载武昌区、江汉区或汉阳区道路,或输入「下载洪山区道路」按区县从 OSM 现取(全省/全市过大)。也可以上传自己的矢量或栅格(shapefile 请带齐配套文件,或打成 zip)。

确定分析对象

在地图上框选一部分要素,或对整层分析。选中内容会保存为图层,后续处理针对这份数据,而不是停留在页面上的临时高亮。

用一句话提出任务

例如:做 100 米缓冲区,沿道路按间距生成采样点,并统计长度。也可以直接输入「下载湖北省边界」「显示武汉市所有区」,不必先找菜单。进度在对话中显示,新图层出现在地图上,可下载 GeoJSON 或 Shapefile。

实现上会处理坐标系:上图使用经纬度;涉及距离的运算会转到投影坐标系再转回;国内行政区边界会纠正火星坐标后再与天地图套合。

试用入口

与独立页面为同一套系统。若本页预览不便,请用新标签打开。

wing-show.com · /qgis-agent/

嵌入预览依赖浏览器对内嵌页面的支持;完整操作请用「新标签打开」。请避免同时发起多项分析。

智能体如何调用地理处理

工具先标准化,再接到不同入口。

同一套工具

不让模型直接写 GIS 代码

缓冲、检查图层、重投影等写成带参数说明的工具,由服务器端 QGIS 执行。 大模型的职责是理解用户要求和选择工具,计算结果可以导出复查,而不是一段无法落地的代码说明。

两个入口

桌面智能体与本页试用

工具层按 MCP(Model Context Protocol)注册,桌面侧的智能体可以按该协议接入。 本页试用走网站接口,调用的是同一批工具,并加上会话隔离和工具范围限制,便于公开演示。

把已有 QGIS 能力接到对话和 WebGIS Agent上, MCP 描述的是工具怎么被智能体稳定调用。

构成说明

从访问到出图,各层分工如下。

页面对话、选要素、天地图
网站服务会话、上传、进度推送
大模型理解需求、选择工具
GIS 工具MCP 注册的受控操作
QGIS 引擎服务器端计算并写出图层

试用环境同时只运行一项地理处理。聊天与图层保存在服务器,浏览器只记住当前会话。

可以核验的能力

打开试用即可看到。

💬
自然语言提出分析需求
在对话里说明要做什么,系统选择已封装的地理处理工具执行,并显示步骤进度。
🗺️
结果在地图上核对
新图层展示在地图上,坐标系与底图一致,可导出供桌面 GIS 打开复查。
📂
自有数据或演示道路
可上传常见矢量、栅格,或使用预置的武汉三区道路。支持在图上框选后再分析。
🔌
工具可复用
地理处理按 MCP 做成工具清单,桌面智能体与网页试用共用,避免各写一套脚本。
⚙️
计算在 QGIS 中完成
与桌面 Processing 同类能力,由服务器端 QGIS 运行,而不是用大模型「想象」一个缓冲区。
🧭
坐标系可交代
上图、距离运算、国内边界与天地图套合均按 GIS 常规处理,避免度当米、图面错位。
🔒
公开演示的约束
会话按访客隔离;工具只能使用允许范围内的数据;同时只跑一项分析,避免互相抢占。

技术构成

便于对照实现,不替代上面的用途说明。

Leaflet 天地图 HTML / JS FastAPI SSE MCP / FastMCP MiniMax 函数调用 QGIS 3.34 qgis_process PyQGIS GDAL / ogr2ogr Nginx systemd Python

打开试用

加载任一区道路,框选或分析整层,提出缓冲、采样或统计即可。命令行形态见同系列工具说明。

进入 QGIS Web Agent

命令行工具源码(GitHub)