news 2026/2/23 9:16:53

8、基于 GEE 平台 通过 NDVI 进行作物产量预测

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
8、基于 GEE 平台 通过 NDVI 进行作物产量预测

🌾 GEE 作物产量预测

GEE Crop Yield Prediction Professional Platform

这是一个基于Google Earth Engine (GEE)云计算平台开发的交互式农业监测工具。该平台集成了多源遥感数据(Sentinel-2 与 Landsat 8/9),通过自动化的去云处理和植被指数计算,实现对特定区域作物的长势监测与产量潜力估算。


📋 目录 (Table of Contents)

  1. 核心功能
  2. 算法与数据处理
  3. 快速使用指南
  4. 开发者自定义指南 (修改源码)
    • 4.1 如何自定义研究区域
    • 4.2 如何修改产量预测公式
    • 4.3 如何调整可视化阈值
  5. 注意事项

✨ 核心功能

  • 多源卫星支持: 支持Sentinel-2(10m, 5天重访) 和Landsat 8/9(30m, 16天重访) 数据无缝切换。
  • 自动化预处理: 内置针对不同传感器的 QA 波段去云算法,自动剔除云和云影干扰。
  • 动态产量建模: 基于生长季最大 NDVI (Max Value Composite) 的产量估算模型。
  • 交互式分析面板:
    • 实时图表: 自动生成 NDVI 时序生长曲线、产量分布直方图。
    • 统计指标: 自动计算并显示区域内的平均产量(吨/公顷)。
    • 动态图例: 地图左下角根据数据自动渲染图例组件。

🛠️ 算法与数据处理

1. 数据清洗机制

脚本根据选择的卫星源自动匹配处理流程:

  • Sentinel-2: 使用QA60波段。
    • [cite_start]逻辑: 屏蔽 Bit 10 (不透明云) 和 Bit 11 (卷云) [cite: 10, 11, 12]。
    • [cite_start]阈值: 过滤云量 > 20% 的影像 [cite: 14]。
  • Landsat 8/9: 使用QA_PIXEL波段。
    • [cite_start]逻辑: 屏蔽 Bit 3 (云) 和 Bit 4 (云影) [cite: 17]。
    • [cite_start]校正: 应用 Scale Factor (0.0000275 * DN - 0.2) 转换为地表反射率 [cite: 18]。

2. 产量预测模型 (核心逻辑)

本平台采用基于植被指数的经验回归模型:

  1. [cite_start]特征提取: 计算时间窗口内的最大 NDVI(seasonalMaxNDVI),代表作物生长最旺盛时期的状态 [cite: 26]。
  2. [cite_start]非耕地掩膜: 剔除 NDVI < 0.25 的像素(水体、裸土、建筑)[cite: 28]。
  3. 估算公式 (示例):
    Y i e l d ( t / h a ) = 12.5 × N D V I m a x − 1.5 Yield (t/ha) = 12.5 \times NDVI_{max} - 1.5Yield(t/ha)=12.5×NDVImax1.5
    [cite_start](注:此为演示参数,实际应用请参考“开发者自定义指南”进行修改)[cite: 27]。

🚀 快速使用指南

  1. 启动平台: 在 GEE Code Editor 中运行脚本。
  2. 设置参数(左侧面板):
    Region: 选择预设的示范区(如:河南驻马店-冬小麦)。
    Satellite: 选择数据源(推荐 Sentinel-2 以获得更高清晰度)。
    Date Range: 输入作物生长季的开始与结束日期 (格式 YYYY-MM-DD)。
  3. 执行分析: 点击“执行分析 / Run Analysis”按钮 。
  4. 查看结果:
    • 地图: 查看产量空间分布(红=低产,绿=高产)。
      图表: 底部面板显示生长曲线与产量分布。
      数据: 面板显示具体的“区域平均产量”数值。

🔧 开发者自定义指南 (修改源码)

本节详细说明如何修改代码以适配您自己的研究区域和农学模型。

4.1 如何自定义研究区域 (ROI)

默认代码使用矩形坐标。您可以通过修改rois对象来添加新区域。

