https://gitee.com/being_xyk/gis_for_earth_file

背景

        最近遇到个小事情,地图服务器发布的OGC标准的数据服务,如何通过修改earth文件,让osgearth加上,而且要对应版本支持。

        我当时的操作是直接从github上下载了osgearth的源码,让claude code给我解析涉及到earth配置的驱动部分源码,然后告诉我如果要加载wms服务,怎么修改这个earth文件。其实本质上是我提供了确定的领域知识,它可能没那么直接,但对于AI来说,确定性的代码也足够解释如何使用。

        那既然如此,我为何不基于claude -p的headless模式来包装一个读取osgearth指定版本源码,为我修改earth文件,然后一键验证的小工具呢。说干就干,于是使用我的工作流-BWorkflow开始执行。中途也没遇到什么大问题,因为只是个小工具,claude -p模式,也让我省下了自己写Agent的事儿(主要它的harness更靠谱)。

工具介绍

        一款 Windows 桌面工具,通过对话式 AI 辅助生成和修改 osgEarth .earth 地图配置文件,并一键启动查看器进行目视校验。

功能特性

  • 对话式编辑:与 Claude 对话,自然语言描述需求即可修改 `FreeEarth_flat.earth`。

  • 源码 grounding:可选中本地 osgEarth 源码版本作为 Claude 的参考上下文。

  • 版本级领域知识:一键分析 osgEarth 源码,生成版本专属的 `CLAUDE.md` 领域知识报告。

  • 实时 XML 编辑器:集成 Monaco Editor,同步展示当前 earth 文件内容。

  • 快照与回滚:AI 每次写入前自动生成快照,支持历史版本回滚。

  • 一键校验:启动 `XSMap.Framework.exe` 查看器,验证地图配置效果。

  • 图片提问:支持在输入框粘贴截图,让 Claude 基于图像理解问题。

技术栈

  • 桌面框架:Electron

  • 前端框架:Vue 3 + TypeScript

  • 构建工具:Vite

  • 代码编辑器:Monaco Editor

  • AI 集成:Claude Code CLI (`claude -p`)

功能介绍

1. 选择osgearth版本

2. 领域报告生成:其实就是让claude code分析下指定版本的源码,并生成CLAUDE.md,方便后续使用时,能够快速定位源码的信息,提供到earth文件修改。

3. 用户提出问题,正常提法即可,和在VSCode上提问是一致的。这个工具主要做的就是:读取源码、联系基于osgearth开发的查看器和earth文件关联、修改earth,这一条通过内置的工作流串起来。用户使用只需要给出加载的gis数据/服务,然后就开始分析、修改。

4. 最终结果:wms可以加载,而terrain的layer不能加载,然后也说明了为什么:

5. 启动查看器验证

6.版本diff

7. 其它配置

其它

          原始内容在我的飞书知识库中:gis_for_earth_file

        我的AI积累主要写在飞书知识库内,会持续更新迭代,输出自己的想法与实践总结:Being的AI积累

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