广州时间:加载中...

LinkTool v1.0 — 基于大模型上下文协议的地理信息分析处理智能体

探索通过自然语言调用 ArcGIS Pro 空间分析工具,简化常见 GIS 操作流程。

LinkTool 空间大数据分析智能体方案架构
项目概览

LinkTool 是面向 ArcGIS Pro 的智能体加载项,使用 C#、WPF 与 ArcGIS Pro SDK 开发。用户在 Dockpane 对话面板中描述数据处理需求,系统生成任务规划并调用地理处理工具,执行结果直接加载到地图视图。

项目将大语言模型用于任务拆解、工具选择和参数组织,实际的数据读写与空间分析仍由 ArcGIS Pro、Python 及第三方 MCP 服务完成;工具参数、运行状态、结果和错误信息均在界面中保留可见记录。

五层系统架构

系统划分为 UI、Host、Client、Server 和 Resource 五层。UI 层负责问题输入、模型配置及流式状态展示;Host 层负责调用模型、维护上下文并调度工具;Client 层将不同应用接口转换为统一 MCP 调用;Server 层在具体应用中执行工具;Resource 层保存知识库、文件和底层工具资源。

Host 在每轮推理中识别模型提出的 Tool、Resource 或 Prompt 请求,经 Client 调用相应服务,再将统一封装的 JSON 结果写回模型上下文,由模型决定下一步操作。内部 ArcGIS Pro 工具、知识库与提示词服务通过 C# 反射机制实例化,第三方服务则兼容 SSE 与 stdio 两类 MCP 通讯方式。

任务编排与知识增强

任务流程包括需求解析、步骤规划、工具检索、参数生成、执行反馈和动态修正。系统提示词约束工具调用格式与顺序;工具成功后由继续提示词触发下一步决策,执行失败时则将错误信息交给异常处理提示词,引导模型查询知识库、修改参数或更换工具。

为减少 ArcGIS Pro 工具名和参数生成错误,项目将 RAG 与 MCP 调用结合:材料记录的知识资源包括 1606 篇 ArcGIS Pro 3.3 工具说明、200 余篇行业应用案例、近千条任务规划案例,以及约 1500 个工具名称和参数信息。模型在调用具体工具前先检索相关知识切片。

系统可接入高德地图、Bing 搜索、文件系统和 Python 执行器等第三方 MCP 服务,并内置 ArcGIS Pro 工具调用、用户数据访问、知识库查询与提示词调用服务,使单个任务可以组合在线数据、本地文件、地理处理工具与脚本。

功能与执行透明度

LinkTool 面向 ArcGIS Pro 工具箱中的数据查询、空间分析、制图和属性编辑流程,支持 Shapefile、CSV、File Geodatabase 与 TIFF 等本地数据;对于标准工具之外的批处理任务,可通过 Python MCP 生成并执行 arcpy 脚本。

任务规划、工具名称、输入参数和执行结果会实时显示在对话面板中,每一步数据结果同步添加到地图,工具调用同时写入 ArcGIS Pro 地理处理历史记录。用户可据此检查中间结果、调整参数,并将流程导出为模型或 Python 代码复用。

案例验证

路径数据提取案例联动高德地理编码、路线规划与 ArcGIS Pro 属性选择、要素导出工具,将广州塔至中山大学路线对应的道路要素写入指定 Geodatabase。竞赛材料记录该流程约用 10 分钟,而人工 API 编程与传统 GIS 流程分别约需 1 小时和 2–3 小时。

社区交通设施分析案例连续调用 39 个工具,完成建筑与道路密度计算、莫兰指数分析、匹配度计算、结果解读和报告整理,材料记录的执行时间约为 30 分钟。另一案例依据第三次全国土壤普查规则组合叠加、筛选、融合与聚合工具,筛选外业调查图斑。

项目成果

项目获得多项学科竞赛奖项,部分核心代码已经开源,且项目原型在中国电信主办的 2025 数智科技生态大会进行展示。