GEE 案例:利用sentinel-2数据计算的NDVI指数对比植被退化情况

news2024/11/14 13:54:36

目录

简介

NDVI指数

数据

函数

ui.Chart.image.series(imageCollection, region, reducer, scale, xProperty)

Arguments:

Returns: ui.Chart

代码

结果


简介

利用sentinel-2数据计算的NDVI指数对比植被退化情况

NDVI指数

NDVI(Normalized Difference Vegetation Index,归一化植被指数)是通过计算红外波段和可见光波段的反射值之间的差异来评估植被的状况。利用NDVI指数可以监测植被的退化情况。

植被退化指的是植被由于外界因素(如气候变化、土地利用变化、人为活动等)导致的健康状况恶化,包括植被生长减缓、植被凋落、植被数量减少等。

利用NDVI指数监测植被退化的步骤如下:

  1. 收集遥感数据:利用遥感技术获取适当的遥感数据,包括可见光和红外波段的反射值数据。

  2. 计算NDVI指数:使用以下公式计算NDVI指数:NDVI = (NIR - Red) / (NIR + Red),其中NIR代表红外波段的反射值,Red代表可见光波段的反射值。

  3. 分析NDVI图像:将计算得到的NDVI指数数据转化成图像,通过观察图像中不同区域的NDVI值,可以评估该区域的植被状况。

  4. 对比分析:将监测期的NDVI图像与历史数据进行对比,可以发现植被退化的迹象。如果当前的NDVI值较低,且较之前的数据有显著下降,说明该区域植被退化程度较高。

  5. 确认植被退化原因:通过对退化区域进行实地调查或者结合其他环境数据,可以确定植被退化的原因,为进一步的植被恢复提供依据。

利用NDVI指数监测植被退化可以及时发现退化现象,并采取相应的措施进行修复,保护生态环境。

数据

哨兵2号(Sentinel-2)是一颗由欧空局(European Space Agency)和欧盟委员会合作发射的地球观测卫星。哨兵2号搭载了多光谱成像仪(Multispectral Imager,MSI),能够以高分辨率获取红外、可见光和近红外波段的影像数据。该卫星具有全球覆盖、高重复频率和较高空间分辨率等特点,可用于植被监测、土地利用/覆盖变化监测、水体监测等应用。

基于哨兵2号影像进行NDVI计算的步骤如下:

  1. 获取哨兵2号影像数据:可以通过欧空局的数据存档或其他相关数据提供商获取哨兵2号影像数据。这些数据通常以每个波段的辐射校正反射率值的形式提供。

  2. 选择红外波段和可见光波段:哨兵2号影像提供了多个波段的数据,应选择红外波段和可见光波段用于NDVI计算。一般而言,红外波段对应的波长范围为0.73-0.94微米,可见光波段对应的波长范围为0.49-0.67微米。

  3. 计算NDVI指数:根据所选的红外和可见光波段数据,使用以下公式计算NDVI指数:NDVI = (NIR - Red) / (NIR + Red),其中NIR代表红外波段的反射率值,Red代表可见光波段的反射率值。这个计算过程可以针对每个像素进行执行。

  4. 可视化NDVI图像:将每个像素计算得到的NDVI值转化为图像,可以使用不同颜色表示不同的NDVI值范围。一般而言,绿色表示较高的NDVI值,表示较好的植被生长状况,红色表示较低的NDVI值,表示较差的植被生长状况。

基于哨兵2号影像进行NDVI计算可以获得高分辨率的植被指数图像,从而对植被的健康状况和退化情况进行定量和定性的评估。这有助于实时监测植被的变化,了解植被退化的程度,并采取适当的措施进行保护和恢复。

函数

ui.Chart.image.series(imageCollection, region, reducerscalexProperty)

Generates a Chart from an ImageCollection. Plots derived values of each band in a region across images. Usually a time series.

  • X-axis: Image, labeled by xProperty value.

  • Y-axis: Band value.

  • Series: Band names.

Returns a chart.

Arguments:

imageCollection (ImageCollection):

An ImageCollection with data to be included in the chart.

region (Feature|FeatureCollection|Geometry):

The region to reduce.

reducer (Reducer, optional):

Reducer that generates the values for the y-axis. Must return a single value. Defaults to ee.Reducer.mean().

scale (Number, optional):

Scale to use with the reducer in meters.

xProperty (String, optional):

Property to be used as the label for each image on the x-axis. Defaults to 'system:time_start'.

Returns: ui.Chart

代码

var cor = [
  [24.664959178687543,64.99123253965863],
  [24.66427253317973,64.99087875350403],
  [24.66504500937602,64.98997612402353],
  [24.664948449851483,64.98982643880142],
  [24.665688739539593,64.98954974572945],
  [24.666203723670453,64.98957242559722],
  [24.666203723670453,64.98957242559722],
  [24.66606424880168,64.99008498547678],
  [24.664959178687543,64.99123253965863]
  ]
  
