R语言——AVOCADO“(异常植被变化检测)算法(1990-2015数据分析)监测森林干扰和再生(含GEE影像下载代码)

简介: R语言——AVOCADO“(异常植被变化检测)算法(1990-2015数据分析)监测森林干扰和再生(含GEE影像下载代码)

"AVOCADO"(异常植被变化检测)算法

AVOCADO"(异常植被变化检测)算法是一种连续的植被变化检测方法,也能捕捉植被再生。该算法基于 R 软件包 "npphen"(Chavez 等人,2017 年),开发用于监测物候变化,并经过调整,以半自动和连续的方式监测森林干扰和再生。该算法使用所有可用数据,不需要某些预处理步骤,如去除异常值。参考植被(本例中为未受干扰的森林)取自附近已知在整个时间序列中未受干扰的像素,因此无需留出部分时间序列作为历史基线。通过在 AVOCADO 中使用完整的时间序列,可以对植被变化做出更可靠的预测,同时提高我们处理数据缺口的能力。该算法考虑了年度物候的自然变异性(利用核拟合的灵活性),因此适用于监测季节性强的地区(如干旱生态系统)和渐变/微小变化的地区(如退化)。

"AVOCADO"(异常植被变化检测)算法是一种用于检测植被变化的算法。这个算法主要用于遥感图像的处理,通过比较不同时间点的图像来识别和定位植被变化的区域。

该算法的核心思想是将植被的变化视为异常值,并使用统计学方法来检测和分类这些异常值。具体而言,AVOCADO算法使用了聚类分析和假设检验的技术,对图像中的像素进行分类和比较。

首先,AVOCADO算法将两个不同时间点的图像分别转换为灰度图像。然后,使用聚类分析将像素分为不同的类别,类别之间的差异被认为是植被变化的指标。

接下来,AVOCADO算法使用假设检验来确定哪些类别的差异是统计显著的。通过比较类别之间的均值和方差,算法能够确定哪些区域的植被发生了显著变化。

最后,AVOCADO算法将检测到的变化区域标记出来,并生成一个变化图像,以便进一步分析和应用。

总的来说,AVOCADO算法是一种有效的植被变化检测方法,可以在遥感图像中准确地识别和定位植被变化的区域。它可以在农业、环境监测和城市规划等领域中得到广泛应用。

步骤

步骤 1:安装所需软件包

软件包可通过 github 获取,并可通过 "远程 "安装:

library(remotes) 
install_github('MDecuy/AVOCADO')  
#load library
library(AVOCADO)

 

请注意,关于 AVOCADO 算法所有参数的解释可在 github 文档中找到。

其他需要的软件包:rgdal、raster、npphen、bfastSpatial、RColorBrewer、rts、lubridate

GitHub - MDecuy/AVOCADO: Monitoring vegetation change in a continuous way

步骤 2:下载卫星数据

目前有多种卫星来源和数据下载方式,如地球探索者或谷歌地球引擎平台。有关如何在谷歌地球引擎指南平台上下载各种卫星数据的信息很多,但在此我们提供了一个 Landsat Collection 2 Level 2 数据的小型示例脚本。

第一步是上传您感兴趣区域(AOI)的形状文件。这可以在 "资产 "选项卡下完成,一旦上传,您就可以将目录(见 "表 ID")添加到下面的脚本中(在 "var input_polygon "下)。

GEE代码:

