【转载】让AI Agent 调用 QGIS——以PineFlow为例

nakanojinharuka 2026-07-31 12:33 1


引:从20世纪50年代开始的早期人工智能理论探索,不出10年出现了专家系统 (Expert System, ES),但当时的地理信息系统是管理信息系统,1972年,CGIS——加拿大地理信息系统,是写入教科书的发展“分水岭”,在此之前的地图制图、测绘和地理信息相互分离,1992年,ArcInfo/ArcView——即ArcGIS Desktop的前身——第一次把地图制图学、地理信息系统和测绘科学技术集成到一个“对象”,时至今日提到地理信息系统,或GIS这个词都会想到某某xGIS软件。



1. Autonomous GIS和地理学史简述


1.1 引子


1999年,加州大学教授迈克尔·弗兰克·古德柴尔德(Michael Frank Goodchild,1944年2月24日——)联袂埃里克·谢泼德(Eric Sheppard,1950年10月1日——)等4人将Varenius Project的基本情况发文于International Journal of Geographical Information Science IJGIS,顺势正式提出地理信息科学是由“地理信息技术”引发的一系列基础性研究问题,并划定了三大研究分支:



  1. 空间感知,即人类如何感知和理解地理空间。这个问题放在今天是空间基础大模型、大模型空间推理、空间表征学习等研究领域和专题;

  2. 空间计算,即在计算机中表达和处理地理对象。这个概念后续发展为现如今教科书上的空间分析、空间数据库、空间数据模型等章节,空间分析是绝对的核心。这个问题放在今天就是以GeoAI为根基的空间智能计算,即传统机器学习算法和深度学习的地理学应用;

  3. 社会应用,即地理信息技术应用带来的社会影响。这是地理信息服务产生的直接原因,现如今需要大模型的大规模全方位普及作为社会基础才能产生工程或科学问题,如城市地理学城市土地利用这个专题或研究主题。目前对应的应用是智慧城市。



之所以要追溯到30多年前,是因为地理信息科学由地理信息系统发展得来,即工程/技术问题的产生和解决促进了科学问题的产生和讨论。地理学在长达至少2000年的发展历史上并未产生地理信息系统这一名词,于是,从50年代开始的地理学计量革命是地理信息系统产生的根本原因,计量地理学的产生是工程技术的进步。



1.2 地理学大体发展


但是,传统地理学或当今人们认知当中的地理学,以上知天文下知地理的全才的刻板印象存在至今。地理学发展历史衡量的时间一般认为是2000年,其决定理由是古地图的发现,并且这个理由有例外:



∵《山海经》记载的时间是4000~8000年前

∴地理学至少发展了5000年



这个结论和存在事实无法进行争论。为了将这样的争论剥离出来,在康德的影响之下,普鲁士地理学家亚历山大·冯·洪堡(1769年9月14日—1859年5月6日)于1845年在《宇宙》一书中第一次构建了现代自然地理学的内容和总体构架:地质、地貌、水文、气象是基本的要素,并且探索了生物地理学的存在,如动植物种群的地带性、土壤条件和生态系统。卡尔·李特尔(1779年8月7日—1859年9月28日)的《地学通论》第一次宣告地理学独立存在,并大体构建了人文地理学的理论构架。


由自然地理学和人文地理学的诞生开始,现代地理学首先以德国(和法国)为中心形成了德国三大学派,整合了以高斯、莱布尼兹为代表的数学成果。如今在用的工具和理论大多都是十九世纪的体系化红利,最著名的是高斯——克吕格投影,这里的高斯就是数学王子高斯本人。从一次大战开始到二次大战结束时,现代地理学的中心先从德国转移到了英国,最后转到了美国。


当时的结果是认认真真发展了一百多年的大陆体系和数学史一样,被海洋体系肢解:1947年,哈佛大学酝酿并最终在次年撤销地理系。这件事情需要有两个前提:



①自然地理学=地质学+其他

②人文地理学=\lim_{x \to \infty} \dfrac{\sin x}{x} \cdot x^{2},虽然有一个确定的对象是地理学,但都可以是。当时的人文地理学大体上就是区域地理学或区域经济学(类比实数域)



