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

相关文章

Spring 请求之传递 JSON 数据的操作方法

《Spring请求之传递JSON数据的操作方法》JSON就是一种数据格式,有自己的格式和语法,使用文本表示一个对象或数组的信息,因此JSON本质是字符串,主要负责在不同的语言中数据传递和交换,这... 目录jsON 概念JSON 语法JSON 的语法JSON 的两种结构JSON 字符串和 Java 对象互转

C++如何通过Qt反射机制实现数据类序列化

《C++如何通过Qt反射机制实现数据类序列化》在C++工程中经常需要使用数据类,并对数据类进行存储、打印、调试等操作,所以本文就来聊聊C++如何通过Qt反射机制实现数据类序列化吧... 目录设计预期设计思路代码实现使用方法在 C++ 工程中经常需要使用数据类,并对数据类进行存储、打印、调试等操作。由于数据类

Python实现图片分割的多种方法总结

《Python实现图片分割的多种方法总结》图片分割是图像处理中的一个重要任务,它的目标是将图像划分为多个区域或者对象,本文为大家整理了一些常用的分割方法,大家可以根据需求自行选择... 目录1. 基于传统图像处理的分割方法(1) 使用固定阈值分割图片(2) 自适应阈值分割(3) 使用图像边缘检测分割(4)

SpringBoot使用GZIP压缩反回数据问题

《SpringBoot使用GZIP压缩反回数据问题》:本文主要介绍SpringBoot使用GZIP压缩反回数据问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录SpringBoot使用GZIP压缩反回数据1、初识gzip2、gzip是什么,可以干什么?3、Spr

Windows Docker端口占用错误及解决方案总结

《WindowsDocker端口占用错误及解决方案总结》在Windows环境下使用Docker容器时,端口占用错误是开发和运维中常见且棘手的问题,本文将深入剖析该问题的成因,介绍如何通过查看端口分配... 目录引言Windows docker 端口占用错误及解决方案汇总端口冲突形成原因解析诊断当前端口情况解

SpringBoot集成Milvus实现数据增删改查功能

《SpringBoot集成Milvus实现数据增删改查功能》milvus支持的语言比较多,支持python,Java,Go,node等开发语言,本文主要介绍如何使用Java语言,采用springboo... 目录1、Milvus基本概念2、添加maven依赖3、配置yml文件4、创建MilvusClient

SpringValidation数据校验之约束注解与分组校验方式

《SpringValidation数据校验之约束注解与分组校验方式》本文将深入探讨SpringValidation的核心功能,帮助开发者掌握约束注解的使用技巧和分组校验的高级应用,从而构建更加健壮和可... 目录引言一、Spring Validation基础架构1.1 jsR-380标准与Spring整合1

openCV中KNN算法的实现

《openCV中KNN算法的实现》KNN算法是一种简单且常用的分类算法,本文主要介绍了openCV中KNN算法的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的... 目录KNN算法流程使用OpenCV实现KNNOpenCV 是一个开源的跨平台计算机视觉库,它提供了各

MySQL 中查询 VARCHAR 类型 JSON 数据的问题记录

《MySQL中查询VARCHAR类型JSON数据的问题记录》在数据库设计中,有时我们会将JSON数据存储在VARCHAR或TEXT类型字段中,本文将详细介绍如何在MySQL中有效查询存储为V... 目录一、问题背景二、mysql jsON 函数2.1 常用 JSON 函数三、查询示例3.1 基本查询3.2

SpringBatch数据写入实现

《SpringBatch数据写入实现》SpringBatch通过ItemWriter接口及其丰富的实现,提供了强大的数据写入能力,本文主要介绍了SpringBatch数据写入实现,具有一定的参考价值,... 目录python引言一、ItemWriter核心概念二、数据库写入实现三、文件写入实现四、多目标写入