GEE时序——利用sentinel-2(哨兵-2)数据进行地表物候学分析(时间序列平滑法估算和非平滑算法代码)

简介: GEE时序——利用sentinel-2(哨兵-2)数据进行地表物候学分析(时间序列平滑法估算和非平滑算法代码)

简介

哨兵-2A/B 串联卫星的空间分辨率高、重访时间长,有可能改进对陆地表面物候的检索。不过,生物群落和区域特征在很大程度上限制了陆表物候学算法的设计。在北极地区,这种生物群落特有的特征包括长期积雪、持续云层覆盖和生长季节短暂。在此,我们评估了哨兵-2 获取北极高分辨率 LSP 地图的可行性。我们通过在谷歌地球引擎(GEE)中简单实施阈值法,提取了 2019 年和 2020 年的季节开始和结束时间(分别为 SoS 和 EoS)。我们发现哨兵-2 和 PhenoCam 的指标之间具有高度的相似性;哨兵-2 增强植被指数(EVI)的结果最佳(SoS 的均方根误差(RMSE)和平均误差(ME)分别为 3.0 d 和 -0.3 d,EoS 的均方根误差(RMSE)和平均误差(ME)分别为 6.5 d 和 -3.8 d),尽管其他植被指数的表现类似。在同质地貌中,哨兵-2 EVI 的物候图与中分辨率成像分光仪(MODIS)提取的相同物候图相比效果良好(SoS 的 RMSE 和 ME 分别为 9.2 d 和 2.9 d,EoS 为 6.4 d 和 -0.9d)。当哨兵-2 时间序列出现长时间(>40 d)的数据缺失时,将过滤不可靠的 LSP 估计值,并激活质量标志指示器;春季和初夏的不连续性(9.2%)低于夏末和秋季(39.4%)。哨兵-2 高分辨率 LSP 地图和 GEE 物候提取方法将为植被监测提供支持,并有助于改进陆地表面模型对北极植被物候的表示。

Normalized Difference Phenology Index,NDPI

归一化差异物候指数(Normalized Difference Phenology Index,NDPI)是一种用于测量植被物候变化的指数。物候是指植物生命周期的不同阶段,如萌芽、开花和结果等。

NDPI通过计算某一时刻的归一化差异植被指数(Normalized Difference Vegetation Index,NDVI)与该地点历史上相同时期的平均NDVI之间的差异来表示物候变化。NDVI是通过测量植被红外辐射与可见光辐射之间的比值来计算的。

NDPI的值范围从-1到1,值趋近于1表示该时期植被比历史上相同时期更为繁茂,值趋近于-1则表示植被比历史上相同时期较少。

NDPI可以用于监测植被的生长状态和季节性变化,对于农业、生态学和气象学等领域的研究具有重要意义。

NDPI是一种植被指数,用于监测植被物候随时间的变化。它是利用遥感数据计算的,用于量化植被的物候变化。NDPI是从近红外波段和红光波段的反射率差异中导出的,它提供了有关植物生长、凋落和其他物候事件的时间信息。该指数经过归一化处理,以考虑反射率的变化,并且对研究环境因素对植被物候的影响非常有用。研究人员利用NDPI改进了对使用Sentinel-2时间序列数据估算北极地表物候的方法。

文章引用

Descals, A.; Verger, A.; Yin, G.; Peñuelas, J. Improved Estimates of Arctic Land Surface Phenology Using Sentinel-2 Time Series. Remote Sens. 2020, 12, 3738. https://doi.org/10.3390/rs12223738

数据

我们利用哨兵-2 level-2A 数据生成了 2019 年和 2020 年的 LSP 指标,这些数据提供了 10 米、20 米和 60 米空间分辨率的每日冠顶反射率;从这些数据中,我们使用了 10 米分辨率波段 2、3、4 和 8,以及 20 米波段 12。哨兵-2A 和-2B 多光谱卫星分别于 2015 年和 2017 年发射,在赤道的重访时间为 5 d,随着纬度的增加而缩短。2019 年 5 月 1 日至 9 月 30 日期间,纬度在 70 至 75° 之间的最大重访时间为 1.7 d(平均:0.9 d)(图 1a)。将哨兵-2 估计的 LSP 指标与 500 米 MOD09GAv6 产品估计的相同指标进行了比较

 

利用哨兵-2 进行地表物候学分析

该资源库包含谷歌地球引擎代码,该代码是为利用哨兵-2 在高纬度地区估算陆地表面物候(LSP)指标(季节开始和结束(SoS 和 EoS))而开发的。

LSP 提取方法是阈值法。

代码:

使用时间序列平滑法估算 SoS 和 EoS(20 天组成和三次插值法)

此代码分为9各部分

SECTION 1 - Define parameters and setup

SECTION 2 - Define function for cubic interpolation

SECTION 3 - Prepare Sentinel-2 data

SECTION 4 - Generate composites

SECTION 5 - Increase window size for empty composites