以上就是当时美国地理学当时发展的现状。这个现状叠加上人员关系不合直接导致地理系的一鲸落,地理学的万物生,现如今查看国外特别是美国的文献可选的学校和机构多达十几个的历史惯性由此开始。并且这一事件被公认为是地理学计量革命发生的导火索,催生了水文学和气象学的数学物理模型快速发展。


1.3 Autonomous GIS的产生


所以,回看1999年的文章,除了出于人类社会实践的迫切需要的如土地适宜性分析、地形适宜性分析、地理空间规划、资源与环境决策等生产性服务业的产业需求,因为地图制图、地理空间分析、空间决策看似相互独立,而实际操作已被证明是三位一体,所以先有集成这三个流程的GIS软件逐渐出现,其代表是环境系统研究所(ESRI)的ArcGIS系列和开源地理空间基金会(OSGeo)的QGIS系列;然后为了吸取50年代地理学差一点名存实亡的历史教训,三位一体的一体首先命名为地理信息科学,吸纳了遥感和全球卫星定位系统,提出并前瞻了上述的三大研究方向分支,这也是3S的由来。


20世纪末21世纪初,地理信息系统和地理信息科学初步形成方法论的理论体系,地理学终于具有与其他学科相似的发展性。随后,空间数据模型、空间数据库、地理信息系统软件工程等终于进入这一学科,最终与其他学科一道同步赶上人工智能大发展。



为什么要介绍地理学史?我们回看这一百年的历史线索就会发现,地理学现代化过程异常惊险:



  1. 传统地理学随着硬科技的不断发展,即便没有二次大战也会逐渐衰微;

  2. 地理环境决定论人为施加阻碍(甚至要拉上生物学陪葬,这就是为什么前文没有说它);

  3. 区域地理学在二次大战前代表了传统地理学。


每一个思潮都通向名存实亡的结局,更不论三大学派也已经自然解体。计量革命看似完全背离地理学,实则是正本清源。



地理学和空间思想不可分割,1969年,在计量革命和地理信息系统发展之际,美籍瑞士裔学者沃尔多·鲁道夫·托布勒(Waldo Rudolph Tobler,1930年11月16日—2018年2月20日)提出了托布勒地理学第一定律(Tobler’s First Law of geography, TFL)。定律原文如下:


All attribute values on a geographic surface are related to each other, but closer values are more strongly related than are more distant ones.


时任北京师范大学地理学与遥感科学学院(今为地理学部)教授李小文(1947年3月2日—2015年1月10日)对此评价是极为狡猾:此“距离”非定量分析所衡量,而是定性——只描述其存在,并未具体对应十四种距离中的任何一个。但该定律在实际生产实践中逐渐被广泛认为是空间分析的根本理论基础,否定了后来的托布勒地理学第二定律是其理论基础的结论。Autonomous GIS所优化于和研究的问题最初就是针对于空间自相关,即空间分析流程上的自动化问题。


2023年,美国南卡罗纳大学地理信息和大数据研究实验室(GIBD)院长李振龙提出了Autonomous GIS这一概念,它是从地理空间数据清单中检索或收集地理数据,使用空间算法、模型、工具处理,生成最终结果的过程。大模型可被视为其大脑,可执行程序则可视为其四肢,3S的比喻启发了Autonomous GIS的形象化理解。



地理空间分析(时空分析)的基本模型、算法、模块和工具在长期发展中相对于层出不穷的研究问题和工程问题而言比较稳定,这也就解释了为什么在地球探测(Earth Observation)和遥感影像的研究上基本集中于计算机科学,城市地理相关研究大部分归类为经济学



2. PineFlow——基于ReAct工作模式的QGIS AI Agent


2.1 引子


现代地理学一般强调地理信息系统的范畴,不强调地理空间分析或时空分析的概念,导致描述一段空间分析的自由度较高:



给学校图层做500米缓冲区,统计缓冲区内医院数量,并导出结果。




从某一所小学出发步行,10分钟内能够到达哪些医院,覆盖多少住宅区?



两个概念等价,但同样的文字数量后者的分析流程就更多了,这个任务大概包含缓冲区分析、空间统计和结果导出。但真正打开QGIS去做时,用户需要确认:



  • 学校图层、医院图层甚至是土地利用图层是否已经加载?【空间对象遗漏】

  • 图层名字是什么?

  • 几何类型是否正确?

  • 坐标系能不能直接按米计算距离?【工具选择错误】

  • 缓冲区结果会不会为空?【数据依赖断裂】

  • 字段名称、定义域和值域都是什么?

  • 输出文件放在哪里?

  • 是否会覆盖已有结果?

  • ……


