前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Google Earth Engine(趋势分析)

Google Earth Engine(趋势分析)

作者头像
气象学家
发布2020-06-29 16:06:04
3K0
发布2020-06-29 16:06:04
举报
文章被收录于专栏:气象学家气象学家

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

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

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

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

01

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

直接上代码:

代码语言:javascript
复制
var table = ee.FeatureCollection("users/boyxiaozheng/feature/beijing");
//合成20年的年最大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');
  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年来的折线图,看一下是否和我们之前的图相符合。

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

代码:

代码语言:javascript
复制
//选取区域
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在逐年的减少。

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

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-06-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 气象学家 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档