基于R语言的NDVI的Sen-MK趋势检验

本实验拟分析艾比湖地区2010年至2020年间的NDVI数据,数据从MODIS遥感影像中提取的NDVI值,在GEE遥感云平台上将影像数据下载下来。代码如下:

import ee
import geemap 
geemap.set_proxy(port=7890)# 设置全局网络代理
Map = geemap.Map()# 指定艾比湖地区数据范围
region = ee.Geometry.BBox(82.433,44.367,84.5,45.267)def get_mean_ndvi(year):y1,y2 = f'{year}-01-01', f'{year+1}-01-01'ndvi_collection = (ee.ImageCollection('MODIS/MCD43A4_006_NDVI') .filterDate(y1,y2) .filterBounds(region))ndvi = ndvi_collection.reduce(ee.Reducer.mean())geemap.ee_export_image_to_drive(ndvi, description=f'ndvi{year}', folder='image',scale=1000,region=region)for y in range(2010,2021):get_mean_ndvi(y)

影像会下载到Google云盘中,通过手动下载到本地,其根目录结构如下:
在这里插入图片描述

图1 根目录结构

下载该10年间的数据后,打开RStdio并导入将趋势检验中将使用的R包。代码如下:

library(sp)
library(raster)
library(rgdal)
library(trend)setwd('E:/CN/NDVI')
fl <- list.files(pattern = '*tif$')
firs <- raster(fl[1])for (i in 1:10) {r <- raster(fl[i])firs <- stack(firs, r)
}fun <- function(y){if(length(na.omit(y)) <10) return(c(NA, NA, NA))   #删除数据不连续含有NA的像元av <- mean(y,na.rm=T)MK_estimate <- sens.slope(ts(na.omit(y), start = 2010, end = 2020, frequency = 1), conf.level = 0.95) #Sen斜率估计slope <- MK_estimate$estimateMK_test <- MK_estimate$p.value
#    Zs <- MK_estimate$statisticreturn(c(av, slope, MK_test))
}e <- calc(firs, fun)   #栅格计算
#e_Zs <- subset(e,1)  #提取Z统计量
e_mean <- subset(e,1) #提取均值图层
e_slope <- subset(e,2)   #提取sen斜率
e_MKtest <- subset(e,3)   #提取p值plot(e_mean)
plot(e_slope)
plot(e_MKtest)writeRaster(e_mean, "E:/CN/NDVI/e_Zs.tif", format="GTiff", overwrite=T)
writeRaster(e_slope, "E:/CN/NDVI/e_slope.tif", format="GTiff", overwrite=T)
writeRaster(e_MKtest, "E:/CN/NDVI/e_MKtest.tif", format="GTiff", overwrite=T)

在这里插入图片描述

图2 2010-2020年间艾比湖地区NDVI均值图层

在这里插入图片描述

图3 R语言运行界面
在这里插入图片描述

图4 p值
在这里插入图片描述

图5 sen斜率
在这里插入图片描述

图6 Z统计量

R语言计算完slope和Z值后,根据这两个结果就可以进行NDVI趋势制图了。

一、变化趋势划分
结合SNDVI和Z统计量划分NDVI变化趋势:
1、slope
-0.0005~0.0005稳定区域
大于或等于0.0005植被改善区域
小于-0.0005为植被退化区域
2、Z统计量

二、Slope划分
置信水平0.05
Z绝对值大于1.96显著
Z绝对值小于等于1.96不显著
Slope被划分为三级:
SNDVI≤−0.0005 植被退化
−0.0005≥SNDVI≥0.0005 植被生长稳定
SNDVI≥0.0005 植被改善
使用重分类(Reclassify)对slope进行划分
由于slope.tif文件研究区范围外的值非空,所以在这里先裁剪了一下
裁剪所用矢量和栅格数据坐标系需要一致,否则范围容易出错
统一使用了WGS84地理坐标系作为空间参考
使用Model builder构建地理处理流
在这里插入图片描述

图7 重分类

三、Slope划分过程
重分类结果:
-1退化
0稳定
1改善
在这里插入图片描述

图8 重分类结果

