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. 202012, 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 Forestalsvar 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 interestvar 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 processingvar lag = 20 // temporal resolution of the compositesvar startDate = year1+'-04-15'
var endDate = year1+'-12-20'Map.centerObject(roi,7)//_______________________________________________________________________________________________________________________
// SECTION 2 - Define function for cubic interpolationvar 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'

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/629053.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【jupyter添加虚拟环境内核(pytorch、tensorflow)- 实操可行】

jupyter添加虚拟环境内核(pytorch、tensorflow)- 实操可行 1、查看当前状态(winR,cmd进入之后)2、激活虚拟环境并进入3、安装ipykernel5、完整步骤代码总结6、进入jupyter 添加pytorch、tensorflow内核操作相同,以下内容默认已经安…

Klocwork—符合功能安全要求的自动化静态测试工具

产品概述 Klocwork是Perforce公司产品,主要用于C、C、C#、Java、 python和Kotlin代码的自动化静态分析工作,可以提供编码规则检查、代码质量度量、测试结果管理等功能。Klocwork可以扩展到大多数规模的项目,与大型复杂环境、各种开发工具集成…

低代码自动化测试的实践

何为低代码测试 传统上,功能、 UI、端到端等测试自动化的实现都涉及编写测试脚本,代替测试人员执行重复的手动测试任务。自动化脚本的开发工作通常由 QA 工程师或开发人员完成,这需要编写大量代码。 而低代码甚至无代码的理念也是在自动化测…

【ubuntu】ubuntu 20.04安装docker,使用nginx部署前端项目,nginx.conf文件配置

docker 官网:Install Docker Engine on Ubuntu 一、安装docker 1.将apt升级到最新 sudo apt update2.使用apt安装 docker 和 docker-compose (遇到提示输入y) sudo apt install docker.io docker-compose3.将当前用户添加到docker用户组 …

HNU-模式识别-作业2-面向应用分类系统

模式识别-作业2 计科210X 甘晴void 202108010XXX 【具体实现思路是按照去年数学建模国赛题来做的,就放个思路,完整不放全了】 题目: 查阅文献资料,构建一个面向应用的分类系统。 要求: 至少3页A4纸,文…

Leetcode951. 翻转等价二叉树

Every day a Leetcode 题目来源:951. 翻转等价二叉树 解法1:递归 存在三种情况: 如果 root1 或者 root2 是 nullptr,那么只有在他们都为 nullptr 的情况下这两个二叉树才等价。如果 root1,root2 的值不相等&#x…

人民网(人民日报官网)投稿方式解读

当今社交媒体风行的时代,人民网作为我国最大的新闻门户网站,扮演着传递信息、引导民意的重要角色。人民网积极鼓励社会各界朋友,尤其是普通民众,分享自己的见闻和观点,通过投稿的方式参与到新闻报道中来。那么&#xf…

已实现:JS如何根据视频的http(s)地址,来截取帧图片,并实现大图压缩的功能

现在&#xff0c;我们已经有了视频的http地址&#xff0c;我们怎么截取帧图片呢&#xff1f;我以Vue为基础架构&#xff0c;来写写代码。 1、先写布局&#xff0c;先得有video&#xff0c;然后得有canvas <video id"videoPlay" style"width: 100%; height:1…

查看centos的CPU、内存、磁盘空间等配置信息

目录 查看CPU/proc/cpuinfo中的信息 查看内存/proc/meminfo中的信息 查看磁盘空间df 命令du命令使用fdisk命令 查看CPU /proc/cpuinfo中的信息 前置&#xff1a; [ltkjltkj front]$ cat /proc/cpuinfo| grep "physical id" physical id : 0 physical id : 0 physi…

Ubuntu系统默认的dash shell改成bash shell

在Ubuntu系统中&#xff0c;如果默认的/bin/sh链接指向了dash&#xff0c;而你希望将其更改为指向bash&#xff0c;可以通过以下步骤操作&#xff1a; sudo rm /bin/sh sudo ln -s /bin/bash /bin/sh 但是&#xff0c;这种做法并不推荐&#xff0c;因为某些系统服务和脚本依赖…

【文本到上下文 #2】:NLP 的数据预处理步骤

