NDVI谐波拟合(基于GEE实现)

在遥感影像中,我们常用 NDVI(归一化植被指数)来衡量地表植被的绿度。它简单直观,是生态监测、农情分析的基础工具。但你是否注意到:

NDVI 虽然"绿",却常常"乱"。

因为云层、观测频率、天气干扰,NDVI 的时间序列往往是锯齿状断裂的,很难反映植物真实的生长节奏。

那么,能不能让 NDVI 曲线变得平滑、优雅?更重要的是,让我们看出植物一年中什么时候最绿、什么时候开始变黄?

答案就是:谐波拟合(Harmonic Regression)

我们用一套简单的数学模型------正弦函数 + 余弦函数的组合,就可以模拟 NDVI 的自然波动,就像听诊器一样,听出绿地的"心跳"与"节奏"。

这套方法不仅可以:

  • 去除 NDVI 的噪声、缺值干扰

  • 提取"年最大 NDVI 值"与"峰值出现时间"

  • 还可以看出城市、公园、农田中绿意的季节差异

一串函数,就能复刻大地的春夏秋冬。

我们在 GEE(Google Earth Engine)中完成了这项分析,原始 NDVI 和谐波拟合 NDVI 的对比图已经生成。未来我们还可以进一步提取出"绿期长度"、"相位差异"等生态指标。

📌 想获取脚本 or 全套实操教学?欢迎关注【全域智图】公众号。

复制代码
部分代码,完整代码关注公众号

// 1. 设置研究区域(成都点位,可自行替换)
var region = ee.Geometry.Point([104.07, 30.67]);
Map.centerObject(region, 8);

// 2. 加载 MODIS NDVI 数据(MOD13Q1)
var modis = ee.ImageCollection('MODIS/006/MOD13Q1')
  .filterDate('2020-01-01', '2021-01-01')
  .filterBounds(region)
  .select('NDVI')
  .map(function(img) {
    return img.multiply(0.0001).copyProperties(img, ['system:time_start']);
  });

// 3. 添加时间变量(以天为单位)
var withTime = modis.map(function(img) {
  var t = ee.Date(img.get('system:time_start')).difference(ee.Date('2020-01-01'), 'day');
  return img.addBands(ee.Image.constant(t).rename('t').toFloat());
});












print(chart);
// 9. 显示 NDVI 原始图像(选择其中一个时间点)
var exampleRaw = modis.filterDate('2020-07-01', '2020-07-15').median();
Map.addLayer(exampleRaw, {min: 0.1, max: 0.8, palette: ['white', 'green']}, '原始 NDVI');

// 10. 显示拟合 NDVI(同一时期)
var exampleFitted = fittedSeries.filterDate('2020-07-01', '2020-07-15').median();
Map.addLayer(exampleFitted, {min: 0.1, max: 0.8, palette: ['white', 'blue']}, '拟合 NDVI');

拟合NDVI

真实NDVI

相关推荐
小明_GLC几秒前
Falcon-TST: A Large-Scale Time Series Foundation Model
论文阅读·人工智能·深度学习·transformer
Python_Study20251 分钟前
制造业数据采集系统选型指南:从技术挑战到架构实践
大数据·网络·数据结构·人工智能·架构
一只大侠的侠5 分钟前
【工业AI热榜】LSTM+GRU融合实战:设备故障预测准确率99.3%,附开源数据集与完整代码
人工智能·gru·lstm
weisian15112 分钟前
入门篇--知名企业-26-华为-2--华为VS阿里:两种科技路径的较量与共生
人工智能·科技·华为·阿里
棒棒的皮皮18 分钟前
【深度学习】YOLO模型精度优化 Checklist
人工智能·深度学习·yolo·计算机视觉
线束线缆组件品替网26 分钟前
Bulgin 防水圆形线缆在严苛环境中的工程实践
人工智能·数码相机·自动化·软件工程·智能电视
Cherry的跨界思维32 分钟前
【AI测试全栈:Vue核心】22、从零到一:Vue3+ECharts构建企业级AI测试可视化仪表盘项目实战
vue.js·人工智能·echarts·vue3·ai全栈·测试全栈·ai测试全栈
冬奇Lab33 分钟前
【Cursor进阶实战·07】OpenSpec实战:告别“凭感觉“,用规格驱动AI编程
人工智能·ai编程
玖疯子35 分钟前
2025年总结框架
人工智能
dazzle1 小时前
计算机视觉处理(OpenCV基础教学(十九):图像轮廓特征查找技术详解)
人工智能·opencv·计算机视觉