首页 > 其他分享 >【GEE】基于GEE批量下载Landsat8 L2A数据(整幅)

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

时间:2024-02-01 11:56:12浏览次数:27  
标签:L2A roi SR image dataset GEE Landsat8 var

        之前发过一篇使用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对象,并设置缩放级别为10

function 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的基本操作,如果大家感兴趣也可以一起留言交流。

标签:L2A,roi,SR,image,dataset,GEE,Landsat8,var
From: https://www.cnblogs.com/RSran/p/18000896

相关文章

  • 软件卸不干净?自带软件没用?geekuninstaller软件推荐
    在这个电脑软件琳琅满目的时代,你是否遇到过以下问题:电脑上一个软件不想再用,死活卸不干净平时十分注重电脑清洁,突然借给了一个小白使用,被装了360,2345等“文明软件”系统自带的软件平时不用,不想占用空间,不知道如何卸载如果是这样的话,那么恭喜你找对了文章。GeekUninsta......
  • 【GEE】GEE反演地表温度相关问题说明(空洞、Landsat9数据集等)
    ​     之前分享了基于GEE-Landsat8数据集地表温度反演(LST热度计算),最近有很多小伙伴私信我很多问题,一一回复太慢了,所以今天写篇文章统一回答一下大家的问题。问题1:数据有很多空洞、某些条带没有数据等问题2:如何使用Landsat9数据进行温度反演问题3:该反演算法的来源......
  • Code Review、InLineChat、RAG能力全部独家提供,这波上新CodeGeeX平替Github Copilot稳
    智谱AI2024年度的技术开放日上,CodeGeeX重磅发布第三代模型。针对CodeGeeX插件产品的系列新功能,也同时上线发布,提供给用户免费使用。一、第三代模型性能全面提升CodeGeeX第三代模型正式发布,基础能力全面提升。针对Python、Java、JavaScript、C++、Golang五种主流编程语言,代......
  • GEE数据集——哨兵2号Sentinel-2 云概率数据集
    简介S2云概率由sentinel2-cloud-detector库创建(使用LightGBM)。在应用梯度提升基础算法之前,先使用双线性插值法将所有波段上采样至10米分辨率。得到的0...1浮点概率被缩放为0...100,并存储为UINT8。缺少任何或所有波段的区域都会被屏蔽掉。数值较高的区域更有可能是云层或......
  • 国产最强的 AI 代码生成插件:CodeGeeX
    国产最强的AI代码生成插件:CodeGeeX学习改变命运,技术铸就辉煌。大家好,我是銘,AI已经火了一年多了,国内很多公司也都开始开发了很多AI工具。今天我们就来聊一聊国产的AI代码生成工具CodeGeex。官方介绍首先,我们来看一下官方对它的介绍CodeGeeX是一款基于大模型的智......
  • Google earth engine(GEE)示例:地形分析
    //导入研究区域varstudyArea:Tableprojects/assets/study_area//导入SRTM地形数据varsrtm=ee.Image('USGS/SRTMGL1_003');//提取研究区域的高程varelevation=srtm.clip(studyArea);//计算坡度varslope=ee.Terrain.slope(elevation);//计算坡向va......
  • "ManageEngine荣获Gartner SIEM客户选择四连冠"
    我们非常激动地宣布,ManageEngine已经连续第四次被认定为GartnerPeerInsights‘VoiceoftheCustomer’:安全信息与事件管理(SIEM)中的客户选择。这不仅是对我们卓越SIEM解决方案承诺的肯定,也延续了ManageEngine在行业的声望。同时,我们还连续六次被认定为2023年Gartner®MagicQuad......
  • GEE好文推荐——利用样本点迁移方法快速实现全球范围内1984年至今基于Landsat影像的土
    最近我新发表了一篇新的文章,也就是利用样本点迁移的方法来快速实现全球长时序快速土地分类,本文发布了应用APP,用户可以在线体验使用快速分类的效果。原文链接:Land|FreeFull-Text|RapidLandCoverClassificationUsinga36-YearTimeSeriesofMulti-SourceRemoteSensing......
  • CodeGeeX智能编程
    一、写在前面大家遇到代码不会的问题,本能的就会去求助chatGPT,但是没有梯子的话,chatGPT是不是也帮不上忙了?秉着白嫖的精神,分享给大家一款非常牛的插件CodeGeex。二、CodeGreex简介CodeGreex支持多种主流IDE,如VSCode、IntelliJIEAD、PyCharm、vim等,同时支持Python、java、C++/C......
  • codegeex 程序员代码工具
    一、codegeex简介CodeGeeX是清华和智谱AI联合打造的多语言代码生成模型。官网地址:https://codegeex.cn/二、安装方法1、支持IDE如下:vscode、GoLand、IntelliJIDEA等2、支持语言如下:python、C++、Go、Java等3、以vscode为例,只需安装插件即可三、功能1、AskCodeGee......