地理空间分析甚至是时空分析的很大一部分优化工作就是这些琐碎的事情怎么处理的问题。事实上,近二十年的研究和部分的工程实践基本确定了几个前提和共识:



  • 地理学到底有多少个定律?答:4个或3个(参考轻改四大名著有五部的说法)

    1. 托布勒地理学第一定律:空间自相关定律;

    2. 托布勒地理学第二定律;

    3. 古德柴尔德地理学第二定律:空间异质性定律;

    4. 朱阿兴地理学第三定律:地理相似性定律。



  • 常用的空间/时空数据都有哪些?

    1. 原生地理数据:矢量数据、栅格数据、GeoJSON等;

    2. 文本文档数据:关系表、图结构、专用文本数据等;

    3. 混合数据:GeoPackage、kmz等。



  • 从如上的问题出发,是什么阻碍了这些异构和异质数据发现这些相关性、相似性和特征(表征)?

    1. 地理空间分析模型管理自由度极高。只要流程上有一个细微差异,轻则重设参数,重则另起炉灶。

    2. 地理空间分析模型内部强依赖特性。拆开黑盒,当中间结果往往需要调整顺序、优化算法、改其他工具时,一般模型并没有因地制宜的处理方式。

    3. 地理空间分析模型组织架构及组分。地理空间分析的步骤需要空间逻辑验证,此时需要以模型组织架构为基本依据构建验证程序,线性结构和图结构的验证程序和内容完全不同。




2.2 什么是PineFlow?


当此之时,不论是自用、研究,还是工程实践、社会治理,如果依赖于大模型的生成能力甚至就是Vibe Coding研发一个地理空间分析模型,除非极难复制,那么这个模型没有社会价值,即使有个人价值但维度不同。而PineFlow想解决的就是这个中间层问题:把自然语言目标转成结构化工具调用,并在执行过程中持续检查状态、记录结果和处理风险。PineFlow是大模型执行空间分析任务时规定的运行时(Harness),这个运行时有五部分组成:



  1. 工作空间和操作环境【仓库】

  2. 地理图层及属性【文件】

  3. 空间处理工具【命令】

  4. 运行监测【测试】

  5. 空间分析模型【内容状态】


熟悉Claude Code的马上就能看出来是什么对应关系了。这个运行时的运行如下:




  1. 意图推断:在用户输入自然语言目标后,系统首先要做的是判断这句话到底属于哪一类任务类型(大类)。只有当请求会改变工作区状态、生成新图层或导出结果时,才需要进入执行流程。




  2. 执行流程:PineFlow读取当前有哪些图层、字段、坐标系和输出产物;根据用户目标选择一个合适的工具;在执行前检查参数、CRS、几何类型、字段和输出路径;执行工具后读取结果,把新图层、输出、风险和运行记录写回当前会话。




  3. 系统根据新状态决定下一步。




之所以这样设计,是因为任务里很多关键信息只有执行到某一步之后才能知道,如CSV 加载后,系统才知道里面到底有哪些字段;图层读进来后,系统才知道CRS、几何类型和要素数量;缓冲区跑完后,系统才知道结果是不是为空;空间统计完成后,系统才知道输出字段和统计结果是否符合预期。如果一开始就让模型把完整流程规划好,后面的步骤很容易建立在不确定甚至错误的假设上。如实际图层没有这个字段,做500m缓冲时变成了500°缓冲。


综上,PineFlow采用持续反馈的方式。系统每走一步,就把真实工具结果写回状态,再根据新的状态决定下一步。


2.3 PineFlow大体如何执行?


在执行流程中,把QGIS算法封装成可调用工具不能逆向,必须要先有一个缓冲层。QGIS Processing的大量算法有其自身的ID和参数结构,如native: buffernative: clipnative: joinattributesbylocation。PineFlow 的做法不是把底层算法列表原样丢给模型,而是在QGIS Processing之上封装缓冲层,名为semantic tools,即模型看到的是更接近任务动作的工具,例如buffer_layercsv_to_pointsextract_by_locationjoin_by_location


