当前位置: 首页 > backend >正文

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

http://www.xdnf.cn/news/8332.html

相关文章:

  • Cat.4+WiFi6工业路由器介绍小体积大作用ER4200
  • 第29周———Inception v3算法实战与解析
  • epub→pdf | which 在线转换??好用!!
  • uniapp uts 插件开发指南
  • 多模态AI终极形态?GPT-5与Stable Diffusion 3的融合实验报告
  • C++中IOstream解析
  • 二十三、面向对象底层逻辑-BeanDefinitionParser接口设计哲学
  • 公有云AWS基础架构与核心服务:从概念到实践
  • Windows 使用 WSL 安装 Ubuntu
  • vue项目表格甘特图开发
  • ArcGIS Pro对图斑进行等比例、等面积、等宽度的分割
  • word为章节标题添加自动编号
  • React Hooks底层执行逻辑详解、自定义Hooks、FiberScheduler
  • Prompt Tuning:轻量级微调与反向传播揭秘
  • 分布式缓存:缓存的三种读写模式及分类
  • Wkhtmltopdf使用
  • 医学人工智能中的分层处理与跨模态融合:深度架构设计研究(基础教程.上)
  • 从负债到上岸:湖北理元理律师事务所的专业债务规划之道
  • 如何升级 npm:从版本管理到最佳实践
  • 未来安全与持续进化
  • PaddleX 使用案例
  • 车载诊断架构 --- 车载诊断有那些内容(上)
  • Win/Linux安装flash attention2
  • Python刷题:神奇的函数
  • VSCode如何像Pycharm一样“““回车快速生成函数注释文档?如何设置文档的样式?
  • 在 Ubuntu 虚拟机中实现 HTML 表单与 C 语言 HTTP 服务器交互
  • AI与.NET技术实操系列(七):使用Emgu CV进行计算机视觉操作
  • Linux系统编程-DAY03
  • 26-RTOS的基本介绍
  • Vitis 2021.1安装步骤