四、Z值划分
对Z值进行重分类,确定显著性
|Zs|≤0.196 未通过95%置信度检验,不显著
|Zs|≥0.196 通过95%置信度检验,显著
在这里插入图片描述

图9 重分类
五、Z值重分类
重分类结果:
1不显著
2显著
在这里插入图片描述

图10 重分类结果

六、变化趋势计算
使用栅格计算器将Slope和Z值计算结果相乘,最后得到趋势变化划分
-2严重退化
-1轻微退化
0稳定不变
1轻微改善
2明显改善
在这里插入图片描述

图11 栅格计算器相乘
在这里插入图片描述

图12 arcgis计算NDVI趋势图

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

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

相关文章

2024年宜昌市中级职称评定条件能力业绩要求是什么?

1.参与完成 4 项中型以上工程建筑项目的勘察、设计&#xff0c;并通过审查 2.参与完成标准&#xff08;含国家标准、行业标准、地方标准、团体、标准&#xff09;、省级标准设计&#xff0c;参与工法、管理办法、规定、规程细则的编写&#xff0c;并正式发布实施 3.参与完成新技…

Gradle小知识点

subprojects 和 allprojects 的区别&#xff0c; 先给出结论&#xff1a; allprojects是对所有project的配置&#xff0c;包括Root Project&#xff1b; 而subprojects是对所有Child Project的配置。 新建一个test_gradle的文件夹&#xff0c;在文件夹里新建build.gradle和…

文件上传时报413错误

原因&#xff1a;nginx上传文件大小有限制&#xff0c;如果不配置nginx上传文件大小&#xff0c;则上传时会出现 413 (Request Entity Too Large) 异常&#xff08;请求实体过大&#xff09; 解决方案&#xff1a;1、打开nginx主配置文件nginx.conf&#xff0c;找到http{ }&…

go语言(三)----函数

1、函数单变量返回 package mainimport "fmt"func fool(a string,b int) int {fmt.Println("a ",a)fmt.Println("b ",b)c : 100return c}func main() {c : fool("abc",555)fmt.Println("c ",c)}2、函数多变量返回 pack…

PCA富集方法及聚类方法的生物学差异(自备)

对于解析肿瘤中的通路富集情况&#xff0c;我们可以使用PCA方法和聚类方法来评估基因表达谱。下面是对这两种方法的解释以及它们在生物学上的意义。 1. PCA方法&#xff1a; PCA&#xff08;Principal Component Analysis&#xff0c;主成分分析&#xff09;是一种降维技术&…

Shopee商品接口协议

Shopee是一家在线购物平台&#xff0c;提供多种商品的购买和销售服务。它成立于2015年&#xff0c;总部位于新加坡&#xff0c;目前已在东南亚地区和台湾等地开展业务。Shopee主要提供电子产品、家居用品、时尚服装、美妆产品等各类商品&#xff0c;用户可以通过Shopee的手机应…

【知识---c++中的条件运算符说明及使用】

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言条件运算符&#xff08;ternary operator&#xff09;案例总结 前言 max_ind[k * OUTPUT_W j] 100 ? expect[k * OUTPUT_W j] 0 : expect[k * OUTPUT_W …

Pillow 报错module ‘PIL.Image’ has no attribute ‘LINEAR’

错误解决笔记。 原文链接&#xff1a;https://blog.csdn.net/qq_42773230/article/details/132736107 在运行代码期间&#xff0c;遇到了module ‘PIL.Image’ has no attribute ‘LINEAR’&#xff0c; 我安装的Pillow-10.0.2 解决办法&#xff1a;卸载Pillow pip uninst…

表的增删改查CURD(基础)

&#x1f3a5; 个人主页&#xff1a;Dikz12&#x1f525;个人专栏&#xff1a;MySql&#x1f4d5;格言&#xff1a;那些在暗处执拗生长的花&#xff0c;终有一日会馥郁传香欢迎大家&#x1f44d;点赞✍评论⭐收藏 目录 新增&#xff08;Create&#xff09; 全列插入 指定列…

Mybatis框架:入门

目录 一、前言 二、Mybatis基础 1. 下载和安装MyBatis 1.1 下载MyBatis 1.2 解压文件 2. 配置MyBatis的数据源 2.1 引入数据库驱动 2.2 配置数据源信息 3. 配置MyBatis的核心配置文件 3.1 指定映射文件路径 3.2 创建映射文件 三、MyBatis注解编程 1. 注解编程的基…