Semantic tools是一层面向任务的工具接口,模型可以看到更贴近任务语义的工具接口。如缓冲更容易对应到buffer_layer,而不是让直接理解QGIS Processing底层参数。其模型侧接口主要表现为工具名、说明和参数schema,而后端侧对应的是参数校验、风险检查、算法映射和结果返回。完整执行规则不需要都塞进模型上下文里。


如此,模型选择工具时面对的是任务动作而不是算法名。更不是在多个空间选择、空间查询和叠加分析算法之间猜算法名。同时,后端可以在语义工具和QGIS Processing间做稳定映射。模型只需要表达任务意图和必要参数,真正算法ID、参数转换、默认值、输出路径和结果登记,都由工具层完成。




在选择工具时,按需暴露的思路减少了大模型面对的上下文,称为ToolKit,它是以能力领域为基本依据对QGIS Processing工具划分的大中小类的监督分类结果集合。比如数据加载是一组能力,矢量分析是一组能力,空间叠加是一组能力,栅格处理又是另一组能力。系统不需要一开始就把所有工具都给模型,而是根据当前任务逐步打开相关工具集。




PineFlow还整理了一层GIS领域经验提示Skills。这些 Skill 是给模型看的任务备忘录:当前任务应该关注哪些工作区信息、可能有哪些 GIS 风险、优先使用哪些工具策略、什么时候可以默认假设、什么时候必须向用户追问。比如meter_buffer会提示模型在米制缓冲前关注输入 CRS、图层范围和投影坐标系推荐;csv_to_points会提示经纬度字段候选和x/y字段混淆风险;boundary_filter会提示边界图层应是面图层、要检查 CRS 和空间范围是否重叠。运行时同样并不会把所有Skill 内容一次性塞进模型上下文。


2.4 PineFlow能做什么?不能做什么?


目前适合处理目标明确、步骤可以结构化、结果可以用图层或文件表达的工作流。例如,同样是找出地铁站500m内的小区,不只是调用一次缓冲区工具。它需要先理解任务目标,确认相关图层是否存在,检查距离分析是否适合按米计算,必要时重投影,然后生成缓冲区,再用空间关系提取或空间连接得到目标小区,最后导出结果。


PineFlow目前已经具备了Agentic GIS Workflow原型的基本结构。但它离产品还有明显距离:




  1. 工具覆盖和工具质量。目前覆盖的仍然只是常用子集,后续扩展时,重点是继续整理成语义工具。每个工具都需要有清楚的参数schema、输入要求、输出策略、规则绑定和前端展示方式。




  2. 结果验证。每类工具执行后,都应该更明确地检查输出是否为空、几何类型是否符合预期、要素数量是否异常、字段是否包含关键结果,以及是否产生了需要用户知道的质量风险。




  3. 上下文管理。工作流一长,图层、字段、历史步骤、输出文件和风险信息都会变多。后续需要更明确地区分哪些信息必须进入模型上下文,哪些信息只需要保存在会话,哪些信息可以在需要时再通过工作区读取。这样才能降低成本,也减少无关历史对模型决策的干扰。




3. 总结


Autonomous GIS作为近五年刚刚兴起的研究和工程实践方向,目前也有向软件工程和地理信息工程发展的态势,PineFlow、GeoJsonAgents等研究基本都在Dify、Coze之后逐渐兴起。在大模型与GIS的跨学科研究领域,空间分析任务无疑是其中最具吸引力的应用之一。但现有架构在空间分析的复杂性方面仍缺乏系统的设计,尤其是统一任务规划、执行空间分析过程、验证分析结果。


而现有研究给出的答案是Autonomous在理论上能,实际上不完全能。函数调用直接依赖于函数库的完整性,难以适应新的或变化的任务,侧面表明函数调用和代码生成一起提供了地理空间任务自动化的两条可行的成熟技术路径。




主要参考文献


Akinboyewa, Temitope, Zhenlong Li, Huan Ning, and M. Naser Lessani. 2025. “GIS Copilot: Towards an Autonomous GIS Agent for Spatial Analysis.” International Journal of Digital Earth 18 (1): 2497489.

https://doi.org/10.1080/17538947.2025.2497489.


