GEE详细教程之:将Landsat8与Landsat9影像合成一个影像

2024-02-09 13:28

本文主要是介绍GEE详细教程之:将Landsat8与Landsat9影像合成一个影像,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.前言

        因项目需求,需要获取一个研究区的Landsat8影像,但Landsat8重复周期长,加之天气的影响,很难获取影像质量较好的影像。Landsat4/5/7的波段顺序与landsat8不同,除此之外,landsat7影像还需要工具进行条带修复,因此只考虑最近发射的landsat9进行融合。

        Landsat9,就号称可以和Landsat8协同,降低重访周期。考虑到使用同一系列卫星的场景比较多,所以这篇博文就使用Landsat8与Landsat9卫星的影像合成。

2.思路

        (1)首先,要获取一个包含需要的时间段/影像质量/区域范围的Landsat8系列影像集合。

        (2)然后,再获取一个包含需要的时间段/影像质量/区域范围的Landsat9系列影像集合。

        (3)最后,将两个集合的影像通过merge工具进行拼接。

        效果图如下所示:

(1)只使用landsat8

(2)只使用landsat9

(3)融合landsat8与landsat9

        可以看出,融合后的数据相当于是两者数据的并集,可以将缺失的数据填充上,形成完整的一张图。

3.代码

var table = ee.FeatureCollection("注意!替换成你自己的矢量边界");// 导入 Landsat 8 和 9 的影像集合
var landsat8 = ee.ImageCollection('LANDSAT/LC08/C02/T1_L2');
var landsat9 = ee.ImageCollection('LANDSAT/LC09/C02/T1_L2');// 设置时间范围
var startDate = '2023-11-14';
var endDate = '2023-11-28';// 选择时间范围内的影像
landsat8 = landsat8.filterDate(startDate, endDate).filter(ee.Filter.lte('CLOUD_COVER',30)).filterBounds(table).map(applyScaleFactors);
landsat9 = landsat9.filterDate(startDate, endDate).filter(ee.Filter.lte('CLOUD_COVER',30)).filterBounds(table).map(applyScaleFactors);function applyScaleFactors(image) {var opticalBands = image.select('SR_B.').multiply(0.0000275).add(-0.2);var thermalBands = image.select('ST_B.*').multiply(0.00341802).add(149.0);return image.addBands(opticalBands, null, true).addBands(thermalBands, null, true);
}
print(landsat8);
print(landsat9);//landsat8=landsat8.select(['SR_B4', 'SR_B3', 'SR_B2']);
//print(landsat8)// 转换为 ImageCollection
var mergedImageCollection = landsat8.merge(landsat9);// 打印合并后的影像集合
print(mergedImageCollection);var mergedImage = mergedImageCollection.median().clip(table);
print("mergedImage",mergedImage);// 在地图上显示合并后的影像集合
Map.addLayer(mergedImage, {bands: ['SR_B4', 'SR_B3', 'SR_B2'], min: 0, max: 0.3}, 'Merged RGB');// 设置地图视图
Map.centerObject(table, 6);

4.结尾

        此时,如果遇到云雨比较频繁的地区云、贵、川等地区,可能会出现Landsat8与Landsat9融合后仍出现缺失的问题,这就需要把Landsat与哨兵二号进行融合。

        本文后续会将landsat与sentinel-2 融合的资源代码整理出来,提供给有需要的小伙伴。代码为JS格式,直接复制到你的GEE code Editor,并替换成自己的矢量区域即可使用~

这篇关于GEE详细教程之:将Landsat8与Landsat9影像合成一个影像的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

SQL Server数据库死锁处理超详细攻略

《SQLServer数据库死锁处理超详细攻略》SQLServer作为主流数据库管理系统,在高并发场景下可能面临死锁问题,影响系统性能和稳定性,这篇文章主要给大家介绍了关于SQLServer数据库死... 目录一、引言二、查询 Sqlserver 中造成死锁的 SPID三、用内置函数查询执行信息1. sp_w

Python UV安装、升级、卸载详细步骤记录

《PythonUV安装、升级、卸载详细步骤记录》:本文主要介绍PythonUV安装、升级、卸载的详细步骤,uv是Astral推出的下一代Python包与项目管理器,主打单一可执行文件、极致性能... 目录安装检查升级设置自动补全卸载UV 命令总结 官方文档详见:https://docs.astral.sh/

Python包管理工具核心指令uvx举例详细解析

《Python包管理工具核心指令uvx举例详细解析》:本文主要介绍Python包管理工具核心指令uvx的相关资料,uvx是uv工具链中用于临时运行Python命令行工具的高效执行器,依托Rust实... 目录一、uvx 的定位与核心功能二、uvx 的典型应用场景三、uvx 与传统工具对比四、uvx 的技术实

canal实现mysql数据同步的详细过程

《canal实现mysql数据同步的详细过程》:本文主要介绍canal实现mysql数据同步的详细过程,本文通过实例图文相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的... 目录1、canal下载2、mysql同步用户创建和授权3、canal admin安装和启动4、canal

Nexus安装和启动的实现教程

《Nexus安装和启动的实现教程》:本文主要介绍Nexus安装和启动的实现教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、Nexus下载二、Nexus安装和启动三、关闭Nexus总结一、Nexus下载官方下载链接:DownloadWindows系统根

SpringBoot集成LiteFlow实现轻量级工作流引擎的详细过程

《SpringBoot集成LiteFlow实现轻量级工作流引擎的详细过程》LiteFlow是一款专注于逻辑驱动流程编排的轻量级框架,它以组件化方式快速构建和执行业务流程,有效解耦复杂业务逻辑,下面给大... 目录一、基础概念1.1 组件(Component)1.2 规则(Rule)1.3 上下文(Conte

Springboot3+将ID转为JSON字符串的详细配置方案

《Springboot3+将ID转为JSON字符串的详细配置方案》:本文主要介绍纯后端实现Long/BigIntegerID转为JSON字符串的详细配置方案,s基于SpringBoot3+和Spr... 目录1. 添加依赖2. 全局 Jackson 配置3. 精准控制(可选)4. OpenAPI (Spri

MySQL复杂SQL之多表联查/子查询详细介绍(最新整理)

《MySQL复杂SQL之多表联查/子查询详细介绍(最新整理)》掌握多表联查(INNERJOIN,LEFTJOIN,RIGHTJOIN,FULLJOIN)和子查询(标量、列、行、表子查询、相关/非相关、... 目录第一部分:多表联查 (JOIN Operations)1. 连接的类型 (JOIN Types)

CnPlugin是PL/SQL Developer工具插件使用教程

《CnPlugin是PL/SQLDeveloper工具插件使用教程》:本文主要介绍CnPlugin是PL/SQLDeveloper工具插件使用教程,具有很好的参考价值,希望对大家有所帮助,如有错... 目录PL/SQL Developer工具插件使用安装拷贝文件配置总结PL/SQL Developer工具插

SpringBoot整合Apache Flink的详细指南

《SpringBoot整合ApacheFlink的详细指南》这篇文章主要为大家详细介绍了SpringBoot整合ApacheFlink的详细过程,涵盖环境准备,依赖配置,代码实现及运行步骤,感兴趣的... 目录1. 背景与目标2. 环境准备2.1 开发工具2.2 技术版本3. 创建 Spring Boot