根据GEE官方公告,明年原来的Landsat/LT05/C01/T1_SR和Landsat/LC08/C01/T1_SR数据集将停止更新,并提供了新的地表反射率数据,就是LANDSAT/LT05/C02/T1_L2和LANDSAT/LC08/C02/T1_L2。新的数据集直接提供LST产品,方便获取地表温度,同时也给出官方代码去云处理。

参考:USGS Landsat 5 Level 2, Collection 2, Tier 1 (google.com)

去云代码如下:

 1 /****************************************L5 去云****************************************/
2 /***************************************************************************************/
3 // 使用Landsat5 Collection 2,Level 2 QA_PIXEL波段(CFMask)去云
4 function maskL5sr(image) {
5 // Bit 0 - fill
6 // Bit 1 - Dilated Cloud
7 // Bit 2 - Unused
8 // Bit 3 - Cloud
9 // Bit 4 - Cloud Shadow
10 var qaMask = image.select('QA_PIXEL').bitwiseAnd(parseInt('11111', 2)).eq(0);
11 var saturationMask = image.select('QA_RADSAT').eq(0);
12
13 // 将缩放系数应用于适当的波段
14 var opticalBands = image.select('SR_B.').multiply(0.0000275).add(-0.2);
15 var thermalBand = image.select('ST_B6').multiply(0.00341802).add(149.0);
16
17 // 用缩放后的波段替换,并应用云掩膜
18 return image.addBands(opticalBands, null, true)
19 .addBands(thermalBand, null, true)
20 .updateMask(qaMask)
21 .updateMask(saturationMask);
22 }
23
24 //处理一年的数据
25 var collection = ee.ImageCollection('LANDSAT/LT05/C02/T1_L2')
26 .filterDate('2010-01-01', '2011-01-01')
27 .map(maskL5sr);
28 //中值合成
29 var composite = collection.median();
30
31 // 地图展示
32 Map.addLayer(composite, {bands: ['SR_B3', 'SR_B2', 'SR_B1'], min: 0, max: 0.3});
33 /***************************************************************************************/
34
35 /****************************************L8 去云****************************************/
36 /***************************************************************************************/
37 // 使用Landsat8 Collection 2,Level 2 QA_PIXEL波段(CFMask)去云
38
39 function maskL8sr(image) {
40 // Bit 0 - Fill
41 // Bit 1 - Dilated Cloud
42 // Bit 2 - Cirrus
43 // Bit 3 - Cloud
44 // Bit 4 - Cloud Shadow
45 var qaMask = image.select('QA_PIXEL').bitwiseAnd(parseInt('11111', 2)).eq(0);
46 var saturationMask = image.select('QA_RADSAT').eq(0);
47
48 // 用缩放后的波段替换,并应用云掩膜
49 var opticalBands = image.select('SR_B.').multiply(0.0000275).add(-0.2);
50 var thermalBands = image.select('ST_B.*').multiply(0.00341802).add(149.0);
51
52 // 用缩放后的波段替换,并应用云掩膜
53 return image.addBands(opticalBands, null, true)
54 .addBands(thermalBands, null, true)
55 .updateMask(qaMask)
56 .updateMask(saturationMask);
57 }
58
59 // 处理一年的数据
60 var collection = ee.ImageCollection('LANDSAT/LC08/C02/T1_L2')
61 .filterDate('2020-01-01', '2021-01-01')
62 .map(maskL8sr);
63 //中值合成
64 var composite = collection.median();
65
66 // 地图展示
67 Map.addLayer(composite, {bands: ['SR_B4', 'SR_B3', 'SR_B2'], min: 0, max: 0.3});
68 /***************************************************************************************/

