GEEer成长日记十四:选取随机点研究不同年份的时间序列及截距变化-以NDVI为例

更多精彩内容请关注微信公众号:GEEer成长日记

  今天小编带大家感受一下NDVI在同一区域不同年份的变化,直观感受其增减情况~我们使用Modis的产品,这样计算更加便捷。

MODIS/006/MOD13Q1

  先看看官方介绍:The MOD13Q1 V6 product provides a Vegetation Index (VI) value at a per pixel basis. There are two primary vegetation layers. The first is the Normalized Difference Vegetation Index (NDVI) which is referred to as the continuity index to the existing National Oceanic and Atmospheric Administration-Advanced Very High Resolution Radiometer (NOAA-AVHRR) derived NDVI. The second vegetation layer is the Enhanced Vegetation Index (EVI) that minimizes canopy background variations and maintains sensitivity over dense vegetation conditions. The EVI also uses the blue band to remove residual atmosphere contamination caused by smoke and sub-pixel thin cloud clouds. The MODIS NDVI and EVI products are computed from atmospherically corrected bi-directional surface reflectances that have been masked for water, clouds, heavy aerosols, and cloud shadows.

  分辨率:250m

  我们在之前介绍时间序列的时候已经介绍了这款产品,因此这次就不过多赘述了,直接进入正题。我们在实际工作中经常会遇到时间序列的分析,然而相同区域的变化往往需要在本地计算,获得差值进行分析。今天呢,我们就介绍如何在GEE进行差值分析并可视化,而且是针对随机点的研究。

一、选取数据集和起始点

//在此我们创建一个起始点做研究
//如果有精确坐标,也可以改变坐标位置,很方便
//今天我们介绍第二三季度的NDVI时间序列并判断同一位置其增减状况
var initialPoint = ee.Geometry.Point(116.33, 40.00);
Map.centerObject(initialPoint,7)
var collectionNDVI = ee.ImageCollection('MODIS/006/MOD13Q1')
  .filterDate('2019-04-01','2020-09-30').filter(ee.Filter.calendarRange(90, 270, 'day_of_year'))
  .map(function(img){
  var date = img.get('system:time_start');
  return img.multiply(0.0001).set('system:time_start', date);
})
  .select('NDVI');

var collection2019 = ee.ImageCollection('MODIS/006/MOD13Q1')
  .filterDate('2019-04-01','2019-09-30')
  .map(function(img){
  var date = img.get('system:time_start');
  return img.multiply(0.0001).set('system:time_start', date);
})
  .select('NDVI');
  
  var collection2020 = ee.ImageCollection('MODIS/006/MOD13Q1')
  .filterDate('2020-04-01','2020-09-30')
  .map(function(img){
  var date = img.get('system:time_start');
  return img.multiply(0.0001).set('system:time_start', date);
})
  .select('NDVI');

 二、设置调色板并可视化图层

var NDVI_max = 1;
var NDVI_min = -1;
var NDVI_viz = {
  min: NDVI_min,
  max: NDVI_max,
  opacity: 0.5,
  palette: ['FFFFFF', 'CE7E45', 'DF923D', 'F1B555', 'FCD163', '99B718', '74A901',
    '66A000', '529400', '3E8601', '207401', '056201', '004C00', '023B01',
    '012E01', '011D01', '011301']
};

var NDVI_diffviz = {
  min: -0.2,
  max: 0.2,
  opacity: 0.5,
  palette: ['blue','yellow','red']
};


var composite2019 = collection2019.mean().visualize(NDVI_viz);
var composite2020 = collection2020.mean().visualize(NDVI_viz);
var diff = ((collection2019.mean()).subtract(collection2020.mean())).visualize(NDVI_diffviz);


// Create the main map and set the collectionNDVI layer.
var mapPanel = ui.Map();
var layers = mapPanel.layers();
layers.add(composite2019, 'NDVI Avg Jul-Sep 2019',0);
layers.add(composite2019, 'NDVI Avg Jul-Sep 2019',0);
layers.add(diff, 'difference',0);

 三、创建UI界面,设置参数

  内容较多,大家在文末获取code认真研究吧。具体界面的样子:

   在图上随便单击任何地方,都可以生成这个点的时间序列,而且,通过计算已经生成了下图。大家通过调色板的信息也可以看出,计算方法是2019年的NDVI减去2020年的NDVI。红色代表NDVI较前一年降低的区域,而蓝色则代表NDVI较前一年升高的区域。非常直观!

  本期我们介绍了在GEE单击地图生成随机点的方法,并且利用差值计算,可视化NDVI在2019和2020年第二三季度的变化情况。具体代码大家可以在公众号回复:010701获取。如果在使用中遇到问题,欢迎留言。

参考博客:

https://washways.users.earthengine.app

  • 2
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值