一、说明 欢迎阅读此文&#xff0c;NLP 爱好者&#xff01;当我们继续探索自然语言处理 (NLP) 的广阔前景时&#xff0c;我们已经在最初的博客中探讨了它的历史、应用和挑战。今天&#xff0c;我们更深入地探讨 NLP 的核心——数据预处理的复杂世界。 这篇文章是我们的“完整 N…

三个方法解决pycharm中 ,alt +enter自动导入包的快捷键失效的问题

目录 1. 检查IDE设置&#xff1a;查看IDE的设置&#xff0c;确保自动导入包的功能是启用的 2. file>settings>keymap 里没有找到 alt enter 的快捷键 3. 按照网上教程说的如下选项勾上&#xff0c;也没用 4. 在右侧的General设置界面中&#xff0c;找到并点击Auto I…

RK3566RK3568安卓11隐藏状态栏带接口

文章目录 前言一、创建全局变量二、设置应用添加隐藏导航栏按钮三、添加按钮功能四、动态隐藏还有显示功能五、创建系统导航栏广播接口总结 前言 关于Android系统的状态栏&#xff0c;不同的客户有不同的需求: 有些客户需要永久隐藏状态栏&#xff0c;有些客户需要在设置显示中…

介绍下Redis?Redis有哪些数据类型?

一、Redis介绍 Redis全称&#xff08;Remote Dictionary Server&#xff09;本质上是一个Key-Value类型的内存数据库&#xff0c;整个数据库统统加载在内存当中进行操作&#xff0c;定期通过异步操作把数据库数据flush到硬盘上进行保存。因为是纯内存操作&#xff0c;Redis的性…

import { ArrowRight } from “@element-plus/icons-vue“;

今天下午快被这个问题折磨疯了 虽然知道这个问题怎么产生的 但项目里那个碍眼的红线就是去不掉 后来才发现 这是插件的锅 我的心情 你知道我想要说什么的 想必能看到这篇文章的 也知道这个问题是怎么产生的 vue3ts使用的时候 默认是需要带上文件名的 但是引入el组件时 …

5个99%的人可能不知道的实用程序库!

前言 作为一名前端开发者,这些 JavaScript 库极大地提高了我的工作效率,如格式化日期、处理 URL 参数和调试移动网页。朋友们,我想和你们分享这些库。 1. 使用 “Day.js” 来格式化日期和时间 链接 作为开发者,我已经厌倦了在 JavaScript 中操作日期和时间,因为它太麻烦了。…

精确掌控并发:漏桶算法在分布式环境下并发流量控制的设计与实现

这是《百图解码支付系统设计与实现》专栏系列文章中的第&#xff08;16&#xff09;篇&#xff0c;也是流量控制系列的第&#xff08;3&#xff09;篇。点击上方关注&#xff0c;深入了解支付系统的方方面面。 本篇重点讲清楚漏桶原理&#xff0c;在支付系统的应用场景&#x…

【RPC】网络通信:哪种网络IO模型最适合RPC框架?

一、背景 RPC是解决进程间通信的一种方式。一次RPC调用&#xff0c;本质就是服务消费者与服务提供者间的一次网络信息交换的过程。服务调用者通过网络IO发送一条请求消息&#xff0c;服务提供者接收并解析&#xff0c;处理完相关的业务逻辑之后&#xff0c;再发送一条响应消息…

重学Java 7 数组Arr.1

我欲与君相知&#xff0c;长命无绝衰 ——24.1.16 一、数组的定义 1.概述&#xff1a;数组是一个容器&#xff0c;数组本身属于引用数据类型 2.作用&#xff1a;一次存储多个数据 3.特点&#xff1a; ①既可以存储基本类型的数据&#xff0c;也可以存储引用类型的数据 ②定长&a…

【软件测试】学习笔记-统一测试数据平台

这篇文章主要探讨全球大型电商企业中关于准备测试数据的最佳实践&#xff0c;从全球大型电商企业早期的测试数据准备实践谈起&#xff0c;分析这些测试数据准备方法在落地时遇到的问题&#xff0c;以及如何在实践中解决这些问题。其实&#xff0c;这种分析问题、解决问题的思路…