SECTION 6 - Interpolate time series

SECTION 7 - Estimate phenology metrics

SECTION 8 - Plot results

SECTION 9 - Display legends  

第 1 节 - 定义参数和设置

第 2 节 - 定义三次插值函数

第3节 - 准备哨兵-2数据

第4节 - 生成合成数据

第 5 节 - 增加空合成的窗口大小

第6节 - 插值时间序列

第 7 节 - 估算物候指标

第 8 节 - 绘制结果

第 9 节 - 显示图例  

平滑后的阈值法。在提取 LSP 指标之前,对时间序列数据进行了平滑处理,这是 LSP 估计中的常见做法,以减少时间序列数据的噪声和不连续性[21]。选择处理步骤的标准是在不影响物候曲线再现的情况下,在 GEE 中实施这些步骤的可行性。过度平滑时间序列可能会导致不切实际的生长季节再现。首先,我们每 20 天应用一个平均半径为 10 d 的移动平均窗口;如果 20 d 合成窗口中的某一像素因缺乏有效观测而为空,则窗口大小增加到 40 d。阈值是根据插值时间序列的振幅而不是每日观测数据估算的,然后分别根据插值时间序列中超过动态阈值的第一天和最后一天来估算SoS和EoS。

///
// Land Surface Estimation (LSP) with Sentinel-2 in the Arctic
//
// This is a demo code for the estimation of the start and end of season (SoS and EoS) with the threshold method with
// time series smoothing (20-day composition and cubic interpolation).
//
// The LSP method is the threhsold method
//
// Adrià Descals - a.descals@creaf.uab.cat
// CREAF - Centre de Recerca Ecològica i Aplicacions Forestals
var textSections = '' +
  "\n SECTION 1 - Define parameters and setup " +
  "\n SECTION 2 - Define function for cubic interpolation " +
  "\n SECTION 3 - Prepare Sentinel-2 data " +
  "\n SECTION 4 - Generate composites  " +
  "\n SECTION 5 - Increase window size for empty composites  " +
  "\n SECTION 6 - Interpolate time series " +
  "\n SECTION 7 - Estimate phenology metrics " +
  "\n SECTION 8 - Plot results " +
  "\n SECTION 9 - Display legends " 
