GEE:变化检测算法,干扰检测,LandTrendr代码与说明(变化年份和扰动幅度示例)

本文主要是介绍GEE:变化检测算法,干扰检测,LandTrendr代码与说明(变化年份和扰动幅度示例),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

LandTrendr是什么?

LandTrendr是一组频谱时间分割算法,可用于中等分辨率卫星图像(主要是Landsat)的时间序列中的变化检测以及生成很大程度上不存在年际信号噪声的基于轨迹的频谱时间序列数据。LT最初是用IDL(交互式数据语言)实现的,但是在Google工程师的帮助下,它已移植到GEE平台。


LandTrendr官方说明网站:

https://emapr.github.io/LT-GEE/index.html
该网站介绍了在Google Earth Engine(GEE)中运行LandTrendr(LT)的基础知识。
它描述了LT概念框架,运行LT-GEE所需的内容,如何运行它,输出是什么以及如何格式化它们。它还提供了三个示例脚本,用于LT操作的一系列用户界面以及一个有目的但易于使用的API。
GEE框架几乎消除了IDL实施中繁琐的数据管理和图像预处理方面。它比IDL实施要快几光年,后者的计算时间以分钟而不是天为单位。(GEE谷歌云平台动用全球的服务器运算)


以下介绍动用API,运行LandTrendr的代码。输出结果为最大的扰动发生的幅度和年份。
完整代码:https://code.earthengine.google.com/65d284842e453de5731810be16bfccf3?noload=true
扰动幅度结果如下图所示,(不同颜色代表扰动强度不同)
在这里插入图片描述
扰动发生的年份,结果如下图所示:(不同颜色代表扰动发生的不同年份)
在这里插入图片描述

// 定义影像集参数
var startYear = 1984;
var endYear = 2019;
var startDay = '06-20';
var endDay = '09-01';
//var aoi = ee.Geometry.Point(-122.8848, 43.7929);
var index = 'NBR';
var maskThese = ['cloud', 'shadow', 'snow', 'water'];// 定义landtrendr参数
var runParams = { maxSegments:            6,spikeThreshold:         0.9,vertexCountOvershoot:   3,preventOneYearRecovery: true,recoveryThreshold:      0.25,pvalThreshold:          0.05,bestModelProportion:    0.75,minObservationsNeeded:  6
};// 定义变化参数
var changeParams = {delta:  'loss',sort:   'greatest',year:   {checked:true, start:1986, end:2019},mag:    {checked:true, value:200,  operator:'>'},dur:    {checked:true, value:4,    operator:'<'},preval: {checked:true, value:300,  operator:'>'},mmu:    {checked:true, value:11},};//各项参数设置好了,就可以开始运行LandTrendr了!// 加载API
var ltgee = require('users/emaprlab/public:Modules/LandTrendr.js'); // add index to changeParams object
changeParams.index = index;// 运行landtrendr
var lt = ltgee.runLT(startYear, endYear, startDay, endDay, aoi, index, [], runParams, maskThese);// 得到 change map layers
var changeImg = ltgee.getChangeMap(lt, changeParams);// 可视化字典
var palette = ['#9400D3', '#4B0082', '#0000FF', '#00FF00', '#FFFF00', '#FF7F00', '#FF0000'];
var yodVizParms = {min: startYear,max: endYear,palette: palette
};// 可视化参数
var magVizParms = {min: 200,max: 800,palette: palette
};// 将扰动图可视化
Map.centerObject(aoi, 11);
Map.addLayer(changeImg.select(['mag']), magVizParms, 'Magnitude of Change');
Map.addLayer(changeImg.select(['yod']), yodVizParms, 'Year of Detection');//设置显示样式:color代表边界颜色;fillcolor代表填充颜色
var styling={color:'red',fillColor:'00000000'}
//JX就是矢量边界
Map.addLayer(aoi.style(styling),{},"JX")// 将结果下载到谷歌云盘var exportImg = changeImg.clip(aoi).unmask(0).short();
Export.image.toDrive({image: exportImg, description: 'lt-gee_disturbance_map', folder: 'lt-gee_disturbance_map_test', fileNamePrefix: 'lt-gee_disturbance_map', region: aoi, scale: 30, crs: 'EPSG:5070', maxPixels: 1e13
});

