【GEE】基于GEE批量下载Landsat8 L2A数据(整幅)

        之前发过一篇使用GEE下载Landsat8的文章,然后有很多小伙伴私信我各种问题,如L1C、L2数据代码怎么修改,如何镶嵌,如何去云、 如何裁剪等一系列问题。正好快过年了,手头的事也没有多少了,所以这两天整理了一下GEE的相关代码,后续会陆续发出来。代码比较简单就是查询函数和导出函数,然后还有一个显示函数。

        今天给大家带来的是Landsat8 L2A数据的批量下载,裁剪已经做过了。导出的结果为分幅的研究区影像(即原始影像裁剪后,无镶嵌)。

一、代码部分

//作者:RS迷途小书童
//博客:https://blog.csdn.net/m0_56729804?type=blog
var roi = table //感兴趣的区域信息
var style_set = {color:"red",fillColor:"00000000"}; //设置地图中要素的颜色和填充颜色
Map.addLayer(roi.style(style_set),{},"shape") //使用之前定义的样式集将roi添加到地图中。该地图层默认使用几何形状(例如多边形)来表示区域
Map.centerObject(roi,10) //将地图中心设置为roi对象,并设置缩放级别为10function maskL8sr(image) {// 去云函数//var qaMask = image.select('QA_PIXEL').bitwiseAnd(parseInt('11111', 2)).eq(0);//从输入图像中选择QA_PIXEL波段,使用位运算和掩码来识别填充、云、云影等像素var saturationMask = image.select('QA_RADSAT').eq(0); //从输入图像中选择QA_RADSAT波段,并识别未饱和的像素。// 将缩放因子应用于适当的频带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)//.updateMask(qaMask).updateMask(saturationMask);}
var dataset = ee.ImageCollection('LANDSAT/LC08/C02/T1_L2').filterBounds(roi).filterDate('2023-01-01', '2023-03-31').filter(ee.Filter.lte('CLOUD_COVER',5)).map(maskL8sr).map(function(image){return image.clip(roi)//裁剪})print("dataset",dataset)
var Count =dataset.size();
print('Count:',Count); 
var visualization = {bands: ['SR_B4', 'SR_B3', 'SR_B2'],min: 0.0,max: 0.3,
};
Map.addLayer(dataset, visualization, 'Image');
// 彩色合成显示var mergedImage = dataset.select("SR_B1","SR_B2","SR_B3","SR_B4","SR_B5","SR_B6","SR_B7");// "ST_B10"
// 将所选波段合并为一个多波段图像
print(mergedImage)function exportImageCollection(imgCol) {// 导出函数var indexList = imgCol.reduceColumns(ee.Reducer.toList(), ["system:index"]).get("list");indexList.evaluate(function(indexs) {for (var i=0; i<indexs.length; i++) {var image = imgCol.filter(ee.Filter.eq("system:index", indexs[i])).first();image = image.toFloat();Export.image.toDrive({image: image,description: indexs[i],fileNamePrefix: indexs[i],folder: 'Landsat8',region: roi,scale: 30,crs: "EPSG:4326",maxPixels: 1e13});}});
}
exportImageCollection(mergedImage);

二、效果显示

        我平时用GEE比较少,大量时间都是使用Python去处理数据,但是用的少也还是会一点的。令人失望的是网上有很多教程都是VIP文章或者时间周期太长,导致代码不能使用,对于没接触过代码的新手来说很不友好。我希望能在力所能及的范围内尽可能多地去分享一些GEE的基本操作,如果大家感兴趣也可以一起留言交流。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/444434.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何保证接口幂等性

接口幂等性是指对同一操作发起的一次或多次请求结果是一致的&#xff0c;并且不会因为重复请求而产生副作用。 例如前端应用对后端发出请求&#xff0c;可能由于网络原因&#xff0c;前端并未接收到后端响应&#xff0c;前端进行重试&#xff0c;对后端同一接口发出多次请求 假…

Django模型(六)

一、其它查询 文档:https://docs.djangoproject.com/zh-hans/4.1/ref/models/querysets/#count 1.1、排序 Queryset.order_by(*fields) 默认情况下,QuerySet 返回的结果是按照模型 Meta 中的 ordering 选项给出的排序元组排序的 可以通过使用 order_by 方法在每个 QueryS…

【前端web入门第二天】03 表单-下拉菜单 文本域 label标签 按钮 【附注册信息综合案例】

文章目录: 1. 下拉菜单 2. 文本域3.label标签 4.按钮- button 4.1 reset重置按钮结合form表单区域使用 5.无语义的布局标签 6.字符实体 注册信息综合案例 表单第二节 1. 下拉菜单 标签: select嵌套option,select是下拉菜单整体&#xff0c;option是下拉菜单的每一项。 代码…

C++:CSDN云服务器2.0

&#xff08;水一期&#xff09; 代码&#xff1a; #include <heker.h> #include <Button.h> #include <graphics.h> #include <bits/stdc.h> #include <windows.h> using namespace std; MUSIC bgMusic; HWND hWnd GetConsoleWindow(); But…

独立按键控制LED(基于51单片机)

师从江科大 独立按键 轻触按键&#xff1a; 相当于是一种电子开关&#xff0c;按下开关接通&#xff0c;松开开关断开&#xff0c;实现原理是通过轻触按键内部的金属弹片受力弹动来实现接通好和断开 独立按键原理图&#xff1a; 注&#xff1a;没有按下独立按键是高电平&am…

【TCP】三次握手(建立连接)

前言 在网络通信的世界里&#xff0c;可靠传输协议&#xff08;TCP&#xff09;扮演着重要的角色&#xff0c;它保证了数据包能够按顺序、完整地从发送端传送到接收端。TCP协议中有一个至关重要的机制——三次握手。这一过程确保了两个TCP设备在开始数据传输之前建立起一个稳定…

【Qt/UI美化实战课程】课程首发 (布局/样式表/高级控件/图标字体/图表曲线/仪表盘/精美换肤)

视频先行&#xff1a;详细视频介绍可以看下B站讲解 【QT/UI美化实战课程】课程首发 (布局/样式表/高级控件/图标字体/图表曲线/仪表盘/精美换肤&#xff09; 1. 课程包含哪些干货&#xff1f; 1.1 无边框窗口&#xff08;11讲&#xff09; 实现的无边框窗口&#xff0c;支持以…

2024上海国际跨境电商及户外源头工厂选品展览会

2024上海国际跨境电商及户外源头工厂选品展览会 时间&#xff1a;2024年09月5-7日 地点&#xff1a;上海世博展览馆 详询主办方陆先生 I38&#xff08;前三位&#xff09; I82I&#xff08;中间四位&#xff09; 9I72&#xff08;后面四位&#xff09; 展会介绍&#xff…

PostGIS教程学习二十二:使用触发器追踪历史编辑操作

PostGIS教程学习二十二&#xff1a;使用触发器追踪历史编辑操作 生产环境下数据库的一个常见要求是能够跟踪用户编辑数据的历史&#xff1a;数据在两个日期之间是如何变化的&#xff0c;是谁操作的&#xff0c;以及它们哪些内容变化了&#xff1f;一些GIS系统通过在客户端接口…

如何实现一个百万亿规模的时序数据库,百度智能云 BTS 架构解析和实践分享

本文整理自 2023 年 12 月 16 日&#xff0c;百度智能云数据库总架构师朱洁在《国产数据库共话未来趋势》技术沙龙上的主题分享。 随着互联网和物联网的高速发展&#xff0c;产生了大量的结构化、半结构化数据。在百度集团内部&#xff0c; BTS&#xff08;Baidu Table Storage…

windows pm2 执行 npm脚本或执行yarn脚本遇到的问题及解决方案

环境&#xff1a; 在windows上启动终端来运行一个项目&#xff1b;通过指令npm run start来启动&#xff0c;但是将终端一关&#xff0c;就无法访问了&#xff0c;所以想到用pm2来管理 1. 全局安装pm2 npm i pm2 -g2. 在项目根目录执行指令(大部分兄弟的错误使用方法) pm2 st…

JMeter 下载、安装、启动

JMeter安装部署依赖Java环境&#xff0c;所以首先得安装JDK。 JDK下载JDK环境变量配置 ① 新建系统环境变量JAVA_HOME ② 编辑系统变量Path ③ 新建系统变量CLASSPATH变量 JMeter下载安装 Apache JMeter - Apache JMeter™ JMeter安装部署依赖Java环境&#xff0c;所以首…