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

Google Earth Engine(趋势分析)

作者头像
GIS与遥感开发平台
发布于 2022-04-29 00:56:15
发布于 2022-04-29 00:56:15
1.1K00
代码可运行
举报
运行总次数:0
代码可运行

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

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

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

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

01

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

直接上代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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
代码运行次数:0
运行
AI代码解释
复制
//选取区域
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内容就到这里了。如果您感觉内容对您有帮助的话,欢迎转发,点下看一看哦!

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

本文分享自 GIS与遥感开发平台 微信公众号,前往查看

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

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
【GEE】优雅地实现年度、季度、月度甚至旬度影像合成(附完整代码)
光学影像由于受到天气因素(云、雨和雾等)影响,导致单张影像数据存在大量坏死像元。此处,坏死像元指由于受到云遮挡等导致下垫面地物覆盖不能准确被卫星信息捕捉从而不能正常用于实际应用的像素(云识别等研究除外,因为这类研究就是需要有云像素)。坏死像元的存在造成实际应用中数据需求难以得到满足,因此有必要考虑时序影像合成等技术来补充/弥补影像。 时序影像合成,从粗到细,可以分为年合成、半年合成、季度合成、月度合成和半月合成等,在不同学科研究中都有广泛应用,例如半月合成在降雨侵蚀(B因子计算等)中被广泛采用。按照学科和研究需求不同,可以自主选择适合自己研究的合成方式开展研究。 下面就分别以北京主城区为例,使用Landsat-8影像数据集分别实现年合成、半年合成、季度合成、月度合成和半月合成等其中合成方式选择median(大家也可以选择mean、max、min等其他合成方式)。
Twcat_tree
2024/04/25
9630
【GEE】优雅地实现年度、季度、月度甚至旬度影像合成(附完整代码)
【GEE】遥感数据趋势分析Sen+mk
Twcat_tree
2024/04/10
2650
【GEE】遥感数据趋势分析Sen+mk
Google Earth Engine(GEE)——用10米分辨率土地分类数据进行土地面积计算出现错误
Error in map(ID=0): Feature, argument 'geometry': Invalid type. Expected type: Geometry. Actual type: Feature.
此星光明
2024/02/02
2480
Google Earth Engine(GEE)——用10米分辨率土地分类数据进行土地面积计算出现错误
GEE数据的白天day/夜晚night LST数据按照QC掩膜后的结果差异明显
MODIS数据集中,我使用相同的函数通过 QC 位掩码屏蔽白天 LST 和夜间 LST。蒙蔽的夜间LST图像的质量显着下降,并且实际上它的空间覆盖率比未蒙蔽的LST夜间图像要低得多。我想知道如何处理这个问题。前言 – 人工智能教程代码如下: https://code.earthengine.google.co.in/197a5e6fe581879db3b121f06415039f
此星光明
2024/02/02
2060
GEE数据的白天day/夜晚night LST数据按照QC掩膜后的结果差异明显
GEE 教程——基于sentinel-2数据的NDVI和EVI指数的对比
NDVI(Normalized Difference Vegetation Index)和EVI(Enhanced Vegetation Index)是两种常用的植被指数,用于评估植被生长状况和活力。
此星光明
2025/01/21
1640
GEE 教程——基于sentinel-2数据的NDVI和EVI指数的对比
Google Earth Engine(GEE)——ImageCollection.fromImages, argument ‘images‘: Invalid type. Expected type
当我们遇到下面问题时,我们就是可能嵌套类型太多了,所以我们需要去掉原有的括号,也就是括号嵌套太多了,所以我们用在打印list时我们就需要脱掉外面的一层括号,这样才能正确展示,这里我们首先看看错误提示
此星光明
2024/02/02
1700
Google Earth Engine(GEE)——ImageCollection.fromImages, argument ‘images‘: Invalid type. Expected type
Google Earth Engine(GEE)—geemap无云影像合成案例分析Cloud free composite
此星光明
2024/02/02
2880
Google Earth Engine(GEE)——export影像导出错误Error: Image.clipToBoundsAndScale, argument ‘input‘: Invalid
前一段时间RSEI的文章中,大家想下载每一年的RESI的影像,有很多人遇到了影像无法下载的问题,我在这里举个例子,先看问题:
此星光明
2024/02/02
3370
Google Earth Engine(GEE)——export影像导出错误Error: Image.clipToBoundsAndScale, argument ‘input‘: Invalid
Google Earth Engine(GEE)——Sentinel-5p数据的正确展示和下载
各位,请问一下sentinel-5p数据筛选的时候,为什么filterBounds()方法不起作用呢?(我设置范围为福建省,但是他还是把全球都是筛选出来了)
此星光明
2024/02/02
3180
Google Earth Engine(GEE)——Sentinel-5p数据的正确展示和下载
Google Earth Engine计算遥感影像在2个时间节点中数据差值的多年平均
  本文介绍在谷歌地球引擎GEE中,提取、计算某一种遥感影像产品在连续的多年中,2个不同时相的数据差值的多年平均值,并将计算得到的这一景差值的结果图像导出的方法。本文是谷歌地球引擎(Google Earth Engine,GEE)系列教学文章的第十八篇。