这篇关于GEE:变化检测算法,干扰检测,LandTrendr代码与说明(变化年份和扰动幅度示例)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/428314

相关文章

Java调用DeepSeek API的最佳实践及详细代码示例

《Java调用DeepSeekAPI的最佳实践及详细代码示例》:本文主要介绍如何使用Java调用DeepSeekAPI,包括获取API密钥、添加HTTP客户端依赖、创建HTTP请求、处理响应、... 目录1. 获取API密钥2. 添加HTTP客户端依赖3. 创建HTTP请求4. 处理响应5. 错误处理6.

Android 悬浮窗开发示例((动态权限请求 | 前台服务和通知 | 悬浮窗创建 )

《Android悬浮窗开发示例((动态权限请求|前台服务和通知|悬浮窗创建)》本文介绍了Android悬浮窗的实现效果,包括动态权限请求、前台服务和通知的使用,悬浮窗权限需要动态申请并引导... 目录一、悬浮窗 动态权限请求1、动态请求权限2、悬浮窗权限说明3、检查动态权限4、申请动态权限5、权限设置完毕后

在 Spring Boot 中使用 @Autowired和 @Bean注解的示例详解

《在SpringBoot中使用@Autowired和@Bean注解的示例详解》本文通过一个示例演示了如何在SpringBoot中使用@Autowired和@Bean注解进行依赖注入和Bean... 目录在 Spring Boot 中使用 @Autowired 和 @Bean 注解示例背景1. 定义 Stud

Python如何实现PDF隐私信息检测

《Python如何实现PDF隐私信息检测》随着越来越多的个人信息以电子形式存储和传输,确保这些信息的安全至关重要,本文将介绍如何使用Python检测PDF文件中的隐私信息,需要的可以参考下... 目录项目背景技术栈代码解析功能说明运行结php果在当今,数据隐私保护变得尤为重要。随着越来越多的个人信息以电子形

使用 sql-research-assistant进行 SQL 数据库研究的实战指南(代码实现演示)

《使用sql-research-assistant进行SQL数据库研究的实战指南(代码实现演示)》本文介绍了sql-research-assistant工具,该工具基于LangChain框架,集... 目录技术背景介绍核心原理解析代码实现演示安装和配置项目集成LangSmith 配置(可选)启动服务应用场景

oracle DBMS_SQL.PARSE的使用方法和示例

《oracleDBMS_SQL.PARSE的使用方法和示例》DBMS_SQL是Oracle数据库中的一个强大包,用于动态构建和执行SQL语句,DBMS_SQL.PARSE过程解析SQL语句或PL/S... 目录语法示例注意事项DBMS_SQL 是 oracle 数据库中的一个强大包,它允许动态地构建和执行

Python中顺序结构和循环结构示例代码

《Python中顺序结构和循环结构示例代码》:本文主要介绍Python中的条件语句和循环语句,条件语句用于根据条件执行不同的代码块,循环语句用于重复执行一段代码,文章还详细说明了range函数的使... 目录一、条件语句(1)条件语句的定义(2)条件语句的语法(a)单分支 if(b)双分支 if-else(

Python中Markdown库的使用示例详解

《Python中Markdown库的使用示例详解》Markdown库是一个用于处理Markdown文本的Python工具,这篇文章主要为大家详细介绍了Markdown库的具体使用,感兴趣的... 目录一、背景二、什么是 Markdown 库三、如何安装这个库四、库函数使用方法1. markdown.mark

MySQL数据库函数之JSON_EXTRACT示例代码

《MySQL数据库函数之JSON_EXTRACT示例代码》:本文主要介绍MySQL数据库函数之JSON_EXTRACT的相关资料,JSON_EXTRACT()函数用于从JSON文档中提取值,支持对... 目录前言基本语法路径表达式示例示例 1: 提取简单值示例 2: 提取嵌套值示例 3: 提取数组中的值注意

CSS3中使用flex和grid实现等高元素布局的示例代码

《CSS3中使用flex和grid实现等高元素布局的示例代码》:本文主要介绍了使用CSS3中的Flexbox和Grid布局实现等高元素布局的方法,通过简单的两列实现、每行放置3列以及全部代码的展示,展示了这两种布局方式的实现细节和效果,详细内容请阅读本文,希望能对你有所帮助... 过往的实现方法是使用浮动加