高校教务系统登录页面JS分析——河北地质大学

高校教务系统密码加密逻辑及JS逆向 本文将介绍高校教务系统的密码加密逻辑以及使用JavaScript进行逆向分析的过程。通过本文&#xff0c;你将了解到密码加密的基本概念、常用加密算法以及如何通过逆向分析来破解密码。 本文仅供交流学习&#xff0c;勿用于非法用途。 一、密码加…

鹅厂有料有趣的程序员交流圈重磅官宣!加入立享福利

号外&#xff01;腾讯云开发者社区重磅上线海量社群&#xff0c;覆盖开发者技术学习交流、工作成长、生活分享等多元场景需求&#xff0c;用最新鲜的内容&#xff0c;最好玩的互动&#xff0c;与你一起共创最有料有趣的技术人交流圈&#xff5e; 最有料有趣交流圈在这里你可以畅…

最近我发现一个好用的al绘画网站,给大家推荐一下

https://geekai.world/auth?typeregister&inviteMTMzNTE 注册时可以填写我的邀请码&#xff1a; MTMzNTE 有惊喜谢谢了&#xff1b;

Git学习笔记(第5章):Git团队协作机制

目录 5.1 团队内协作 5.2 跨团队协作 Git进行版本控制都是在本地库操作的。若想使用Git进行团队协作&#xff0c;就必须借助代码托管中心。 5.1 团队内协作 问题引入&#xff1a;成员1&#xff08;大佬&#xff09;利用Git在宿主机上初始化本地库&#xff0c;完成代码的整体…

thinkphp+vue+mysql大学生心理健康测试分析系统g4i4o

学生心里测试分析系统由管理员和学生、教师交互构成。学生对于本系统的使用&#xff0c;学生可以通过系统注册、登录&#xff0c;修改个人信息&#xff0c;查看交流区、心理测试卷、新闻资讯等功能。 教师对于本系统的使用&#xff0c;教师可以通过系统注册、登录&#xff0c;修…

TS 学习笔录(持续更新中)

TS学习笔录 1、TS 数据类型有哪些&#xff1f;2、元组是什么&#xff1f;3、union&#xff08;联合类型&#xff09;& Literal&#xff08;字面量类型&#xff09;?4、any 和 unknown 的区别&#xff1f;5、Object 对象类型&#xff1f;6、type 、interface 、 class 之间…

2023年全国职业院校技能大赛(高职组)“云计算应用”赛项赛卷6

某企业根据自身业务需求&#xff0c;实施数字化转型&#xff0c;规划和建设数字化平台&#xff0c;平台聚焦“DevOps开发运维一体化”和“数据驱动产品开发”&#xff0c;拟采用开源OpenStack搭建企业内部私有云平台&#xff0c;开源Kubernetes搭建云原生服务平台&#xff0c;选…

人工智能之卷积神经网络(CNN)

前言&#xff1a;今天我们重点探讨一下卷积神经网络(CNN)算法。 _ 20世纪60年代&#xff0c;Hubel和Wiesel在研究猫脑皮层中用于局部敏感和方向选择的神经元时发现其独特的网络结构可以有效地降低反馈神经网络的复杂性&#xff0c;继而提出了卷积神经网络CNN&#xff08;Convo…

【MySQL】权限管理和访问控制

权限管理和访问控制 1、MySQL如何控制用户对数据库的访问&#xff1f; MySQL服务器通过权限表来控制用户对数据库的访问&#xff0c;权限表存放在MySQL数据库中。MySQL数据库系统根据这些权限表的内容来为每个用户赋予权限。其中有user表、db表、table_priv表、column_priv表…

大模型学习与实践笔记(九)

一、LMDeply方式部署 使用 LMDeploy 以本地对话方式部署 InternLM-Chat-7B 模型&#xff0c;生成 300 字的小故事 2.api 方式部署 运行 结果&#xff1a; 显存占用&#xff1a; 二、报错与解决方案 在使用命令&#xff0c;对lmdeploy 进行源码安装是时&#xff0c;报错 1.源…