var geometry = ee.Geometry.Polygon(cor)

Map.centerObject(geometry)

var sen = ee.ImageCollection("COPERNICUS/S2_SR_HARMONIZED")
.filterBounds(geometry)
.filterDate('2017','2024')
.filter(ee.Filter.calendarRange(6,9,'month'))
.filter(ee.Filter.lt('CLOUDY_PIXEL_PERCENTAGE',10))
.map(function(img){
  var bands = img.select('B.*').multiply(0.0001)
  var ndvi = bands.normalizedDifference(['B8','B4']).rename('ndvi')
  return ndvi
  .copyProperties(img, ['system:time_start', 'system:time_end'])
  });

print(
  ui.Chart.image.series(sen, geometry, ee.Reducer.median(), 10, 'system:time_start')
  .setChartType('ColumnChart')
  )
  
var before = sen.filterDate('2018','2019').median().rename('before')
var after = sen.filterDate('2023', '2024').median().rename('after')

Map.addLayer(before.clip(geometry),[],'before',false)
Map.addLayer(after.clip(geometry),[],'after',false)

print(
  ui.Chart.image.histogram(before, geometry, 10)
  .setOptions({
    title: 'before'
    })
  )
  
print(
  ui.Chart.image.histogram(after, geometry, 10)
  .setOptions({
    title: 'after'
    })
  )


var tree_area = sen.map(function(img){
  var thr = img.gt(0.5);
  var mask = thr.updateMask(thr);
  var area = mask.multiply(ee.Image.pixelArea())
  return area
  .copyProperties(img, img.propertyNames())
  });

print(
  ui.Chart.image.series(tree_area, geometry, ee.Reducer.sum(),
  10, 'system:time_start').setChartType('ColumnChart')
  )

结果

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

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

相关文章

武器检测系统源码分享

武器检测检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Computer Vision …

压力测试Monkey命令参数和报告分析!

adb的操作命令格式一般为&#xff1a;adb shell monkey 命令参数 PART 01 常用参数 ⏩ -p <测试的包名列表> 用于约束限制&#xff0c;用此参数指定一个或多个包。指定包之后&#xff0c;Monkey将只允许系统启动指定的APP。如果不指定包&#xff0c;Monkey将允许系统…

【JVM】垃圾回收机制|死亡对象的判断算法|垃圾回收算法

思维导图 目录 1.找到谁是垃圾 1&#xff09;引用计数&#xff08;不是JVM采取的方式&#xff0c;而是Python/PHP的方案&#xff09; 2&#xff09;可达性分析&#xff08;是JVM采用的方案&#xff09; 2.释放对应的内存的策略 1&#xff09;标记-清除&#xff08;并不实…

信息安全数学基础(18)模重复平方计算法

前言 模重复平方计算法&#xff08;Modular Exponentiation by Squaring&#xff09;&#xff0c;也称为快速幂算法&#xff0c;是一种用于高效计算 abmodn 的算法&#xff0c;其中 a、b 和 n 是整数&#xff0c;且 b 可能非常大。这种算法通过减少乘法操作的次数来加速计算过程…

伦敦金的交易差价意味着什么?

在伦敦金投资市场上&#xff0c;点差是指交易平台的买入价&#xff08;买价&#xff09;和卖出价&#xff08;卖价&#xff09;之间的差额。对投资者来说&#xff0c;点差是交易成本的一部分&#xff0c;但它是经纪商的收入来源。点差代表伦敦金投资者在进入和退出交易时需要支…

Python 入门教程(4)数据类型 | 4.5、字符串类型

文章目录 一、字符串类型1、字符串的定义2、字符串索引3、字符串的基本操作4、字符串的编码5、字符串的不可变性6、总结 前言&#xff1a; 在Python中&#xff0c;字符串&#xff08;String&#xff09;是一种非常重要的数据类型&#xff0c;用于表示和存储文本信息。Python的字…

我的AI工具箱Tauri版-VideoIntroductionClipCut视频介绍混剪

本教程基于自研的AI工具箱Tauri版进行VideoIntroductionClipCut视频介绍混剪。 进入软件后可以直接搜索 VideoIntroductionClipCut 或者依次点击 Python音频技术/视频tools 进入该模块。 视频样片《Tara音乐介绍》 《我的AI工具箱Tauri版-VideoIntroductionClipCut视频介绍混…

excel VBA进行间比法设计

在品比试验大家多使用间比法试验设计&#xff0c;这里通过excel VBA实现间比法设计&#xff0c;代码如下&#xff1a; Sub 生成试验设计()Dim ws As Worksheet Dim rng As Range, rng2 As Range, rng3 As Range Dim cell As Range, lastcell As Range Dim rd As String, sn As…