Hou, Shuyang, Haoyue Jiao, Jianyuan Liang, Zhangxiao Shen, Anqi Zhao, and Huayi Wu. 2026. “GeoCogent: An LLM-Based Agent for Geospatial Code Generation.” International Journal of Geographical Information Science 40 (4): 1073–106.

https://doi.org/10.1080/13658816.2025.2549460.


Hou, Shuyang, Haoyue Jiao, Zhangxiao Shen, et al. 2025. “Chain-of-Programming (CoP): Empowering Large Language Models for Geospatial Code Generation Task.” International Journal of Digital Earth 18 (1): 2509812.

https://doi.org/10.1080/17538947.2025.2509812.


Li, Jingxuan, Yifan Zhang, and Wenhao Yu. 2026. “MiniGeoSolver: Enhancing Small Language Models for Autonomous Geospatial Tool Sequences Generation through Progressive Strategy.” Environmental Modelling & Software 201 (June): 106963.

Redirecting.


Li, Zhenlong, and Huan Ning. 2023. “Autonomous GIS: The next-Generation AI-Powered GIS.” International Journal of Digital Earth 16 (2): 4668–86.

https://doi.org/10.1080/17538947.2023.2278895.


Lin, Qingming, Rui Hu, Huaxia Li, et al. 2025. “ShapefileGPT: A Multi-Agent Large Language Model Framework for Automated Shapefile Processing.” International Journal of Digital Earth 18 (2): 2577884.

https://doi.org/10.1080/17538947.2025.2577884.


Lin, Qingming, Liuchang Xu, Sensen Wu, et al. 2026. “GeoAgent: A Hierarchical LLM-Based Multi-Agent Architecture for Autonomous Spatial Analysis.” International Journal of Geographical Information Science 0 (0): 1–40.

https://doi.org/10.1080/13658816.2026.2624784.


Luo, Qianqian, Qingming Lin, Liuchang Xu, et al. 2026. “GeoJSON Agents: A Multi-Agent LLM Architecture for Geospatial Analysis—Function Calling vs. Code Generation.” Big Earth Data 0 (0): 1–55.

https://doi.org/10.1080/20964471.2026.2615511.


Mansourian, Ali, and Rachid Oucheikh. 2026. “Bridging Natural Language and GIS: A Multi-Agent Framework for LLM-Driven Autonomous Geospatial Analysis.” International Journal of Digital Earth 19 (1): 2633849.

https://doi.org/10.1080/17538947.2026.2633849.


Sun, Zhuo, Songshan Yue, Kaili Yu, Fangzhuo Mu, Zihao Tang, and Yongning Wen. 2026. “Regional Decision-Making Agent: Enhancing Geographic Decision Support through Structured Resource Governance and Multi-Agent Collaboration.” International Journal of Geographical Information Science 0 (0): 1–27.

https://doi.org/10.1080/13658816.2026.2639623.


Wei, Cheng, Yifan Zhang, Xinru Zhao, et al. 2025. “GeoTool-GPT: A Trainable Method for Facilitating Large Language Models to Master GIS Tools.” International Journal of Geographical Information Science 39 (4): 707–31.

https://doi.org/10.1080/13658816.2024.2438937.


Wu, Huayi, Haoyue Jiao, Shuyang Hou, et al. 2025. “GeoColab: An LLM-Based Multi-Agent Collaborative Framework for Geospatial Code Generation.” International Journal of Digital Earth 18 (2): 2569405.

https://doi.org/10.1080/17538947.2025.2569405.


Zhang, Yifan, Cheng Wei, Zhengting He, and Wenhao Yu. 2024. “GeoGPT: An Assistant for Understanding and Processing Geospatial Tasks.” International Journal of Applied Earth Observation and Geoinformation 131 (July): 103976.

Redirecting.


Zhao, Anqi, Zhipeng Gui, Jianyuan Liang, et al. 2026. “Extraction of Geoprocessing Modeling Knowledge from Crowdsourced Google Earth Engine Scripts by Coordinating Large and Small Language Models.” International Journal of Geographical Information Science 40 (3): 808–41.

https://doi.org/10.1080/13658816.2025.2577252.




源工程


最新回复 (1)
  • 肖深刻的九叔 07-31 12:36
    1

    这是直接发了一篇综述?agent 的风还是吹到了地信

* 帖子来源Linux.do
返回