疯狂学习GIS
2024/08/13
1240
Google Earth Engine计算遥感影像在2个时间节点中数据差值的多年平均
Google Earth Engine(GEE)——feature ‘1_1_1_1_1_1_1_1_0‘ is missing错误如何解决?
Collection.errorMatrix: Property 'B2' of feature '1_1_1_1_1_1_1_1_0' is missing.
此星光明
2024/02/02
2370
Google Earth Engine(GEE)——feature ‘1_1_1_1_1_1_1_1_0‘ is missing错误如何解决?
GEE代码条带问题——sentinel-1接缝处理的问题
我有兴趣确定 NDVI 损失最大的年份。我创建了一个函数来收集所有陆地卫星图像并应用预处理。当我导出结果以识别 NDVI 损失最大年份时,生成的数据产品与陆地卫星场景足迹有可怕的接缝线。造成这种情况的原因是什么以及如何调整代码?
此星光明
2024/03/08
2470
GEE代码条带问题——sentinel-1接缝处理的问题
GEE APP:利用夜间灯光数据建立一个简易的逐年影像查看器
很多时候我们可以通过简单的滑块进行逐年影像的查看,slider这个工具可以进行每一年的夜间灯光数据的查看,这里主需要设定其实和后续的年份,另外,并给每一年进行属性设定对应的影像即可。这里最关键的就是一个返回值函数的设定,也就是滑块中的onchange函数的设定,这里我们首先要初始化地图界面,然后设定每一年份的属性。
此星光明
2024/08/29
820
GEE APP:利用夜间灯光数据建立一个简易的逐年影像查看器
Google Earth Engine(GEE)——大尺度范围的GIMMS NDVI From AVHRR Sensors (3rd Generation)如何下载?
1981-07-01T00:00:00 - 2013-12-31T00:00:00
此星光明
2024/02/02
2060
Google Earth Engine(GEE)——大尺度范围的GIMMS NDVI From AVHRR Sensors (3rd Generation)如何下载?
利用GEE计算遥感生态指数(RSEI)
城市生态与人类生活息息相关,快速 、准确 、客 观地了解城市生态状况已成为生态领域的一个研究重点 。基于遥感技术,提出一个完全基于遥感技术 ,以自然因子为主的遥感生态指数 (RSEI)来对城市的生态状况进行快速监测与评价 。该指数利用主成分分析技术集成了植被指数 、湿度分量、地表温度和建筑指数等 4个评价指标,它们分别代表了绿度、湿度、热度和干度等4大生态要素。 本文基于GEE平台,实现RSEI算法。 运行结果:
Twcat_tree
2023/10/16
1.7K0
利用GEE计算遥感生态指数(RSEI)
Google Earth Engine(GEE)——如何加载ee.FeatureCollection中点数据在MAP中
遇到粉丝问这样的问题,如何加载矢量集合中的点数据在map地图中,其实这是一个非常简单的问题。首先我们要先有一个矢量集合,其次我们就直接用Map.addlayer就OK了。本次我asset中没有矢量集合点,所以我利用随机点生成一些点,作为我的矢量集合。
此星光明
2024/02/02
2340
Google Earth Engine(GEE)——如何加载ee.FeatureCollection中点数据在MAP中
遥感影像SG滤波(基于GEE)
第二步:设置好需要被插值的空影像,需要包含时间信息。这样方程计算出来以后我们就可以根据时间计算当时的像元值。这里我们每隔5天就设置一个空影像。我们把空影像标记为“interpolated”,之后把真实影像和需要被插值的影像结合到一起。
GIS与遥感开发平台
2022/12/03
2.4K0
遥感影像SG滤波(基于GEE)
Google Earth Engine:对NDVI进行惠特克平滑算法进行长时序分析
惠特克(GEE)平滑算法是一种用于时间序列预测的统计方法,特别适用于非线性、非平稳和非高斯的数据。该算法基于广义估计方程,通过最小化残差的平方和来拟合数据并找到最佳的平滑曲线。
此星光明
2024/09/02
1330
Google Earth Engine:对NDVI进行惠特克平滑算法进行长时序分析
Google Earth Engine(GEE)——MODIS/061/MOD09GQ数据缺失波段信息(官方引入数据超时)
​ 我注意到每日 MODIS 版本 061 (MODIS/061/MOD09GQ) 存在已弃用的数据集没有的问题 (MODIS/061/MOD09GQ)。
此星光明
2024/02/02
1960
Google Earth Engine(GEE)——MODIS/061/MOD09GQ数据缺失波段信息(官方引入数据超时)
遥感影像线性插值(基于GEE平台)
线性插值填补空缺值 遥感影像中总是由于各种各样的原因会出现空缺值,包括云污染、传感器损坏呀之类的。最简单的方法当然还是利用线性插值的方法进行插补啦,就是利用缺失影像前后日期的数据进行线性插值,之后对缺失影像进行填补。今天我们就用GEE简单的实现一下这个方法。 这次我们对Sentinel-2的进行插补 准备数据 var geometry = ee.Geometry.Polygon([[ [82.60642647743225, 27.16350437805251], [82.60984897613525
GIS与遥感开发平台
2022/12/03
1.8K0
推荐阅读
【GEE】优雅地实现年度、季度、月度甚至旬度影像合成(附完整代码)
9630
【GEE】遥感数据趋势分析Sen+mk
2650
Google Earth Engine(GEE)——用10米分辨率土地分类数据进行土地面积计算出现错误
2480
GEE数据的白天day/夜晚night LST数据按照QC掩膜后的结果差异明显
2060
GEE 教程——基于sentinel-2数据的NDVI和EVI指数的对比
1640
Google Earth Engine(GEE)——ImageCollection.fromImages, argument ‘images‘: Invalid type. Expected type
1700
Google Earth Engine(GEE)—geemap无云影像合成案例分析Cloud free composite
2880
Google Earth Engine(GEE)——export影像导出错误Error: Image.clipToBoundsAndScale, argument ‘input‘: Invalid
3370
Google Earth Engine(GEE)——Sentinel-5p数据的正确展示和下载
3180
Google Earth Engine计算遥感影像在2个时间节点中数据差值的多年平均
1240
Google Earth Engine(GEE)——feature ‘1_1_1_1_1_1_1_1_0‘ is missing错误如何解决?
2370
GEE代码条带问题——sentinel-1接缝处理的问题
2470
GEE APP:利用夜间灯光数据建立一个简易的逐年影像查看器
820
Google Earth Engine(GEE)——大尺度范围的GIMMS NDVI From AVHRR Sensors (3rd Generation)如何下载?
2060
利用GEE计算遥感生态指数(RSEI)
1.7K0
Google Earth Engine(GEE)——如何加载ee.FeatureCollection中点数据在MAP中
2340
遥感影像SG滤波(基于GEE)
2.4K0
Google Earth Engine:对NDVI进行惠特克平滑算法进行长时序分析
1330
Google Earth Engine(GEE)——MODIS/061/MOD09GQ数据缺失波段信息(官方引入数据超时)
1960
遥感影像线性插值(基于GEE平台)
1.8K0
相关推荐
【GEE】优雅地实现年度、季度、月度甚至旬度影像合成(附完整代码)
更多 >
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文