步骤:

  1. 找到代码顶部的14 - 18 行左右的var rois = { ... };部分。
    varrois={'河南驻马店 (冬小麦)':ee.Geometry.Rectangle([114.0,32.8,114.2,33.0]),'黑龙江建三江 (水稻)':ee.Geometry.Rectangle([132.5,47.1,132.7,47.3]),'山东德州 (夏玉米)':ee.Geometry.Rectangle([116.2,37.3,116.4,37.5])};
  2. 方法 A (添加坐标): 如果您知道经纬度范围。
    varrois={// 格式: [最小经度, 最小纬度, 最大经度, 最大纬度]'我的自定义区域':ee.Geometry.Rectangle([115.0,34.0,115.5,34.5]),// ...保留其他区域};
  3. 方法 B (使用 Shapefile): 如果您上传了矢量文件到 Assets。
    varrois={// 必须使用 .geometry() 获取边界'我的县域边界':ee.FeatureCollection("users/您的用户名/您的文件名").geometry(),};
  4. 修改后,重新运行代码,下拉菜单中即会出现新选项。

4.2 如何修改产量预测公式

默认公式仅为线性演示。请根据您的地面实测数据进行修改。

步骤:

  1. 定位到runAnalysis函数内部,约第 184-186 行
  2. 找到以下代码段:
    varpredictedYield=seasonalMaxNDVI.expression('12.5 * NDVI - 1.5',{'NDVI':seasonalMaxNDVI}).rename('Yield_Prediction');
  3. 修改场景示例:
    • 场景 1: 调整线性系数(例如:y = 20 x + 5 y = 20x + 5y=20x+5)
      '12.5 * NDVI - 1.5'修改为'20 * NDVI + 5'
    • 场景 2: 二次多项式模型(例如:y = − 10 x 2 + 15 x y = -10x^2 + 15xy=10x2+15x)
      修改为'(-10 * NDVI * NDVI) + (15 * NDVI)'
    • 场景 3: 指数模型(例如:y = 5 × e 2 x y = 5 \times e^{2x}y=5×e2x)
      修改为'5 * exp(2 * NDVI)'

4.3 如何调整可视化阈值

如果修改公式后,地图显示的颜色全红或全绿,说明预测值超出了预设的显示范围 (2-10 t/ha)。

步骤:

  1. 定位到第 195 行左右:
    varyieldVis={min:2,max:10,palette:[...]};
  2. 根据您的产量范围修改min(最小值) 和max(最大值)。
    • 例如:如果是单产较高的玉米,可能需要设置为{min: 5, max: 15}





⚠️ 注意事项

  1. 云量影响: 如果选定的时间窗口内阴雨天气过多,Sentinel-2 可能因云量过滤导致部分区域出现空洞(无数据)。此时建议:
    • 扩大时间窗口。
    • 切换为 Landsat 卫星(重访周期不同,可能正好有晴空数据)。
  2. [cite_start]尺度效应: 图表统计中的.scale(30)参数 [cite: 34] 决定了计算精度。对于极大区域(如全省),建议将其调大(如 100或500),以避免 GEE 计算超时 (Computation Time Out)。
  3. 模型适用性: 本工具提供的仅为计算框架。严禁直接使用默认参数 (12.5, -1.5) 进行真实的农业投产决策,必须结合当地农学实验数据进行参数本地化校准。

GEE 系列源码分享

基于 GEE 平台 通过 NDVI 进行作物产量预测 源码分享

https://github.com/mojoin/GEE-
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/22 18:37:09

123云盘解锁脚本完整教程:免费享受会员级云盘体验

123云盘解锁脚本完整教程&#xff1a;免费享受会员级云盘体验 【免费下载链接】123pan_unlock 基于油猴的123云盘解锁脚本&#xff0c;支持解锁123云盘下载功能 项目地址: https://gitcode.com/gh_mirrors/12/123pan_unlock 还在为123云盘的下载速度限制和广告干扰而烦恼…

作者头像 李华
网站建设 2026/2/22 23:07:13

AI智能体如何高效通信:构建智能协作网络的核心技术

AI智能体如何高效通信&#xff1a;构建智能协作网络的核心技术 【免费下载链接】awesome-ai-agents A list of AI autonomous agents 项目地址: https://gitcode.com/GitHub_Trending/aw/awesome-ai-agents 你是否曾好奇&#xff0c;当多个AI智能体协同工作时&#xff0…

作者头像 李华
网站建设 2026/2/23 3:51:48

解密AI智能体通信黑盒:从混乱到高效协作的完整指南

解密AI智能体通信黑盒&#xff1a;从混乱到高效协作的完整指南 【免费下载链接】awesome-ai-agents A list of AI autonomous agents 项目地址: https://gitcode.com/GitHub_Trending/aw/awesome-ai-agents 为什么你的AI团队总是各自为战&#xff1f;当多个AI智能体协同…

作者头像 李华
网站建设 2026/2/21 23:00:58

这个信号很明显:AI健康,开始换打法了

这个信号很明显&#xff1a;AI健康&#xff0c;开始换打法了。刚刚蚂蚁集团的AQ&#xff0c;终于改名叫【阿福】了&#xff0c;昨晚我和我妈都装上了。因为这个尝试太大胆了&#xff0c;因为之前没有公司敢把APP用“拟人化”去命名&#xff0c;像我们这种80后的中老年人会觉得很…

作者头像 李华
网站建设 2026/2/21 23:00:48

TikZJax终极指南:在浏览器中直接运行LaTeX绘图

TikZJax终极指南&#xff1a;在浏览器中直接运行LaTeX绘图 【免费下载链接】tikzjax TikZJax is TikZ running under WebAssembly in the browser 项目地址: https://gitcode.com/gh_mirrors/ti/tikzjax TikZJax是一个革命性的开源工具&#xff0c;让用户能够在浏览器中…

作者头像 李华
网站建设 2026/2/22 1:01:12

ndb调试器完整教程:从基础使用到高级调试的终极指南

ndb调试器完整教程&#xff1a;从基础使用到高级调试的终极指南 【免费下载链接】ndb ndb is an improved debugging experience for Node.js, enabled by Chrome DevTools 项目地址: https://gitcode.com/gh_mirrors/nd/ndb 作为Google Chrome团队开发的Node.js调试工具…

作者头像 李华