• GEE:Landsat-T1级别影像去云和辐射校正



    这几天在做指数运算的时候,发现landsatT1级别数据是需要做辐射校正的,看到很多人使用LandsatT1数据,所以记录一下T1数据做辐射校正的方法和使用的波段。使用的数据集和波段如下表所示,

    卫星名称影像集合去云波段辐射校正波段
    Landsat-9LANDSAT/LC09/C02/T1QA_PIXELB10
    Landsat-8LANDSAT/LC08/C01/T1BQAB10
    Landsat-7LANDSAT/LE07/C02/T1QA_PIXELB6_VCID_1
    Landsat-5LANDSAT/LT05/C01/T1BQAB6

    Landsat-9

    // 未辐射校正数据
    var L5 = ee.ImageCollection("LANDSAT/LC09/C02/T1")
               .filterBounds(roi)
               .filterDate('2022-1-1','2022-10-30')
               .filterMetadata('CLOUD_COVER',"less_than",15)
               .map(radiance)
               .max()
               .clip(roi);
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    Landsat-9 去云和云阴影
    function remove_cloud(image){
    	  //去云和云阴影
    	  var cloudShadowBitMask = (1 << 3);  
    	  var cloudsBitMask = (1 << 5);  
    	  var qa = image.select("QA_PIXEL");  
    	  var mask = qa.bitwiseAnd(cloudShadowBitMask).eq(0).and(qa.bitwiseAnd(cloudsBitMask).eq(0));  
    	  return image.updateMask(mask);  
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    Landsat-9 辐射校正
    function radiance(image){
        var ThermalRadiance=ee.Algorithms.Landsat.calibratedRadiance(image.select('B10')).rename('B10_radiance');
        return image.addBands(ThermalRadiance)
    }
    
    • 1
    • 2
    • 3
    • 4

    Landsat-8

    var L8 = ee.ImageCollection("LANDSAT/LC08/C01/T1")
                       .filterBounds(roi)
                       .filterDate('2020-1-1','2020-12-31')
                       .filterMetadata('CLOUD_COVER',"less_than",15)
                       .map(remove_cloud) 
                       .map(radiance)
                       .max()
                       .clip(roi)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    Landsat-8 去云
    function remove_cloud(image){
       var image_qa = image.select('BQA');
       var maskComposite = image_qa.bitwiseAnd(1 << 4).eq(0)
       return image.updateMask(maskComposite) 
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    Landsat-8 辐射校正
    function radiance(image){
        var ThermalRadiance=ee.Algorithms.Landsat.calibratedRadiance(image.select('B10')).rename('B10_radiance');
        return image.addBands(ThermalRadiance)
    }
    
    • 1
    • 2
    • 3
    • 4

    Landsat-7

    // 未辐射校正数据
    var L7 = ee.ImageCollection("LANDSAT/LE07/C02/T1")
               .filterBounds(roi)
               .filterDate('2013-1-1','2013-12-31')
               .filterMetadata('CLOUD_COVER',"less_than",15)
               .map(radiance)
               .max()
               .clip(roi);
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    Landsat-7 去云和云阴影
    function remove_cloud(image){
    	  //去云和云阴影
    	  var cloudShadowBitMask = (1 << 4);  
    	  var cloudsBitMask = (1 << 3);  
    	  var qa = image.select("QA_PIXEL");  
    	  var mask = qa.bitwiseAnd(cloudShadowBitMask).eq(0).and(qa.bitwiseAnd(cloudsBitMask).eq(0));  
    	  return image.updateMask(mask);  
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    Landsat-7 辐射校正
    function radiance(image){
        var ThermalRadiance=ee.Algorithms.Landsat.calibratedRadiance(image.select('B6_VCID_1')).rename('B6_radiance');
        return image.addBands(ThermalRadiance)
    }
    
    • 1
    • 2
    • 3
    • 4

    Landsat-5

    // 未辐射校正数据
    var L5 = ee.ImageCollection("LANDSAT/LT05/C01/T1")
               .filterBounds(roi)
               .filterDate('2005-1-1','2005-12-31')
               .filterMetadata('CLOUD_COVER',"less_than",15)
               .map(radiance)
               .max()
               .clip(roi);
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    Landsat-5 去云
    function remove_cloud(image){
    		 var image_qa = image.select('BQA');
    	     var maskComposite = image_qa.bitwiseAnd(1 << 4).eq(0)
    	     return image.updateMask(maskComposite)
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    Landsat-5 辐射校正
    function radiance(image){
        var ThermalRadiance=ee.Algorithms.Landsat.calibratedRadiance(image.select('B6')).rename('B6_radiance');
        return image.addBands(ThermalRadiance)
    }
    
    • 1
    • 2
    • 3
    • 4
  • 相关阅读:
    【软考学习5】流水线基本概念、周期执行时间、吞吐率、加速比和效率的计算
    Spring Boot面试题
    src/backend/optimizer/README
    windows系统安装openssl并且转换证书格式
    【前端进阶——ES6基础①】ES6究竟有什么不同呢!
    区间信息维护与查询【树状数组 】 - 原理2 多维树状数组
    ESP32-S3 WEB+LCD 显示摄像头
    Mac Office文档常用快捷键
    SQL之between操作符
    Nginx的index.html文件内容+格式语法
  • 原文地址:https://blog.csdn.net/qq_35591253/article/details/127751255