GEE基础-实现NDVI年最大值合成

  • 思路
  • 实践
  • 遇到的问题

思路

目的是计算研究区的年NDVI,基本实现逻辑如下:

实践

拼凑代码如下:

// 创建一个函数用来掩模云层以及云阴影
var cloudMask = function(image) {var qa = image.select('pixel_qa');//云层表示为第五位,云层置信度为6-7位,云阴影为第三位//选择出有云并且云层置信度为中等,以及有云阴影覆盖的像元。var cloud = qa.bitwiseAnd(1 << 5).and(qa.bitwiseAnd(1 << 7)).or(qa.bitwiseAnd(1 << 3))// 移除边界像元var mask2 = image.mask().reduce(ee.Reducer.min());//将检测有关云像元置为0,掩模保留位置不为0的数据。return image.updateMask(cloud.not()).updateMask(mask2);
};
//创建一个函数用来计算NDVI
function NDVI(img) {var ndvi = img.normalizedDifference(["B5","B4"]);return ndvi;
}// 选择Landsat8地表反射率数据进行去云处理,并计算NDVI
var collection = ee.ImageCollection('LANDSAT/LC08/C01/T1_SR').filterDate('2020-05-01', '2020-9-30').filterBounds(myl).map(cloudMask).map(NDVI)
//取影像数据集最大值
var NDVI_2020 = collection.max();
var visParam = {min: -0.2,max: 0.8,palette: 'FFFFFF, CE7E45, DF923D, F1B555, FCD163, 99B718, 74A901, 66A000, 529400,' +'3E8601, 207401, 056201, 004C00, 023B01, 012E01, 011D01, 011301'
};
var result = NDVI_2020.clip(myl)
Map.addLayer(NDVI_2020.clip(myl), visParam, 'ndvi');
print(result)
//导出到谷歌云盘
Export.image.toDrive({image: result,description: 'NDVI2020_1',scale: 30,region: myl,maxPixels:10e10,});

遇到的问题

通过搜罗CSDN上各路去云方法,发现最后的nodata的结果是不一样的!
上面的去云函数出来的结果是这样的:
而使用下面这个去云函数

//创建一个函数进行去云掩膜处理
function maskL8sr(image) {//<<表示二进制左移几位// 二进制第三位表示有云阴影,第五位表示有云。var cloudShadowBitMask = 1 << 3;var cloudsBitMask = 1 << 5;// 选择质量评估波段var qa = image.select('pixel_qa');// 按位与运算,将检测出云以及云阴影像元值为0var mask = qa.bitwiseAnd(cloudShadowBitMask).eq(0).and(qa.bitwiseAnd(cloudsBitMask).eq(0));// 掩膜云以及云阴影,并选择波段1-9将单位变为0-1之间,并复制影像时间属性。return image.updateMask(mask).divide(10000).select("B[0-9]*").copyProperties(image, ["system:time_start"]);
}

出来的结果是这样的

GEE基础-实现NDVI年最大值合成相关推荐

  1. Python基于Arcpy对多时间尺度NDVI进行最大值合成

    Python基于Arcpy对多时间尺度NDVI进行最大值合成 1. 前期数据准备 2. 处理代码 前言:在现实研究中很容易拿到日尺度.月尺度的NDVI栅格影像,繁多的栅格数据需要按照研究的目的进行重新 ...

  2. 使用Matlab软件对NDVI进行最大值合成

    ​教程照片及其他详细信息请关注微信公众号:夫也的笔记 公众号内容包含:ArcGIS.ENVI.MATLAB.Python和R语言教程和实际案例分享 理论知识 最大合成法:最大合成,就是将来多幅相同的栅 ...

  3. matlab nc转tif_旬和月NDVI最大值合成MATLAB

    上一篇推送介绍了如何将下载的nc格式的NDVI数据转换成tif格式,这样结果得到的是旬NDVI[GIMMS NDVI数据处理-nc格式转tif].今天分享旬NDVI的月最大值合成和月NDVI的年最大值 ...

  4. GEE基础-大影像下载

    GEE基础-大影像下载 通过MultCloud下载 1)转存至Onedrive下载 2)转存至百度云下载(不推荐) 通过Google Drive下载 1)chrome浏览器下载 2)Microsoft ...

  5. Google Earth Engine(GEE)计算NDVI、EVI、NDBI等指数并相关性分析

    Google Earth Engine(GEE)计算NDVI.EVI.NDBI等指数并相关性分析 NDVI为归一化植被指数.EVI为增强植被指数,据GEE官方介绍NDTI为归一化热差指数,用于区分城市 ...

  6. Google Earth Engine(GEE)——计算NDVI\EVI\RVI\DVI\SAVI计算并下载(2)

    有粉丝还问到关于Landsat8如何计算,上一次的文章提到了关于各类植被指数的下载和加载:Google Earth Engine(GEE)--计算NDVI\EVI\RVI\DVI\SAVI归一化植被指 ...

  7. GEE:批量下载NDVI数据,按年最大值合成,GIMMS NDVI from AVHRR Sensors (3rd Generation)

    源代码: https://code.earthengine.google.com/f3f5c1ed2bc4dc30a678857bb5074d6d?noload=true 批量下载按月合成数据代码: ...

  8. Java基础---数组练习(最大值、最小值的索引)

    Java基础–数组练习 1.将一维数组的遍历,封装成方法public static void arrayBianli(int[] arr) {for(int i = 0;i<arr.length ...

  9. GEE学习——绘制NDVI长时序曲线图

    绘制全区域NDVI变化曲线--一景一值 首先认真阅读数据集介绍,包括波段名.缩放因子.数据集持续时间.空间分辨率等. 准备好研究区域.处理好数据集(缩放),先print一下看看数据集是否处理完毕.这里 ...

最新文章

  1. 数据库设计Step by Step (9)——ER-to-SQL转化
  2. Caffe训练ImageNet
  3. SAP不同的产品是如何支持用户创建自定义字段的
  4. SQL Server 调优系列进阶篇 - 查询语句运行几个指标值监测
  5. UA OPTI512R 傅立叶光学导论 采样定理例题
  6. 接口中也可以有方法了
  7. Linux Shell脚本 - 什么是Shell
  8. php标签调用,phpcms栏目标签调用代码大全
  9. 【ATT】Reverse Nodes in k-Group
  10. altas(ajax)控件(二十):让BulletedList拥有客户端索引、分页和排序的控件
  11. 6大新品重磅发布,华为云全栈云原生技术能力持续创新升级
  12. labelme也可以标注polygan
  13. ubuntu16.04安装google中文输入法
  14. vyos as a firewall
  15. 简单爬虫 爬取百度图片并批量重命名
  16. Day-3 文字排版
  17. 超级表格从四个维度为您实现精细化的表格数据共享【点击查看】
  18. 手把手教你在centos7安装k8s集群
  19. 蓝桥杯: Cowboys
  20. Python之线程的同步互斥与死锁

热门文章

  1. 什么是腾讯云Redis弹性缓存?
  2. Latex解决eps不能导入的问题
  3. 3.Single Image Dehazing via MSCNN-HE 论文阅读
  4. 学习拓展中国剩余定理小结
  5. java自动化测试语言高级之序列化
  6. leg引擎适合什么系统的服务器,开区技术发布LEG引擎服务端武器升级的方法
  7. 第一坊颜韵YCY恶心主播,忘恩负义白眼狼说颜韵真不过分
  8. VR专业的面试题你都见过没?相信我绝对有用
  9. 【BZOJ】1707: [Usaco2007 Nov]tanning分配防晒霜
  10. 【OpenStack】在OpenStack上搭建OpenStack UT环境