//Downloading Landsat data via the Google Earth Engine (GEE) platform.
// Paste this code into your GEE script page
// Specify the location of the before uploaded shapefile in your assets
var input_polygon = 'users/yourusername/ AOI';
// Export folder in your google drive
var input_export_folder = 'FolderName_You_Created_in_Your_GoogleDrive_Account';
// Start and end dates
var input_StartStr = ee.String('1990-01-01');
var input_FinishStr = ee.String('2015-01-01');
/* available indices: NDVI (ndvi_ind), NBR (nbr_ind), EVI (evi_ind), SAVI (savi_ind), tasseled cap 
brightness (Tcap_bri_ind), tasseled cap greenness (Tcap_gre_ind), tasseled cap wetness (Tcap_wet_ind)
Specify the vegetation indices you are interested in by marking it as TRUE, or if not as FALSE. 
In this example we use NDMI.*/
var ndvi_ind = ['FALSE'];
var ndmi_ind = ['TRUE'];
var nbr_ind = ['FALSE'];
var evi_ind = ['FALSE'];
var savi_ind = ['FALSE'];
var Tcap_bri_ind = ['FALSE'];
var Tcap_gre_ind = ['FALSE'];
var Tcap_wet_ind = ['FALSE'];
///
// END of input variables.
/* The following lines can be left default, unless you want 
to change e.g. the cloud cover percentage.*/
///
// Buffer to download around the above area, use 0 for no buffer
var input_buffer = 0;
// Convert text string dates to date tpe
var Start = ee.Date(input_StartStr);
var Finish = ee.Date(input_FinishStr);
// Create a feature collection out of the fustion table id
var Polygon = ee.FeatureCollection(ee.String(input_polygon));
// Buffer the area of interest
var PolygonBuffer = input_buffer === 0 ? Polygon.first().geometry() : Polygon.first().geometry().buffer(input_buffer);
Map.addLayer(PolygonBuffer,null,'Buffer');
Map.centerObject(PolygonBuffer);
// Standard names to rename the bands regardless of collection
var selected_bands = ['blue','green','red','nir','swir','swir2','QA_PIXEL'];
// Applies scaling factors.
var applyScaleFactors = function (image) {
  var opticalBands = image.select('SR_.*').multiply(0.0000275).add(-0.2);
  return image.addBands(opticalBands, null, true);
};
// Merge the 3 collections, select, and rename the bands to standard names
var Collection = ee.ImageCollection('LANDSAT/LT05/C02/T1_L2').map(applyScaleFactors)
  .select(['SR_B1','SR_B2','SR_B3','SR_B4','SR_B5','S
相关文章
|
26天前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于MSER和HOG特征提取的SVM交通标志检测和识别算法matlab仿真
### 算法简介 1. **算法运行效果图预览**:展示算法效果,完整程序运行后无水印。 2. **算法运行软件版本**:Matlab 2017b。 3. **部分核心程序**:完整版代码包含中文注释及操作步骤视频。 4. **算法理论概述**: - **MSER**:用于检测显著区域,提取图像中稳定区域,适用于光照变化下的交通标志检测。 - **HOG特征提取**:通过计算图像小区域的梯度直方图捕捉局部纹理信息,用于物体检测。 - **SVM**:寻找最大化间隔的超平面以分类样本。 整个算法流程图见下图。
|
1月前
|
算法 安全
分别使用OVP-UVP和OFP-UFP算法以及AFD检测算法实现反孤岛检测simulink建模与仿真
本课题通过Simulink建模与仿真,实现OVP-UVP、OFP-UFP算法及AFD检测算法的反孤岛检测。OVP-UVP基于电压幅值变化,OFP-UFP基于频率变化,而AFD则通过注入频率偏移信号来检测孤岛效应,确保电力系统安全稳定运行。系统使用MATLAB 2013b进行建模与仿真验证。
|
4天前
|
存储 JSON 算法
TDengine 检测数据最佳压缩算法工具,助你一键找出最优压缩方案
在使用 TDengine 存储时序数据时,压缩数据以节省磁盘空间是至关重要的。TDengine 支持用户根据自身数据特性灵活指定压缩算法,从而实现更高效的存储。然而,如何选择最合适的压缩算法,才能最大限度地降低存储开销?为了解决这一问题,我们特别推出了一个实用工具,帮助用户快速判断并选择最适合其数据特征的压缩算法。
12 0
|
18天前
|
算法 计算机视觉 Python
圆形检测算法-基于颜色和形状(opencv)
该代码实现了一个圆检测算法,用于识别视频中的红色、白色和蓝色圆形。通过将图像从RGB转换为HSV颜色空间,并设置对应颜色的阈值范围,提取出目标颜色的区域。接着对这些区域进行轮廓提取和面积筛选,使用霍夫圆变换检测圆形,并在原图上绘制检测结果。
43 0
|
2月前
|
机器学习/深度学习 算法 前端开发
R语言基础机器学习模型:深入探索决策树与随机森林
【9月更文挑战第2天】决策树和随机森林作为R语言中基础且强大的机器学习模型,各有其独特的优势和适用范围。了解并熟练掌握这两种模型,对于数据科学家和机器学习爱好者来说,无疑是一个重要的里程碑。希望本文能够帮助您更好地理解这两种模型,并在实际项目中灵活应用。
|
2月前
|
机器学习/深度学习 算法 数据挖掘
R语言中的支持向量机(SVM)与K最近邻(KNN)算法实现与应用
【9月更文挑战第2天】无论是支持向量机还是K最近邻算法,都是机器学习中非常重要的分类算法。它们在R语言中的实现相对简单,但各有其优缺点和适用场景。在实际应用中,应根据数据的特性、任务的需求以及计算资源的限制来选择合适的算法。通过不断地实践和探索,我们可以更好地掌握这些算法并应用到实际的数据分析和机器学习任务中。
|
3月前
|
机器学习/深度学习 监控 算法
目标检测算法技术
8月更文挑战第11天
|
3月前
|
机器学习/深度学习 监控 算法
目标检测算法
8月更文挑战第8天
|
3月前
|
数据采集 数据可视化 数据挖掘
使用Python进行数据分析的新手指南深入浅出操作系统:从理论到代码实践
【8月更文挑战第30天】在数据驱动的世界中,掌握数据分析技能变得越来越重要。本文将引导你通过Python这门强大的编程语言来探索数据分析的世界。我们将从安装必要的软件包开始,逐步学习如何导入和清洗数据,以及如何使用Pandas库进行数据操作。文章最后会介绍如何使用Matplotlib和Seaborn库来绘制数据图表,帮助你以视觉方式理解数据。无论你是编程新手还是有经验的开发者,这篇文章都将为你打开数据分析的大门。
|
7天前
|
算法 安全 数据安全/隐私保护
基于game-based算法的动态频谱访问matlab仿真
本算法展示了在认知无线电网络中,通过游戏理论优化动态频谱访问,提高频谱利用率和物理层安全性。程序运行效果包括负载因子、传输功率、信噪比对用户效用和保密率的影响分析。软件版本:Matlab 2022a。完整代码包含详细中文注释和操作视频。