GEE 案例:利用2001-2024年的MODIS数据长时序ndvi指数归一化后的结果分析

目录

简介

指数

数据

代码

结果


简介

利用2001-2024年的MODIS数据长时序ndvi指数归一化后的结果分析,并加载时序图。

指数

NDVI指数(Normalized Difference Vegetation Index)是用来评估地表植被覆盖度和健康程度的指数。它通过计算红光和近红外光反射率的差异来衡量植被的光合作用活性和生长状况。NDVI值范围从-1到1,较高的值表示较高的植被覆盖度和健康程度。

VCI指数(Vegetation Condition Index)是衡量植被状况的指数。它是基于NDVI指数计算得出的,用来表征植被的生长和状况。VCI指数通常表达为百分比形式,数值越高表示植被状况越好,数值越低表示植被状况越差。

VCI指数是根据NDVI的变化来计算的,通常将一段时间(如一年)内的NDVI数据与长期平均值进行比较,得出植被状况指数。在农业和生态环境监测中,VCI指数被用来评估植被的退化状况、旱情监测以及预测植被的生长情况。

总的来说,NDVI指数用来衡量植被覆盖程度和健康程度,而VCI指数则是根据NDVI的变化计算得出的,用来评估植被的生长和状况。

数据

MODIS/061/MOD13A2数据是来自于MODIS(Moderate Resolution Imaging Spectroradiometer)遥感传感器的产品之一。MODIS是美国国家航空航天局(NASA)和美国国家环境信息中心(NEIC)联合研发的一款具有高空间分辨率和全球覆盖能力的遥感传感器。

MOD13A2数据是基于MODIS传感器观测到的地表植被指数(Vegetation Index,VI)数据集。它提供了有关地表植被覆盖度和健康状况的信息。MOD13A2数据的空间分辨率为500米,时间分辨率为16天。数据包括以下几个主要的植被指数:

  1. 植被指数(Vegetation Index,VI):包括了常用的NDVI(Normalized Difference Vegetation Index)、EVI(Enhanced Vegetation Index)等。这些指数用于评估植被的光合活性和健康状况,反映了地表植被的覆盖度和生长状态。

  2. 植被覆盖度(Fractional Vegetation Cover,FVC):表示地表被植被覆盖的比例,可用于监测植被覆盖变化和评估土地利用。

  3. 植被生长指标(Vegetation Growth Index,VGI):用于评估地表植被的生长情况,根据植被指数的变化来反映植被的生长速率和季节变化。

MOD13A2数据的应用广泛,包括农业监测、水资源管理、气候变化研究、生态环境监测等。通过分析MOD13A2数据,可以获得关于地表植被的信息,为决策制定和资源管理提供科学依据。

代码


var feature = ee.FeatureCollection("FAO/GAUL/2015/level0")var point = /* color: #98ff00 */ee.Geometry.Point([-89.8212566433932, 40.15005408150289]);var roi = feature.filterBounds(point);Map.centerObject(roi)
Map.addLayer(roi)// define start and end timevar time_start = '2001', time_end = '2003'// call modis ndvi images var ndvi = ee.ImageCollection("MODIS/061/MOD13A2")
.select(['NDVI'])
.filterDate(time_start, time_end);// clculate the vci
// vegetation condition index
// vci = ((ndvi - min)/(max - min)) * 100var ndvi_min = ndvi.min().multiply(0.0001);
var ndvi_max = ndvi.max().multiply(0.0001);var vci = ndvi.map(function(img){var band = img.multiply(0.0001);var index = band.expression('((ndvi - min)/(max - min))*100.0',{'ndvi': band, 'min': ndvi_min, 'max': ndvi_max}).rename('vci');return index.copyProperties(img, ['system:time_start','system:time_end'])});// drought mapping using vcivar vci_median = vci.median();Map.addLayer(vci_median.clip(roi),[],'vci_median',false)// histogramprint(ui.Chart.image.histogram(vci_median, roi, 1000))// vci classification// making a constant image var cons = ee.Image.constant(0);// define classesvar extreme = cons.where(vci_median.gte(0).and(vci_median.lt(10)), 1);
var severe = extreme.where(vci_median.gte(10).and(vci_median.lt(20)), 2);
var moderate = severe.where(vci_median.gte(20).and(vci_median.lt(30)), 3);
var light = moderate.where(vci_median.gte(30).and(vci_median.lt(40)), 4);
var no1 = light.where(vci_median.gte(40).and(vci_median.lt(60)), 5);
var no2 = no1.where(vci_median.gte(60).and(vci_median.lt(80)), 6);
var no3 = no2.where(vci_median.gte(80), 7);Map.addLayer(moderate.clip(roi),{min:1, max: 7},'drought_map',false)// vci classification for each datevar time_start = '2001', time_end = '2024'var ndvi2 = ee.ImageCollection("MODIS/061/MOD13A2")
.select(['NDVI'])
.filterDate(time_start, time_end);var ndvi_min2 = ndvi2.min().multiply(0.0001);
var ndvi_max2 = ndvi2.max().multiply(0.0001);var vci2 = ndvi2.map(function(img){var band = img.multiply(0.0001);var index = band.expression('((ndvi - min)/(max - min))*100.0',{'ndvi': band, 'min': ndvi_min2, 'max': ndvi_max2}).rename('vci');return index.copyProperties(img, ['system:time_start','system:time_end'])});var vci_class = vci2.map(function(img){var cons = ee.Image.constant(0);var extreme = cons.where(vci_median.gte(0).and(vci_median.lt(10)), 1);var severe = extreme.where(vci_median.gte(10).and(vci_median.lt(20)), 2);var moderate = severe.where(vci_median.gte(20).and(vci_median.lt(30)), 3);var light = moderate.where(vci_median.gte(30).and(vci_median.lt(40)), 4);var no1 = light.where(vci_median.gte(40).and(vci_median.lt(60)), 5);var no2 = no1.where(vci_median.gte(60).and(vci_median.lt(80)), 6);var no3 = no2.where(vci_median.gte(80), 7);return no3.copyProperties(img, img.propertyNames())});var vci_map = vci_class.mode();Map.addLayer(vci_map.clip(roi),{palette: ['black','brown','red','orange','yellow', 'lightgreen','darkgreen'],min: 1, max: 7},'vci_mode', false)Export.image.toDrive({image: vci_map.clip(roi),description: 'vci_map',region: roi,maxPixels: 1e13,crs: 'EPSG:4326',folder: 'drought',scale: 1000})// drought area calculationvar drought_area = (ee.Image.pixelArea().divide(1e6)).addBands(vci_map);print(ui.Chart.image.byClass(drought_area, 'constant', roi, ee.Reducer.sum(), 1000, ['nan','extreme drought','severe drought','moderate drought','light drought','no drought1','nodrought2','no drought3']))