print(textSections)
 
 
//_______________________________________________________________________________________________________________________
// SECTION 1 - Define parameters and setup
Map.setOptions('satellite')
var geom = /* color: #ff0000 */ee.Geometry.Point([17.07398, 67.7578]);
var point = geom // inspect results for this location
var roi = point.buffer(100000).bounds() // display results around the point of interest
var vegIndex = 'evi' // Specify the vegetation index (VI): 'ndvi', 'evi', 'gcc', or 'ndpi'.
var th = 0.5 // Define the percentage of amplitude for the estimation of the threshold 
var threshMin = 0.2 // minimum NDVI value for the reclassification of snow values
var scale = 50 // scale of the analysis
var year1 = 2019 // year of processing
var lag = 20 // temporal resolution of the composites
var startDate = year1+'-04-15'
var endDate = year1+'-12-20'
Map.centerObject(roi,7)
//_______________________________________________________________________________________________________________________
// SECTION 2 - Define function for cubic interpolation
var cubicInterpolation = function(collection,step){ 
var listDekads = ee.List.sequence(1, collection.size().subtract(3), 1);
var colInterp = listDekads.map(function(ii){
  var ii = ee.Number(ii);
  
    var p0 = ee.Image(collection.toList(10000).get(ee.Number(ii).subtract(1)));
    var p1 = ee.Image(collection.toList(10000).get(ii));
    var p2 = ee.Image(collection.toList(10000).get(ee.Number(ii).add(1)));
    var p3 = ee.Image(collection.toList(10000).get(ee.Number(ii).add(2)));
  
    var diff01 = ee.Date(p1.get('system:time_start')).difference(ee.Date(p0.get('system:time_start')), 'day');
    var diff12 = ee.Date(p2.get('system:time_start')).difference(ee.Date(p1.get('system:time_start')), 'day');
    var diff23 = ee.Date(p3.get('system:time_start')).difference(ee.Date(p2.get('system:time_start')), 'day'
相关文章
|
20天前
|
负载均衡 算法 关系型数据库
大数据大厂之MySQL数据库课程设计:揭秘MySQL集群架构负载均衡核心算法:从理论到Java代码实战,让你的数据库性能飙升!
本文聚焦 MySQL 集群架构中的负载均衡算法,阐述其重要性。详细介绍轮询、加权轮询、最少连接、加权最少连接、随机、源地址哈希等常用算法,分析各自优缺点及适用场景。并提供 Java 语言代码实现示例,助力直观理解。文章结构清晰,语言通俗易懂,对理解和应用负载均衡算法具有实用价值和参考价值。
大数据大厂之MySQL数据库课程设计:揭秘MySQL集群架构负载均衡核心算法:从理论到Java代码实战,让你的数据库性能飙升!
|
21天前
|
机器学习/深度学习 人工智能 JSON
这个AI把arXiv变成代码工厂,快速复现顶会算法!Paper2Code:AI论文自动转代码神器,多智能体框架颠覆科研复现
Paper2Code是由韩国科学技术院与DeepAuto.ai联合开发的多智能体框架,通过规划、分析和代码生成三阶段流程,将机器学习论文自动转化为可执行代码仓库,显著提升科研复现效率。
169 18
这个AI把arXiv变成代码工厂,快速复现顶会算法!Paper2Code:AI论文自动转代码神器,多智能体框架颠覆科研复现
|
1月前
|
机器学习/深度学习 存储 算法
18个常用的强化学习算法整理:从基础方法到高级模型的理论技术与代码实现
本文系统讲解从基本强化学习方法到高级技术(如PPO、A3C、PlaNet等)的实现原理与编码过程,旨在通过理论结合代码的方式,构建对强化学习算法的全面理解。
92 10
18个常用的强化学习算法整理:从基础方法到高级模型的理论技术与代码实现
|
2月前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于模糊神经网络的金融序列预测算法matlab仿真
本程序为基于模糊神经网络的金融序列预测算法MATLAB仿真,适用于非线性、不确定性金融数据预测。通过MAD、RSI、KD等指标实现序列预测与收益分析,运行环境为MATLAB2022A,完整程序无水印。算法结合模糊逻辑与神经网络技术,包含输入层、模糊化层、规则层等结构,可有效处理金融市场中的复杂关系,助力投资者制定交易策略。
|
2月前
|
JavaScript 前端开发 算法
JavaScript 中通过Array.sort() 实现多字段排序、排序稳定性、随机排序洗牌算法、优化排序性能,JS中排序算法的使用详解(附实际应用代码)
Array.sort() 是一个功能强大的方法,通过自定义的比较函数,可以处理各种复杂的排序逻辑。无论是简单的数字排序,还是多字段、嵌套对象、分组排序等高级应用,Array.sort() 都能胜任。同时,通过性能优化技巧(如映射排序)和结合其他数组方法(如 reduce),Array.sort() 可以用来实现高效的数据处理逻辑。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
14天前
|
算法 数据安全/隐私保护
基于GA遗传算法的悬索桥静载试验车辆最优布载matlab仿真
本程序基于遗传算法(GA)实现悬索桥静载试验车辆最优布载的MATLAB仿真(2022A版)。目标是自动化确定车辆位置,使加载效率ηq满足0.95≤ηq≤1.05且尽量接近1,同时减少车辆数量与布载时间。核心原理通过优化模型平衡最小车辆使用与ηq接近1的目标,并考虑桥梁载荷、车辆间距等约束条件。测试结果展示布载方案的有效性,适用于悬索桥承载能力评估及性能检测场景。
|
14天前
|
算法 机器人 数据安全/隐私保护
基于双向RRT算法的三维空间最优路线规划matlab仿真
本程序基于双向RRT算法实现三维空间最优路径规划,适用于机器人在复杂环境中的路径寻找问题。通过MATLAB 2022A测试运行,结果展示完整且无水印。算法从起点和终点同时构建两棵随机树,利用随机采样、最近节点查找、扩展等步骤,使两棵树相遇以形成路径,显著提高搜索效率。相比单向RRT,双向RRT在高维或障碍物密集场景中表现更优,为机器人技术提供了有效解决方案。
|
1月前
|
存储 算法 调度
基于和声搜索优化算法的机器工作调度matlab仿真,输出甘特图
本程序基于和声搜索优化算法(Harmony Search, HS),实现机器工作调度的MATLAB仿真,输出甘特图展示调度结果。算法通过模拟音乐家即兴演奏寻找最佳和声的过程,优化任务在不同机器上的执行顺序,以最小化完成时间和最大化资源利用率为目标。程序适用于MATLAB 2022A版本,运行后无水印。核心参数包括和声记忆大小(HMS)等,适应度函数用于建模优化目标。附带完整代码与运行结果展示。
|
14天前
|
算法 JavaScript 数据安全/隐私保护
基于GA遗传优化的最优阈值计算认知异构网络(CHN)能量检测算法matlab仿真
本内容介绍了一种基于GA遗传优化的阈值计算方法在认知异构网络(CHN)中的应用。通过Matlab2022a实现算法,完整代码含中文注释与操作视频。能量检测算法用于感知主用户信号,其性能依赖检测阈值。传统固定阈值方法易受噪声影响,而GA算法通过模拟生物进化,在复杂环境中自动优化阈值,提高频谱感知准确性,增强CHN的通信效率与资源利用率。预览效果无水印,核心程序部分展示,适合研究频谱感知与优化算法的学者参考。
|
6天前
|
机器学习/深度学习 算法 Python
matlab思维进化算法优化BP神经网络
matlab思维进化算法优化BP神经网络

热门文章

最新文章