geemap学习笔记041:Landsat Collection2系列数据去云算法总结

本文主要是介绍geemap学习笔记041:Landsat Collection2系列数据去云算法总结,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前言

去云算法是进行数据处理中所要进行一步重要操作,Sentinal-2数据中已经提供了去云算法,但是Landsat Collection2系列数据中并没有提供去云算法,下面就以Landsat 8 Collection2为例进行介绍。

1 导入库并显示地图

import ee
import geemapee.Initialize()
Map = geemap.Map()
Map

2 Landsat 8 Collection2去云

Map = geemap.Map()# Landsat-8 Collection2 去云算法
def rmL8CloudNew(image):#根据'QA_PIXEL'波段,如果设置了云位(3)并且云阴影位(4)较高,则认为它是坏像素。cloudShadowBitMask = (1 << 4)cloudsBitMask = (1 << 3)qa = image.select('QA_PIXEL')mask = qa.bitwiseAnd(cloudShadowBitMask).eq(0) \.And(qa.bitwiseAnd(cloudsBitMask).eq(0))return image.updateMask(mask) \.copyProperties(image) \.copyProperties(image, ["system:time_start"])# 应用缩放因子
def apply_scale_factors(image):optical_bands = image.select('SR_B.').multiply(0.0000275).add(-0.2)thermal_bands = image.select('ST_B.*').multiply(0.00341802).add(149.0)return image.addBands(optical_bands, None, True).addBands(thermal_bands, None, True)centroid = ee.Geometry.Point([-122.4439, 37.7538]) #创建一个点坐标collection = (ee.ImageCollection('LANDSAT/LC08/C02/T1_L2') #Landsat 8数据.filterDate('2021-08-01', '2021-09-01') #时间.filterBounds(centroid) #筛选经过点的数据.filter(ee.Filter.gt('CLOUD_COVER', 20)) #获取一幅云量较多的数据.map(rmL8CloudNew)  #进行map去云.map(apply_scale_factors) #应用缩放因子
) image = collection.first() #选择第一景数据vis = {'bands': ['SR_B4', 'SR_B3', 'SR_B2'],'min': 0.0,'max': 0.3,
}#设置可视化参数Map.centerObject(image, 8) #设置中心
Map.addLayer(image, vis, 'Landsat-8')
Map

未进行去云之前
image.png

去云之后的结果,其结果基本就是将云像素给去掉。
image.png

后记

大家如果有问题需要交流或者有项目需要合作,可以加Q Q :504156006详聊,加好友请留言“CSDN”,谢谢。

这篇关于geemap学习笔记041:Landsat Collection2系列数据去云算法总结的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/572482

相关文章

Java利用JSONPath操作JSON数据的技术指南

《Java利用JSONPath操作JSON数据的技术指南》JSONPath是一种强大的工具,用于查询和操作JSON数据,类似于SQL的语法,它为处理复杂的JSON数据结构提供了简单且高效... 目录1、简述2、什么是 jsONPath?3、Java 示例3.1 基本查询3.2 过滤查询3.3 递归搜索3.4

SpringBoot实现MD5加盐算法的示例代码

《SpringBoot实现MD5加盐算法的示例代码》加盐算法是一种用于增强密码安全性的技术,本文主要介绍了SpringBoot实现MD5加盐算法的示例代码,文中通过示例代码介绍的非常详细,对大家的学习... 目录一、什么是加盐算法二、如何实现加盐算法2.1 加盐算法代码实现2.2 注册页面中进行密码加盐2.

MySQL大表数据的分区与分库分表的实现

《MySQL大表数据的分区与分库分表的实现》数据库的分区和分库分表是两种常用的技术方案,本文主要介绍了MySQL大表数据的分区与分库分表的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有... 目录1. mysql大表数据的分区1.1 什么是分区?1.2 分区的类型1.3 分区的优点1.4 分

Mysql删除几亿条数据表中的部分数据的方法实现

《Mysql删除几亿条数据表中的部分数据的方法实现》在MySQL中删除一个大表中的数据时,需要特别注意操作的性能和对系统的影响,本文主要介绍了Mysql删除几亿条数据表中的部分数据的方法实现,具有一定... 目录1、需求2、方案1. 使用 DELETE 语句分批删除2. 使用 INPLACE ALTER T

Python Dash框架在数据可视化仪表板中的应用与实践记录

《PythonDash框架在数据可视化仪表板中的应用与实践记录》Python的PlotlyDash库提供了一种简便且强大的方式来构建和展示互动式数据仪表板,本篇文章将深入探讨如何使用Dash设计一... 目录python Dash框架在数据可视化仪表板中的应用与实践1. 什么是Plotly Dash?1.1

Redis 中的热点键和数据倾斜示例详解

《Redis中的热点键和数据倾斜示例详解》热点键是指在Redis中被频繁访问的特定键,这些键由于其高访问频率,可能导致Redis服务器的性能问题,尤其是在高并发场景下,本文给大家介绍Redis中的热... 目录Redis 中的热点键和数据倾斜热点键(Hot Key)定义特点应对策略示例数据倾斜(Data S

Java时间轮调度算法的代码实现

《Java时间轮调度算法的代码实现》时间轮是一种高效的定时调度算法,主要用于管理延时任务或周期性任务,它通过一个环形数组(时间轮)和指针来实现,将大量定时任务分摊到固定的时间槽中,极大地降低了时间复杂... 目录1、简述2、时间轮的原理3. 时间轮的实现步骤3.1 定义时间槽3.2 定义时间轮3.3 使用时

Python实现将MySQL中所有表的数据都导出为CSV文件并压缩

《Python实现将MySQL中所有表的数据都导出为CSV文件并压缩》这篇文章主要为大家详细介绍了如何使用Python将MySQL数据库中所有表的数据都导出为CSV文件到一个目录,并压缩为zip文件到... python将mysql数据库中所有表的数据都导出为CSV文件到一个目录,并压缩为zip文件到另一个

java常见报错及解决方案总结

《java常见报错及解决方案总结》:本文主要介绍Java编程中常见错误类型及示例,包括语法错误、空指针异常、数组下标越界、类型转换异常、文件未找到异常、除以零异常、非法线程操作异常、方法未定义异常... 目录1. 语法错误 (Syntax Errors)示例 1:解决方案:2. 空指针异常 (NullPoi

SpringBoot整合jasypt实现重要数据加密

《SpringBoot整合jasypt实现重要数据加密》Jasypt是一个专注于简化Java加密操作的开源工具,:本文主要介绍详细介绍了如何使用jasypt实现重要数据加密,感兴趣的小伙伴可... 目录jasypt简介 jasypt的优点SpringBoot使用jasypt创建mapper接口配置文件加密