结果

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

PMP--一模--解题--121-130

文章目录 12.采购管理--投标人会议(又称承包商会议、供应商会议或投标前会议)是在卖方提交建议书之前,在买方和潜在卖方之间召开的会议,其目的是确保所有潜在投标人对采购要求都有清楚且一致的理解,并确保没有任何投标…

【数据结构取经之路】图解AVL树

目录 AVL树的前世今生 走进AVL AVL树的实现 1、AVL树节点的定义 2、AVL树的插入 3、完整代码 AVL树的性能 AVL树的前世今生 我们知道,普通的二叉搜索树在不少场景下可以提高我们的查找效率。例如下面这种情况,我们要找22。从根开始,…

搭建一个基于角色的权限验证框架

说明:基于角色的权限验证(Role-Based Access Control,RBAC)框架,是目前大多数服务端的框架。本文介绍如何快速搭建一个这样的框架,不用Shiro、Spring Security、Sa-Token这样的“大框架”实现。 RBAC 基于…

[Meachines] [Medium] Bart Server Monitor+Internal Chat+UA投毒+Winlogon用户密码泄露权限提升

信息收集 IP AddressOpening Ports10.10.10.81TCP:80 $ nmap -p- 10.10.10.81 --min-rate 1000 -sC -sV PORT STATE SERVICE VERSION 80/tcp open http Microsoft IIS httpd 10.0 | http-methods: |_ Potentially risky methods: TRACE |_http-server-header: Micros…

在沉浸式翻译中使用SiliconCloud API:提升翻译体验

沉浸式翻译,作为广受好评的双语对照网页翻译插件,结合了硅基流动(SiliconFlow)的大语言模型,为用户提供了快速、准确的跨语言翻译服务。自2023年上线以来,这款AI双语对照网页翻译扩展已帮助超过100万用户跨…

【C++11 —— 异常】

C —— 异常 C语言传统的处理错误的方式C异常概念异常的使用异常的抛出和捕获异常的重新抛出异常安全异常规范 自定义异常体系自定义异常体系的目的 C标准库的异常体系异常的优缺点 C语言传统的处理错误的方式 在C语言中,错误处理通常依赖于返回值和全局变量的方式…

【程序人生】《把时间当做朋友》李笑来思维导图

李笑来,男,朝鲜族,1972年7月12日生,吉林人,畅销书作家、区块链专家、天使投资人。 INBlockchain硬币资本创始人,投资了区块链项目。曾在央视采访中自曝拥有六位数比特币。 出版发行《把时间当做朋友》 [9]、…

LAMP环境搭建记录:基于VM的Ubuntu虚拟机

LAMP环境搭建记录:基于VM的Ubuntu虚拟机 我们从这样的角度出发: 一、简述LAMP环境 二、搭建LAMP环境 一、什么是LAMP环境 首先,该词是复合: ​ LAMP Linux Apache MySQL PHP 其中,逐项简述为: …

代码随想录算法训练营第57天|卡码网 53. 寻宝 prim算法精讲和kruskal算法精讲

