Google Earth Engine——基于新的Landsat SR数据集去云处理
根据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数据集去云处理的更多相关文章
- 基于google earth engine 云计算平台的全国水体变化研究
第一个博客密码忘记了,今天才来开通第二个博客,时间已经过去两年了,三年的硕士生涯,真的是感慨良多,最有收获的一段时光,莫过于在实验室一个人敲着代码了,研三来得到中科院深圳先进院,在这里开始了新的研究生 ...
- Google Earth Engine城市水体提取
Google Earth Engine城市水体提取 大家都知道城市水体提取相比较于山区,丘陵的地区,肯定是比较难的,为什么呢,因为城市水体有很多高层建筑导致的阴影,这个就非常复杂了,而且现在很多高分影 ...
- Google earth engine 绘制图像间散点图
这段代码实现了在Google earth engine中绘制图像/波段间的散点图,得到相关关系.适用于探究数据间的相关性,进行数据的交叉验证. 代码来源于官方帮助:https://developers ...
- Google Earth Engine学习资源分享
最近在学习Google Earth Engine的使用,发现这个平台确实是一个非常好用.非常强大的平台.在GEE官网上找到了一些中文的学习资料,现在搬运过来分享给大家共同学习.教程分为两个部分 教程一 ...
- Google Earth Engine 中的位运算
Google Earth Engine中的位运算 按位运算是编程中一个难点,同时也是在我们后续处理影像数据,尤其要使用影像自带的波段比如QA波段经常会用到的一个东西.通过按位运算我们可以筛选出我们想要 ...
- Google earth engine 中的投影、重采样、尺度
本文主要翻译自下述GEE官方帮助 https://developers.google.com/earth-engine/guides/scale https://developers.google.c ...
- 使用Google App Engine开始新的网站开发学习
继长时间的迷茫后,我发现还是回归php网站开发更适合我,或者没有那么深刻,但至少要做点事情.不知道以后将从事什么样的工作,但现在找点事情做还是很好的.所以,为了激发我学习的热情,我在网上搜了一下免费云 ...
- 基于Google Earth Engine的全国地表温度反演
国内研究landsat8温度反演的人员很多,但是现有算法一般都是一景为例子,进行开展. 这有一个局限性,当研究的尺度很大时,就需要比较大的运算量了,例如全省温度,全国温度,全球温度,当然大家可能会说, ...
- 基于google earth engine的中等分辨率全国水质反演
我写博客的工作不像论文,假大空,我们直接上干货,之所以取一个这么大的名字,当然是我们能做到的... 不多说,我们对全国水体进行水质参数反演,不用MODIS,太粗,我们直接用哨兵,这样就可以直接做到大型 ...
- 使用google earth engine根据NDWI(归一化水指数)提取水体信息
交流合作请联系: ab000c@163.com
随机推荐
- 从Spring中学到的【2】--容器类
容器类 我们在实际编码中,常常会遇到各种容器类,他们有时叫做POJO,有时又叫做DTO,VO, DO等,这些类只具有容器的作用,具有完全的get,set方法,作为信息载体,作数据传输用. 其实,很多地 ...
- 大数据分析新玩法之Kusto宝典 - 新书发布,免费发行
我很高兴地跟大家分享,我在元旦期间编写的一本新书今天上线,并且免费发行,大家可以随时通过 https://kusto.book.xizhang.com 这个地址访问,也可以下载 PDF 的版本, 这本 ...
- Java安全之JDBC Attacks学习记录
Java安全之JDBC Attacks 写在前面 很早就看到了Make JDBC Attacks Brilliant Again议题,一直想分析学习下,但是太懒. MySQL 原理概述 "扩 ...
- MySQL 中一条 sql 的执行过程
一条 SQL 的执行过程 前言 查询 查询缓存 分析器 优化器 执行器 数据更新 日志模块 redo log (重做日志) binlog (归档日志) undo log (回滚日志) 两阶段提交 为什 ...
- GPS定位解决偏差
目录 GPS定位解决偏差 开篇 实践 1.解决思路以及步骤 2.实践出真理! 3.上坐标系之间的代码. 希望大家:点赞,留言,关注咯~ 唠家常 今日推荐都在文章中了 GPS定位解决偏差 开篇 大家都知 ...
- 图解B树及C#实现(3)数据的删除
目录 前言 从叶子节点删除数据 从非叶子节点删除数据 提前扩充只有 t-1 的 Item 的节点:维持 B树 平衡的核心算法 从左兄弟节点借用 Item 从右兄弟节点借用 Item 与左兄弟节点或者右 ...
- windows环境下部署一个Jenkins工程
首先要安装配置好Jenkins环境变量,具体操作可参考其他文章 确保Jenkins可以正常运行之后开始进行项目的部署 首页点击新建,进行新建一个工程 进入项目添加界面,填入项目名称并选择构建一个自由风 ...
- python学习第七周总结
C/S模块 1C/S模块: 1.1Client:客户端:客户端也就是你这一端可以接收到的程序,手机app,web网页等,我们可以在客户端页面上向度武器发送请求以及数据,交给服务器处理. 1.2Serv ...
- C# 如何部分加载“超大”解决方案中的部分项目
在有的特有的项目环境下,团队会将所有的项目使用同一个解决方案进行管理.这种方式方面了管理,但是却会导致解决方案变得非常庞大,导致加载时间过长.那么,如何部分加载解决方案中的部分项目呢?就让我们来借用微 ...
- .Net Core后端架构实战【1-项目分层框架设计】
摘要:基于.NET Core 7.0WebApi后端架构实战[1-项目结构分层设计] 2023/02/05, ASP.NET Core 7.0, VS2022 引言 从实习到现在回想自己已经入行四年 ...