《生态地理遥感云计算》做成了一个 AI Skill,开源了!

《生态地理遥感云计算》做成了一个 AI Skill,开源了! 重磅发布我把《生态地理遥感云计算》做成了一个 AI Skill开源了从 504 千字的纸质书到 Agent 可执行的技能包——一本遥感云计算技术书的现代化重生一、缘起一本书一个痛点作为一名在地理信息云计算领域深耕多年的研究者和技术博主我经常收到读者的一个问题GEE 的文档太零散了我想系统地学习但不知道从哪里开始。这句话我一直记在心里。于是我和马天跃博士、李晶教授、杨荻教授一起花了很长时间编写了《生态地理遥感云计算》这本书。全书 8 章、504 千字从 GEE 平台概述到 JavaScript/Python 双 API 实战从基础语法到高级案例从 UI 开发到常见问题排查力求成为 GEE 学习者最全的入门指南。但书出版后我又思考了一个新问题在 AI Agent 时代一本静态的书如何变成随时可调用的活知识传统的书本知识是被动的——你需要主动翻阅、记忆、理解。而 AI Agent 需要的知识是主动的——当它遇到遥感数据处理任务时应该能立刻调用相关的方法、参数和最佳实践。这就是book-to-skill这个工具的由来。二、什么是 book-to-skillbook-to-skill 是一个开源工具它能把任何书籍或文档转换成 AI Agent 可直接使用的Skill。简单来说它做的事情是提取从 PDF/EPUB/DOCX 等文档中提取全文分析识别章节结构、核心框架、关键技术结构化将提取的内容转化为 Agent 可理解的技能文件可执行Agent 在遇到相关任务时能精准调用对应的知识片段这个过程不是简单地总结一本书而是提取结构——保留作者的方法论、命名体系和操作指南让 Agent 能够像一位受过训练的助手那样回答问题。三、我的实践把《生态地理遥感云计算》变成 Skill我使用 book-to-skill 工具将我编著的《生态地理遥感云计算》PDF 完整转换成了一个 GEE Skill并开源在 GitHub 上。转换过程整个过程可以分为几个步骤第一步PDF 提取使用 book-to-skill 的 extract.py 脚本从 412 页、43MB 的 PDF 中提取了约 40 万字符的全文检测到 8 个章节约 48K tokens 的文本量。python scripts/extract.py生态地理遥感云计算.pdf提取结果源文件43.08 MB页数412 页字数36,367 词估算 Token~48K检测章节8 章第二步内容分析阅读提取的全文后我识别出了这本书的核心结构维度内容核心框架GEE 双 API 体系JavaScript Python工作流数据加载 → 预处理 → 分析 → 可视化 → 导出数据集Landsat / MODIS / Sentinel 系列技术模式影像筛选、聚合、可视化、导出常见问题21 类典型错误及解决方案第三步生成 Skill 文件按照 book-to-skill 的标准结构生成了以下文件yanxingguang-gee/ -- SKILL.md # 主 Skill 文件核心框架 索引 -- chapters/ | -- ch01-cloud-platforms.md # 第1章云平台概述 | -- ch02-gee-platform.md # 第2章GEE 平台简介 | -- ch03-js-syntax.md # 第3章GEE 基础语法 | -- ch04-tutorials.md # 第4章使用教程 | -- ch05-python-api.md # 第5章Python API | -- ch06-ui-app.md # 第6章UI 和 APP | -- ch07-troubleshooting.md # 第7章常见问题 | -- ch08-datasets.md # 第8章云平台数据集 -- glossary.md # 术语表 -- patterns.md # 技术模式 -- cheatsheet.md # API 速查表第四步撰写 README为 Skill 编写了完整的 README.md包含适用场景说明章节索引表格核心框架详解卫星数据集速查表JavaScript/Python 代码示例推荐阅读顺序成果展示完整的 Skill 仓库地址xingguangYan/yanxingguang-gee-skill四、实战案例用这个 Skill 解决一个真实的遥感问题光说不练假把式。下面我用这个 Skill 来解决一个实际的遥感分析问题——计算长江三角洲地区 2024 年春季的 NDVI 植被指数。问题背景长江三角洲是中国最重要的经济区之一也是生态研究的热点区域。假设我们需要加载 2024 年 3-5 月的 Sentinel-2 影像筛选云量小于 20% 的影像计算研究区域长三角的平均 NDVI可视化结果使用 Skill 的过程当我告诉 AI Agent帮我计算长江三角洲 2024 年春季的 NDVI时Agent 会读取 SKILL.md了解到这是 GEE 遥感数据处理任务查阅主题索引找到指数计算指向 ch04 和 ch05查阅数据集从 ch08 知道 Sentinel-2 的路径是 COPERNICUS/S2_SR_HARMONIZED查阅技术模式从 patterns.md 知道筛选、聚合的标准写法查阅速查表从 cheatsheet.md 知道 NDVI 计算公式下面是 Agent 根据 Skill 知识生成的完整代码JavaScript 方案// // 长江三角洲 2024 春季 NDVI 分析// // 1. 定义研究区域长三角 bounding boxvarregionee.Geometry.Rectangle([115.5,29.5,122.5,33.5]);// 2. 加载 Sentinel-2 影像集合vars2ee.ImageCollection(COPERNICUS/S2_SR_HARMONIZED)// 时间筛选2024年春季3-5月.filterDate(2024-03-01,2024-05-31)// 空间筛选限定在长三角区域.filterBounds(region)// 云量筛选小于20%.filter(ee.Filter.lt(CLOUDY_PIXEL_PERCENTAGE,20));// 3. 计算 NDVI// NDVI (NIR - Red) / (NIR Red)// Sentinel-2: NIRB8, RedB4varndviCollections2.map(function(image){varndviimage.normalizedDifference([B8,B4]).rename(NDVI);returnimage.addBands(ndvi);});// 4. 聚合取中位数varndviMedianndviCollection.median();// 5. 可视化参数varndviVis{min:-1,max:1,palette:[FFFFFF,CE7E45,DF923D,F1B555,FCD163,99B718,74A501,66A000,529400,3E8601,207401,056201,004C00,023B01,012E01,011D01,011301]};// 6. 添加到地图Map.setCenter(120.5,31.5,8);Map.addLayer(ndviMedian.select(NDVI),ndviVis,NDVI 2024 Spring);// 7. 统计长三角区域的 NDVI 描述性统计varstatsndviMedian.select(NDVI).reduceRegion({reducer:ee.Reducer.mean().combine({reducer2:ee.Reducer.median(),sharedInputs:true}).combine({reducer2:ee.Reducer.stdDev(),sharedInputs:true}),geometry:region,scale:10,maxPixels:1e10});print(NDVI Statistics:,stats);// 8. 导出结果Export.image.toDrive({image:ndviMedian.select(NDVI),description:Yangtze_Delta_NDVI_2024Spring,region:region,scale:10,maxPixels:1e13});Python 方案使用 geemap# # 长江三角洲 2024 春季 NDVI 分析# Python 方案geemap# importeeimportgeemap# 1. 初始化 Earth Engineee.Initialize()# 2. 定义研究区域regionee.Geometry.Rectangle([115.5,29.5,122.5,33.5])# 3. 加载 Sentinel-2 影像集合s2(ee.ImageCollection(COPERNICUS/S2_SR_HARMONIZED).filterDate(2024-03-01,2024-05-31).filterBounds(region).filter(ee.Filter.lt(CLOUDY_PIXEL_PERCENTAGE,20)))# 4. 计算 NDVI 并聚合ndvis2.map(lambdaimg:img.normalizedDifference([B8,B4]).rename(NDVI)).median()# 5. 创建交互式地图Mapgeemap.Map(center[31.5,120.5],zoom8)# 6. 添加 NDVI 图层ndvi_vis{min:-1,max:1,palette:[FFFFFF,CE7E45,FCD163,99B718,74A501,529400,3E8601,011301]}Map.add_layer(ndvi.select(NDVI),ndvi_vis,NDVI 2024 Spring)# 7. 显示统计信息statsndvi.select(NDVI).reduceRegion(reduceree.Reducer.mean(),geometryregion,scale10,maxPixels1e10)print(Mean NDVI:,stats.getInfo())# 8. 显示地图Map代码解读这段代码体现了 Skill 中提炼的几个关键技术模式数据加载模式来自 ch08-datasets.md使用 COPERNICUS/S2_SR_HARMONIZED 路径加载 Sentinel-2Harmonized 版本消除了 2022 年 1 月后的光谱偏移筛选模式来自 patterns.md.filterDate() 时间范围筛选.filterBounds() 空间范围筛选.filter(ee.Filter.lt(CLOUDY_PIXEL_PERCENTAGE, 20)) 云量筛选指数计算模式来自 ch04-tutorials.mdnormalizedDifference([B8, B4]) 计算 NDVISentinel-2 的 NIR 波段是 B8Red 波段是 B4聚合模式来自 ch04-tutorials.md.median() 中位数聚合减少异常值影响可视化模式来自 ch04-tutorials.md使用 ndviVis 字典定义颜色映射从蓝色水体/裸地到深绿色的渐变色板导出模式来自 patterns.md先聚合为中位数影像再导出设置合适的 scale 和 maxPixels 参数结果解读运行上述代码后你会得到一张交互式地图展示长三角地区 2024 年春季的 NDVI 空间分布统计信息区域的平均 NDVI 值、中位数、标准差一张导出影像保存在 Google Drive 中可用于后续分析NDVI 值范围从 -1 到 1 0.6茂密植被森林、农田0.2 - 0.6中等植被草地、灌木0 - 0.2稀疏植被裸地、城市建成区 0水体、云层、冰雪五、这个 Skill 的价值在哪里1. 对 AI Agent 而言传统上AI Agent 面对遥感问题时可能会给出笼统的回答。有了这个 Skill 后精准调用Agent 能根据具体问题定位到对应的章节和函数代码生成直接生成可运行的 JavaScript/Python 代码错误预防引用 ch07 中的 21 类常见错误提前规避数据选择从 ch08 的数据集速查表中选择正确的数据集路径2. 对人类学习者而言快速参考不用翻 400 多页的书直接看对应章节的摘要代码模板patterns.md 和 cheatsheet.md 提供了即用型代码模板结构化学习按推荐阅读顺序循序渐进3. 对科研工作者而言工作流复用提取的遥感云计算工作流加载→预处理→分析→可视化→导出可直接套用到各种研究中数据集速查ch08 整理了 Landsat/MODIS/Sentinel 等主流数据集的 GEE 路径和分辨率问题排查ch07 的 21 类常见问题覆盖了 90% 以上的 GEE 使用场景六、book-to-skill 工具的其他应用场景这次我把《生态地理遥感云计算》做成了 Skill但这只是 book-to-skill 的一个应用场景。这个工具可以处理任何类型的文档技术文档API 文档 → Agent 可执行的编程指导框架教程 → 结构化学习路径最佳实践指南 → 可复用的代码模式学术论文方法论论文 → 可复现的实验步骤综述论文 → 结构化知识图谱实验报告 → 参数配置参考业务手册操作手册 → 自动化工具指令培训材料 → 智能助教知识合规指南 → 自动检查规则书籍编程书籍 → 代码生成 Skill方法论书籍 → 思维模型 Skill教材 → 交互式学习 Skill七、如何获取和使用这个 Skill获取 Skill# 方式一直接克隆仓库gitclone https://github.com/xingguangYan/yanxingguang-gee-skill.git# 方式二使用 book-to-skill 安装python scripts/install-skill-from-github.py--repoxingguangYan/yanxingguang-gee-skill--path.在 GitHub Copilot CLI 中使用将 Skill 放到 ~/.copilot/skills/ 目录下cp-ryanxingguang-gee ~/.copilot/skills/yanxingguang-gee然后重启 Copilot CLI你就可以用自然语言提问了“帮我用 GEE 计算某地区的 NDVI”“Sentinel-2 云量怎么筛选”“Landsat 8 的真彩色波段是哪个”在 Claude Code 中使用将 Skill 放到 ~/.claude/skills/ 目录下cp-ryanxingguang-gee ~/.claude/skills/yanxingguang-gee在 Amp 中使用将 Skill 放到 ~/.agents/skills/ 目录下cp-ryanxingguang-gee ~/.agents/skills/yanxingguang-gee八、未来展望持续更新这本书还在持续迭代中。未来我会补充更多案例森林监测、水体提取、城市热岛分析等扩展数据集添加高分、风云等国产卫星数据增加深度机器学习分类、深度学习解译等进阶内容社区贡献欢迎所有人贡献发现错误或不准确的地方提 Issue 或 PR有新的 GEE 案例想加入提交新的 chapter 文件想翻译到其他语言fork 后国际化book-to-skill 生态我希望更多技术书籍的作者能尝试用 book-to-skill 将自己的作品转化为 AI 时代的 Skill让知识不再是静态的文字而是可执行的智慧。九、致谢感谢本书的共同作者马天跃博士、李晶教授、杨荻教授。感谢 book-to-skill 的开源贡献者 virgiliojr94。感谢所有 GEE 学习者和遥感科研工作者的支持与反馈。十、结语从一本 412 页、504 千字的纸质书到一个可在 AI Agent 中随时调用的 Skill——这个转变不仅仅是形式的变化更是知识传播方式的变革。在 AI 时代最好的知识不是被阅读的而是被使用的。如果你正在学习 GEE或者需要使用遥感云计算技术进行研究希望这个 Skill 能帮到你。也欢迎你体验 book-to-skill 工具把你喜欢的技术书变成一个 Skill。打赏《生态地理遥感云计算》北京航空航天大学出版社2025**期待大家买书支持一下工作现在已经上线了京东、淘宝和当当等多个网站请大家自行购买。** 相关链接Skill 仓库xingguangYan/yanxingguang-gee-skillbook-to-skill 工具virgiliojr94/book-to-skill《生态地理遥感云计算》北京航空航天大学出版社2025GEE Code Editorcode.earthengine.google.comgeemap 文档geemap.orgPIE-Engineengine.piesat.cn如果你觉得这篇文章有用欢迎 Star 和 Fork也欢迎分享给正在学习遥感云计算的朋友