搭建OsgEarth验证GIS数据发布服务的Agent

Osgearth的环境验证数据发布服务的加载能力,是我在GIS数据处理与发布这个大块里的一块重要拼图,之前做过EarthFile Agent的小工具,只是临时解决earth文件发布验证的闭环。这次结合Agent编排的能力,打通Osgearth各个版本下,加载GIS服务发布数据的开发测试环境

我在 GIS 生态里的那块拼图

GIS 数据从原始文件走到用户眼前的三维地球处应用,大致要经过三段路,该Agent位于第二、三段的交界处:验证「服务发布 → 引擎加载」的最后一公里,加载结果反哺发布配置。

第一段是数据处理。影像、DEM、矢量、海图这些原始数据,要经 GDAL、QGIS、切片工具做清洗、转换、切块,变成「发布就绪」的数据。

第二段是服务发布。GeoServer 把处理好的数据按标准协议暴露成网络服务:WMS 影像、WMTS 瓦片、TMS / XYZ,以及 Cesium quantized-mesh 高程等。

第三段是引擎可视化应用。渲染引擎按服务协议把瓦片和高程拉下来,拼成可交互的三维地球。osgEarth 是 C++ 桌面侧的主力地球引擎之一,基于 OpenSceneGraph 生态,在本地化部署、仿真推演这类场景里很常见。它用一份 earth 文件(XML)描述「这颗地球由哪些图层装配而成」,引擎按图索骥去加载服务。

GIS Server Agent已帮我把处理数据、发布服务搞定。但服务发布出去不代表事情结束------它能不能被引擎正确加载、渲染出来对不对、不同版本引擎下表现是否一致,必须真机验证才知道。这「发布 → 加载」的最后一公里,就是我这块拼图里最后缺的一环。

介绍

**结合 Agent 编排能力,把「给一个服务地址 → 在指定 osgEarth 版本下加载验证出来」做成一个完整的开发测试环境,**让编译、加载、扩展、验证、沉淀五件事都在同一条闭环里。

仓库:https://gitee.com/being_xyk/osgearth_for_gis_server

三大核心功能

给一个服务地址和目标版本,三条功能线分别解决「引擎从哪来、earth 怎么写、内置不支持怎么办」;配套能力让流程自动收口。

1. osgEarth 各版本的编译打通

3.6 / 3.7 / 3.8 三套官方源码树,Windows + VS2022 + CMake + vcpkg 逐一编译。

2. earth 文件生成与加载验证

给一个服务地址,产出一份能加载它的 earth 文件,并在指定版本下验证通过。

3. 扩展 Layer 插件:引擎不认识的服务,自己写层接进来

osgEarth 内置支持 WMS / TMS / XYZ / GDAL / MBTiles,但没有 WMTS、WCS,也不认 Cesium quantized-mesh 高程(三版源码逐一 grep 实证)。解法走官方 Layer 扩展机制。

配套:让闭环自己转起来

服务接入的工作流:给定一个 GIS 发布服务地址,生成 earth 文件并让指定版本的 oe_viewer 加载出来;原生不支持的服务先走扩展 Layer 再回到同一条主线。验证、交付、知识沉淀都在闭环内

让这套环境「活」起来的三样配套。

  1. 端到端测试。 上面提到的 verify-earth.sh 就是冒烟抓手。

  2. 知识的自动积累与使用。 这是 Agent 编排里我最看重的一环。所有实证结论沉淀在 `SourceCode/Knowledge/` 下。

  3. 基于 osgEarth 的扩展小工具。 oe_viewer(auto-fit + 截图)、snapshot(无交互定点截图,A / B 对照用)、env.sh 运行时环境、run-viewer / start-server 一键起服务。

用起来是什么样:意图表达,Agent 执行

整套环境被编排进一个项目级 SKILL(`osgearth-service-load`),使用方式是自然语言表达意图,Agent 走完整闭环:

  • ++「接入++ ++http://localhost:18890/geoserver/taihai/wms,3.8++ ++验证」++→ 识别服务 → 生成 earth → 截图验证 → 交付看图指令;

  • ++「这个 WMTS 地址配一下,三个版本都要」++→ 走扩展路径,逐版本构建插件再逐一验证;

  • ++「加载 china_dem_cesiumterrain.earth,用 3.7 看看」++→ 已有 earth 直接进加载验证,截图交付。

闭环内部是七步:服务识别 → 原生支持判定 → 配置服务层(原生直配 / 扩展插件双路径)→ 生成 earth → 指定版本加载验证 → 交付看图 指令 → 知识沉淀。第七步的沉淀又反哺第一步:案例结论、调试范式、插件复用依据,全部进入下一轮。验证失败不交付,进调试回路修好为止。

对用户来说,过程中不需要记任何命令;流程结束后拿到一条「看图指令」(桌面地球或浏览器瓦片 URL),想亲自交互查看时才动手。

工作区成果

如图为一个实际的工作结果展示:从用户输入指令开始,到layer扩展编译、生成earth,加载出图验证,中间Agent完成了整个编排。

个人总结

这套环境对我来说,意义不只是「能验证服务」本身。更重要的是把 GIS 链路里,发布的数据在引擎侧到底对不对------变成了可重复、可自动化、有知识积累的固定动作。

Agent 编排的价值,也不在于替我写了多少代码,更重要的是把「识别 → 配置 → 验证 → 沉淀」这一整套流程变成了肌肉记忆:我只管表达意图,闭环自己转,经验自己长。EarthFile Agent是「工具辅助我」,这次是「流程带着我的领域知识生长落地」。

其它

原始文章内容在我的飞书知识库:OsgEarth For GIS Server Agent

我的AI积累笔记也包含了其它的学习知识、思考笔记、实践记录:Being的AI积累。有兴趣可以关注,后续该Agent也会持续更新。

相关推荐
武子康2 小时前
GPT-Live 与 GPT-Realtime:产品模型和公开 API 不应混写
人工智能·chatgpt·agent
Databend2 小时前
从 Kafka 到 Databend Cloud:万亿级 Agent Trace 接入链路的工程实践
大数据·数据库·agent
神奇霸王龙2 小时前
V4-Flash 公测:Agent 智能路由白菜化
ai·aigc·agent·ai编程·ai写作·deepseek
苏灿烤鱼2 小时前
diagram-design |把图画漂亮,为什么先要删东西?(08.13)
agent
小当家.1052 小时前
LLM服务缓存与连接池管理:三层缓存架构与ChatClient池化
java·后端·spring·缓存·llm·agent
DO_Community3 小时前
AI 应用成本怎么算?从推理费用到完整 TCO 拆解
人工智能·gpt·agent·ai编程·llama·kimi
迷路爸爸1803 小时前
Claude Code 核心设计学习记录
学习·microsoft·agent·智能体·multi-agent·claude code
七夜zippoe4 小时前
OpenClaw + 隐私计算实战:联邦学习场景下的 Agent 数据隔离与安全协作
安全·agent·联邦学习·隐私计算·数据隔离·openclaw
前端开发江鸟16 小时前
Agent 能跑通以后,我才发现代码不是交付物
agent