Google Earth Engine——基于新的Landsat SR数据集去云处理的更多相关文章

  1. 基于google earth engine 云计算平台的全国水体变化研究

    第一个博客密码忘记了,今天才来开通第二个博客,时间已经过去两年了,三年的硕士生涯,真的是感慨良多,最有收获的一段时光,莫过于在实验室一个人敲着代码了,研三来得到中科院深圳先进院,在这里开始了新的研究生 ...

  2. Google Earth Engine城市水体提取

    Google Earth Engine城市水体提取 大家都知道城市水体提取相比较于山区,丘陵的地区,肯定是比较难的,为什么呢,因为城市水体有很多高层建筑导致的阴影,这个就非常复杂了,而且现在很多高分影 ...

  3. Google earth engine 绘制图像间散点图

    这段代码实现了在Google earth engine中绘制图像/波段间的散点图,得到相关关系.适用于探究数据间的相关性,进行数据的交叉验证. 代码来源于官方帮助:https://developers ...

  4. Google Earth Engine学习资源分享

    最近在学习Google Earth Engine的使用,发现这个平台确实是一个非常好用.非常强大的平台.在GEE官网上找到了一些中文的学习资料,现在搬运过来分享给大家共同学习.教程分为两个部分 教程一 ...

  5. Google Earth Engine 中的位运算

    Google Earth Engine中的位运算 按位运算是编程中一个难点,同时也是在我们后续处理影像数据,尤其要使用影像自带的波段比如QA波段经常会用到的一个东西.通过按位运算我们可以筛选出我们想要 ...

  6. Google earth engine 中的投影、重采样、尺度

    本文主要翻译自下述GEE官方帮助 https://developers.google.com/earth-engine/guides/scale https://developers.google.c ...

  7. 使用Google App Engine开始新的网站开发学习

    继长时间的迷茫后,我发现还是回归php网站开发更适合我,或者没有那么深刻,但至少要做点事情.不知道以后将从事什么样的工作,但现在找点事情做还是很好的.所以,为了激发我学习的热情,我在网上搜了一下免费云 ...

  8. 基于Google Earth Engine的全国地表温度反演

    国内研究landsat8温度反演的人员很多,但是现有算法一般都是一景为例子,进行开展. 这有一个局限性,当研究的尺度很大时,就需要比较大的运算量了,例如全省温度,全国温度,全球温度,当然大家可能会说, ...

  9. 基于google earth engine的中等分辨率全国水质反演

    我写博客的工作不像论文,假大空,我们直接上干货,之所以取一个这么大的名字,当然是我们能做到的... 不多说,我们对全国水体进行水质参数反演,不用MODIS,太粗,我们直接用哨兵,这样就可以直接做到大型 ...

  10. 使用google earth engine根据NDWI(归一化水指数)提取水体信息

    交流合作请联系: ab000c@163.com

随机推荐

  1. 从Spring中学到的【2】--容器类

    容器类 我们在实际编码中,常常会遇到各种容器类,他们有时叫做POJO,有时又叫做DTO,VO, DO等,这些类只具有容器的作用,具有完全的get,set方法,作为信息载体,作数据传输用. 其实,很多地 ...

  2. 大数据分析新玩法之Kusto宝典 - 新书发布,免费发行

    我很高兴地跟大家分享,我在元旦期间编写的一本新书今天上线,并且免费发行,大家可以随时通过 https://kusto.book.xizhang.com 这个地址访问,也可以下载 PDF 的版本, 这本 ...

  3. Java安全之JDBC Attacks学习记录

    Java安全之JDBC Attacks 写在前面 很早就看到了Make JDBC Attacks Brilliant Again议题,一直想分析学习下,但是太懒. MySQL 原理概述 "扩 ...

  4. MySQL 中一条 sql 的执行过程

    一条 SQL 的执行过程 前言 查询 查询缓存 分析器 优化器 执行器 数据更新 日志模块 redo log (重做日志) binlog (归档日志) undo log (回滚日志) 两阶段提交 为什 ...

  5. GPS定位解决偏差

    目录 GPS定位解决偏差 开篇 实践 1.解决思路以及步骤 2.实践出真理! 3.上坐标系之间的代码. 希望大家:点赞,留言,关注咯~ 唠家常 今日推荐都在文章中了 GPS定位解决偏差 开篇 大家都知 ...

  6. 图解B树及C#实现(3)数据的删除

    目录 前言 从叶子节点删除数据 从非叶子节点删除数据 提前扩充只有 t-1 的 Item 的节点:维持 B树 平衡的核心算法 从左兄弟节点借用 Item 从右兄弟节点借用 Item 与左兄弟节点或者右 ...

  7. windows环境下部署一个Jenkins工程

    首先要安装配置好Jenkins环境变量,具体操作可参考其他文章 确保Jenkins可以正常运行之后开始进行项目的部署 首页点击新建,进行新建一个工程 进入项目添加界面,填入项目名称并选择构建一个自由风 ...

  8. python学习第七周总结

    C/S模块 1C/S模块: 1.1Client:客户端:客户端也就是你这一端可以接收到的程序,手机app,web网页等,我们可以在客户端页面上向度武器发送请求以及数据,交给服务器处理. 1.2Serv ...

  9. C# 如何部分加载“超大”解决方案中的部分项目

    在有的特有的项目环境下,团队会将所有的项目使用同一个解决方案进行管理.这种方式方面了管理,但是却会导致解决方案变得非常庞大,导致加载时间过长.那么,如何部分加载解决方案中的部分项目呢?就让我们来借用微 ...

  10. .Net Core后端架构实战【1-项目分层框架设计】

    摘要:基于.NET Core 7.0WebApi后端架构实战[1-项目结构分层设计]  2023/02/05, ASP.NET Core 7.0, VS2022 引言 从实习到现在回想自己已经入行四年 ...