SpringBootWeb增删改查入门案例

前言 为了快速入门一个SpringBootWeb项目&#xff0c;这里就将基础的增删改查的案例进行总结&#xff0c;作为对SpringBootMybatis的基础用法的一个巩固。 准备工作 需求说明 对员工表进行增删改查操作环境搭建 准备数据表 -- 员工管理(带约束) create table emp (id int …

论文阅读 | 基于流模型和可逆噪声层的鲁棒水印框架(AAAI 2023)

Flow-based Robust Watermarking with Invertible Noise Layer for Black-box DistortionsAAAI, 2023&#xff0c;新加坡国立大学&中国科学技术大学本论文提出一种基于流的鲁棒数字水印框架&#xff0c;该框架采用了可逆噪声层来抵御黑盒失真。 一、问题 基于深度神经网络…

spring boot admin集成,springboot2.x集成监控

服务端&#xff1a; 1. 新建monitor服务 pom依赖 <!-- 注意这些只是pom的核心东西&#xff0c;不是完整的pom.xml内容&#xff0c;不能直接使用&#xff0c;仅供参考使用 --><packaging>jar</packaging><dependencies><dependency><groupId&g…

STM32 芯片启动过程

目录 一、前言二、STM32 的启动模式三、STM32 启动文件分析1、栈 Stack2、堆 Heap3、中断向量表 Vectors3.1 中断响应流程 4、复位程序 Reset_Handler5、中断服务函数6、用户堆栈初始化 四、STM32 启动流程分析1、初始化 SP、PC 及中断向量表2、设置系统时钟3、初始化堆栈并进入…

【Linux】POSIX信号量与、基于环形队列实现的生产者消费者模型

目录 一、POSIX信号量概述 信号量的基本概念 信号量在临界区的作用 与互斥锁的比较 信号量的原理 信号量的优势 二、信号量的操作 1、初始化信号量&#xff1a;sem_init 2、信号量申请&#xff08;P操作&#xff09;&#xff1a;sem_wait 3、信号量的释放&#xff08…

树——数据结构

这次我来给大家讲解一下数据结构中的树 1. 树的概念 树是一种非线性的数据结构&#xff0c;它是由n(n>0&#xff09;个有限结点组成一个具有层次关系的集合。 叫做树的原因&#xff1a;看起来像一棵倒挂的树&#xff0c;根朝上&#xff0c;叶朝下。 特殊结点&#xff1a…

Vim编辑器常用命令

目录 一、命令模式快捷键 二、编辑/输入模式快捷键 三、编辑模式切换到命令模式 四、搜索命令 一、命令模式快捷键 二、编辑/输入模式快捷键 三、编辑模式切换到命令模式 四、搜索命令

深圳铨顺宏科技展邀您体验前沿人工智能技术

我们诚挚地邀请您参加即将举行的展会&#xff0c;探索RFID技术在资产与人员管理中的广泛应用。这些展会将为您提供一个深入了解前沿技术和创新解决方案的机会。 东莞台湾名品博览会&#xff08;东莞台博会&#xff09;展会时间&#xff1a;9月5日至8日。此次展会展示了来自台湾…

路由器全局配置DHCP实验简述

一、路由器配置 reset saved-configuration Warning: The action will delete the saved configuration in the device. The configuration will be erased to reconfigure. Continue? [Y/N]:y Warning: Now clearing the configuration in the device. Info: Succeeded in c…

如何配置 Apache 反向代理服务器 ?

将 Apache 配置为反向代理意味着将 Apache 设置为侦听和引导 web 流量到后端服务器或服务。这有助于管理和平衡服务器上的负载&#xff0c;提高安全性&#xff0c;并使您的 web 服务更高效。您还可以将其设置为监听标准 HTTP 和 HTTPS 端口上的请求&#xff0c;并将其重定向到运…

基于Leaflet和天地图的直箭头标绘实战-源码分析

目录 前言 一、Leaflet的特种标绘库 1、特种标绘对象的定义 2、Plot基类定义 3、直线箭头的设计与实现 二、在天地图中进行对象绘制 1、引入天地图资源 2、标绘对象的调用时序 3、实际调用过程 三、总结 前言 在博客中介绍过geoman标绘的具体实现&#xff0c;使用Leaf…

Linux驱动开发 ——架构体系

只读存储器&#xff08;ROM&#xff09; 1.作用 这是一种非易失性存储器&#xff0c;用于永久存储数据和程序。与随机存取存储器&#xff08;RAM&#xff09;不同&#xff0c;ROM中的数据在断电后不会丢失&#xff0c;通常用于存储固件和系统启动程序。它的内容在制造时或通过…