1. prim算法精讲 题目链接:https://kamacoder.com/problempage.php?pid1053 文章链接:https://www.programmercarl.com/kamacoder/0053.寻宝-prim.html prim算法 是从节点的角度 采用贪心的策略 每次寻找距离 最小生成树最近的节点 并加入到最小生成树中…

MoCo和SimCLR【CV双雄】

文章目录 文章列表五、MoCo V15.1 文章摘要5.2 实验结果5.3 文章图示图 1: Momentum Contrast (MoCo) 训练方法概述图 2: 三种对比损失机制的比较 六、SimCLR V16.1 文章摘要6.2 文章实验6.3 文章图示图 1: ImageNet Top-1 Accuracy of Linear Classifiers图 2: 对比学习框架图…

MySQL日志binlog和redo log区别

MySQL binlog简介 MySQL中有两类日志:binlog和redo log,分别有不同的作用和解决问题。binlog是归档日志,在MySQL server层的日志,适用于所有存储引擎,redo log是innodb特有日志用于crash-safe时恢复数据。 binlog和r…

【C++】—— list 模拟实现

【C】—— list 模拟实现 1 list 基础结构2 默认构造3 迭代器3.1 整体框架3.2 成员函数3.3 begin() 与 end() 的实现3.4 operator-> 的实现3.5 const 迭代器3.5.1 const 迭代器为什么命名 const_iterator3.5.2 const 迭代器的实现3.5.3 合并两个迭代器 4 源码 1 list 基础结…

【C++前后缀分解】1653. 使字符串平衡的最少删除次数|1793

前后缀分解 C前后缀分解 LeetCode1653. 使字符串平衡的最少删除次数 给你一个字符串 s &#xff0c;它仅包含字符 ‘a’ 和 b’​​​​ 。 你可以删除 s 中任意数目的字符&#xff0c;使得 s 平衡 。当不存在下标对 (i,j) 满足 i < j &#xff0c;且 s[i] ‘b’ 的同时…

软考中项(第三版):项目质量管理总结

前言 系统集成项目管理工程师考试&#xff08;简称软考中项&#xff09;&#xff0c;其中案例分析也是很大一部分考试内容&#xff0c;目前正在学习中&#xff0c;现总结一些可能会考到的知识点供大家参考。 1.1、项目质量管理总线索 1、质量管理的发展史 &#xff08;1&…

创建一个Java项目并在项目中新建文件,最后实现程序简单的输出

目录 前言 一、建立项目及新建Java类 二、输入简单代码实现输出 前言 1.本文所讲的是java程序设计语言&#xff0c;其内容是如何在id中新建一个项目&#xff0c;并新建一个Java文件&#xff0c;在其内输入相关代码并对其输出&#xff1b; 2.Java文件的编写以收入到我的专栏…

JDBC实现对单表数据增、删、改、查

文章目录 API介绍获取 Statement 对象Statement的API介绍使用步骤案例代码 JDBC实现对单表数据查询ResultSet的原理ResultSet获取数据的API使用JDBC查询数据库中的数据的步骤案例代码 API介绍 获取 Statement 对象 在java.sql.Connection接口中有如下方法获取到Statement对象…

IM系统完结了,那简历该怎么写?(含简历项目描述)

作者&#xff1a;冰河 星球&#xff1a;http://m6z.cn/6aeFbs 博客&#xff1a;https://binghe.gitcode.host 文章汇总&#xff1a;https://binghe.gitcode.host/md/all/all.html 星球项目地址&#xff1a;https://binghe.gitcode.host/md/zsxq/introduce.html 沉淀&#xff0c…

开放式耳机排行榜前十名?分享四款高性价比的开放式蓝牙耳机

开放式耳机并不一定要选价格贵的才好&#xff0c;而是应该按照个人需求来选择合适的开放式耳机产品&#xff0c;适合自己的才是最好。而且开放式耳机的价格区间也很广&#xff0c;从几十元到上千元不等&#xff0c;在每个价位区间里都有属于每个价位区间的高性价比耳机。选择耳…

RusTitW:大规模语言视觉文本识别数据集(猫脸码客 第190期)

RusTitW: Russian Language Visual Text Recognition 一、引言 在信息爆炸的现代社会&#xff0c;文本作为信息传递的重要载体&#xff0c;扮演着不可或缺的角色。随着计算机视觉与模式识别技术的飞速发展&#xff0c;自动化文本识别&#xff08;OCR, Optical Character Reco…

【LabVIEW学习篇 - 25】:JKI状态机

文章目录 JKI状态机JKI状态机安装JKI状态机的基本了解状态机的运行原理示例 JKI状态机 JKI状态机的核心就是队列消息状态机用户事件处理器模式&#xff0c;JKI状态机采用指定格式的字符串来描述状态。 JKI状态机并没有采用队列而是采用指定的字符串进行存储&#xff0c;它封装…