GEEer成长日记二:Modis_NDVI逐日和逐月时间序列分析

  可能很多人GEE最基础的研究可能是从NDVI开始的,今天小编将为大家介绍两种常用的Modis的NDVI产品,并以广东省为例,分析2020年的时间序列。后期我们会带大家研究Landsat系列和Sentinel-2在NDVI时间序列方面的研究。

  话不多说,上货了!

一、MODIS/006/MYD13Q1

  先看看官方介绍:MYD13Q1 V6 产品以每个像素为基础提供植被指数 (VI) 值。有两个主要植被层。第一个是归一化差异植被指数 (NDVI),它被称为现有国家海洋和大气管理局高分辨率辐射计 (NOAA-AVHRR) 衍生的 NDVI 的连续性指数。第二个植被层是增强型植被指数 (EVI),可最大限度地减少冠层背景变化并保持对茂密植被条件的敏感性。EVI 还使用蓝色波段去除由烟雾和亚像素薄云造成的残留大气污染。MODIS NDVI 和 EVI 产品是根据大气校正的双向表面反射率计算得出的,这些反射率已被水、云、重气溶胶和云阴影掩盖。

  分辨率:250m。

  时间范围:2002-07-04T00:00:00-现在

  波段介绍:

  既然是16天产品,我们在此就先介绍一下2020年它的时间序列吧!

  首先需要调用这个数据集,并选取NDVI波段

// 公众号:GEEer成长日记
var geometry = ee.FeatureCollection('users/ZhengkunWang/guangdongsheng')
Map.centerObject(geometry,6) 
//选取影像集
var collection = ee.ImageCollection("MODIS/006/MYD13Q1")
                   .filterDate('2020-01-01', '2020-12-31');
print(collection)//方便看看这一年有多少副影像
//选择波段 NDVI
var ndvi = collection.select("NDVI");
//换算单位。这里插一嘴,好多影像的波段都有scale一说,
//是因为他们要将影像的值变换到整型,降低存储量
//我不是最后一个知道的吧?!!!
var multiply = function(image){ 
 // multply image  
 var img = image.multiply(0.0001);  
 return img.set('system:time_start',image.get('system:time_start')) ;
 };
 ndvi = ndvi.map(multiply);
 //设置调色板并展示影像
 var colorizedVis = {  min: 0.0,  max: 1.0,  palette: [  
   'FFFFFF', 'CE7E45', 'DF923D', 'F1B555', 'FCD163', '99B718', '74A901', 
      '66A000', '529400', '3E8601', '207401', '056201', '004C00', '023B01',  
        '012E01', '011D01', '011301'  ],};
Map.addLayer(ndvi.median().clip(geometry), colorizedVis, 'NDVI');

 结果如图:

 既然是16天影像,那我们看看它一年的时间序列:

   第一个产品就展示到这里,代码可以直接复制去演示一遍,这个这线图可以导出CSV。

二、MODIS/MOD09GA_006_NDVI

  继续看看官方介绍:别看了,就一行字,没意思,上图吧。

  补充一下下:它的分辨率好像是500m,小编查到是这样,如有差错,还请大家批评指正!

  为了省事,我们接着上面的内容继续操作:


//老样子,还是先加载影像
var dailyNDVI = ee.ImageCollection("MODIS/MOD09GA_006_NDVI")
                     .filterDate('2020-01-01', '2020-12-31')
                     .select('NDVI');
print(dailyNDVI)//看看一年有多少副影像
Map.addLayer(dailyNDVI.mean().clip(geometry), colorizedVis, 'dailyNDVI');
print(ui.Chart.image.series(dailyNDVI, geometry, ee.Reducer.mean(), 1000));
//为了省时省力,码字太累了。所以这边统计的时候像素大小选择为1000,大家可以自行调整

emmm,看到这幅图的时候,小编背后一凉,难道是?

 再看看时间序列,结果是酱紫:

  一看365,多的就不说了,dddd!

  做到这里,小编觉得不太够,有时候我们也不需要每天的曲线,对吧?还是月平均更实用一点点。那么?安排!

代码是酱紫的:


//先筛选我们研究的时间范围
var years = ee.List.sequence(2020, 2020);
var months = ee.List.sequence(1, 12);
//将逐日数据生成月平均数据
var monthlymeanNDVI =  ee.ImageCollection.fromImages( 
 years.map(function (y) {  
   return months.map(function(m) {   
   return dailyNDVI.filter(ee.Filter.calendarRange(y,y, 'year')).filter(ee.Filter.calendarRange(m, m, 'month')).mean().set('year', y).set('month', m).set('system:time_start', ee.Date.fromYMD(y, m, 1)); 
      });  }).flatten());
 // Create and print charts.
 print(ui.Chart.image.series(monthlymeanNDVI, geometry, ee.Reducer.mean(), 1000));

  看到结果的时候,小编有一点点emo了,同一个研究区域,不同的数据集差别这么大吗?有没有细心的同学说说,到底是什么造成数值差了这么多呢???

更多精彩内容请关注:

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值