Google Earth Engine(趋势分析)

2020/06/26 00:00
阅读数 1.4K



之前有小伙伴想让做一期利用GEE做植被指数变化的文章,可惜一直没什么时间去做。今天小编终于把这个给做好了。

我们这里使用的还是MOD13Q1的NDVI产品,我们选取2000年到2019年每一年的NDVI做最大值合成。这样我们都有了20年的20景NDVI的影像。

我们以年份作为自变量,年最大NDVI最为因变量做一个趋势分析,来看一下北京这20年来的NDVI变化趋势。

这里的NDVI我们没有乘以尺度因子(0.0001),因此,我们用到的NDVI是实际的10000倍。

01


我们首先看一下北京区域的年最大NDVI随着年份的变化趋势把!


直接上代码:


var table = ee.FeatureCollection("users/boyxiaozheng/feature/beijing");//合成20年的年最大NDVIvar year_list=ee.List.sequence(2000,2019);year_list=year_list.map(function(num){  var time=ee.Date.fromYMD(num, 1, 1)  var year_image=ee.ImageCollection('MODIS/006/MOD13A1')                  .filterDate(time,ee.Date(time).advance(1,'year'))                  .max();  var year_ndvi=year_image.select('NDVI');  return  year_ndvi.addBands(ee.Image.constant(num).toFloat());                 }  )
var img_collection=ee.ImageCollection.fromImages(year_list);//对影像进行趋势分析var linearFit = img_collection.select(['constant', 'NDVI']) .reduce(ee.Reducer.linearFit());//显示结果var trendVis = { min: -100, max: 100, palette: [ '040274', '040281', '0502a3', '0502b8', '0502ce', '0502e6', '0602ff', '235cb1', '307ef3', '269db1', '30c8e2', '32d3ef', '3be285', '3ff38f', '86e26f', '3ae237', 'b5e22e', 'd6e21f', 'fff705', 'ffd611', 'ffb613', 'ff8b13', 'ff6e08', 'ff500d', 'ff0000', 'de0101', 'c21301', 'a71001', '911003' ],};Map.centerObject(table);Map.addLayer(linearFit.select('scale').clip(table),trendVis);


代码链接:

https://code.earthengine.google.com/413df994e0afb4107f4d957157e02ff3


运行结果:


上图为代码的运行结果,图中越红表示NDVI增加的越多,越蓝表示减少的越多。

可以看出,市中心绿化这20年来是越来越好的,而东南部和市中心稍微靠北的地方绿化是在减少的。

这主要是因为市中心的绿化做的比较好,而市中心周围的地区因为城市扩张导致NDVI的减少。

至于北京西部主要是山区,所以NDVI基本上不怎么变化。


02


下面我们分别在西北部(山区),市中心和北京东南部提取三个小区域,画一个这20年来的折线图,看一下是否和我们之前的图相符合。

先看看我们选的三个区域位置:


代码:

//选取区域var northwest =    ee.Geometry.Polygon(        [[[116.1134535754385, 40.18621292916931],          [116.1134535754385, 40.127436350381466],          [116.17662496215725, 40.127436350381466],          [116.17662496215725, 40.18621292916931]]], null, false),    center =    ee.Geometry.Polygon(        [[[116.3441664660635, 39.89814325577099],          [116.3441664660635, 39.851770517596385],          [116.40184468871975, 39.851770517596385],          [116.40184468871975, 39.89814325577099]]], null, false),    southeast =    ee.Geometry.Polygon(        [[[116.525440880126, 39.77582023827742],          [116.525440880126, 39.71880246541583],          [116.5858656848135, 39.71880246541583],          [116.5858656848135, 39.77582023827742]]], null, false);
var roi_collection=ee.FeatureCollection([ee.Feature(northwest,{'label':'northwest'}), ee.Feature(center,{'label':'center'}), ee.Feature(southeast,{'label':'southeast'})]);//合成年最大NDVI值var year_list=ee.List.sequence(2000,2019);year_list=year_list.map(function(num){ var time=ee.Date.fromYMD(num, 1, 1) var year_image=ee.ImageCollection('MODIS/006/MOD13A1') .filterDate(time,ee.Date(time).advance(1,'year')) .max(); var year_ndvi=year_image.select('NDVI'); year_ndvi=year_ndvi.set({'system:time_start':ee.Date.fromYMD(num,1,1)}) return year_ndvi; } )
var img_collection=ee.ImageCollection.fromImages(year_list);//画图var ndviTimeSeries = ui.Chart.image.seriesByRegion( img_collection, roi_collection, ee.Reducer.mean(), 'NDVI',500,'system:time_start','label') .setOptions({ vAxis: {title: 'NDVI*10000'}, lineWidth: 1, pointSize: 4, series: { 0: {color: 'FF0000'}, 1: {color: '00FF00'}, 2: {color: '0000FF'}}});print(ndviTimeSeries)

代码链接:

https://code.earthengine.google.com/93a2d2eebdccddd5a1f15667507ae4ba

运行结果:

可以看出来,基本上市中心的的NDVI是一直增加的,而西北部是基本不变的,最后东南部NDVI在逐年的减少。

这个趋势也是符合我们之前的结果的。

好了,今天分享的关于GEE内容就到这里了。如果您感觉内容对您有帮助的话,欢迎转发,点下看一看哦!


扫描二维码 |关注我们

GIS与遥感开发平台


本文分享自微信公众号 - 气象学家(Meteorologist2019)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

展开阅读全文
a2d
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部