zoukankan      html  css  js  c++  java
  • Google Earth Engine——基于新的Landsat SR数据集去云处理

    根据GEE官方公告,明年原来的Landsat/LT05/C01/T1_SR和Landsat/LC08/C01/T1_SR数据集将停止更新,并提供了新的地表反射率数据,就是LANDSAT/LT05/C02/T1_L2和LANDSAT/LC08/C02/T1_L2。新的数据集直接提供LST产品,方便获取地表温度,同时也给出官方代码去云处理。

    参考:USGS Landsat 5 Level 2, Collection 2, Tier 1 (google.com)

    去云代码如下:

     1 /****************************************L5 去云****************************************/
     2 /***************************************************************************************/
     3 // 使用Landsat5 Collection 2,Level 2 QA_PIXEL波段(CFMask)去云
     4 function maskL5sr(image) {
     5 // Bit 0 - fill
     6 // Bit 1 - Dilated Cloud
     7 // Bit 2 - Unused
     8 // Bit 3 - Cloud
     9 // Bit 4 - Cloud Shadow
    10 var qaMask = image.select('QA_PIXEL').bitwiseAnd(parseInt('11111', 2)).eq(0);
    11 var saturationMask = image.select('QA_RADSAT').eq(0);
    12 
    13 // 将缩放系数应用于适当的波段
    14 var opticalBands = image.select('SR_B.').multiply(0.0000275).add(-0.2);
    15 var thermalBand = image.select('ST_B6').multiply(0.00341802).add(149.0);
    16 
    17 // 用缩放后的波段替换,并应用云掩膜
    18 return image.addBands(opticalBands, null, true)
    19 .addBands(thermalBand, null, true)
    20 .updateMask(qaMask)
    21 .updateMask(saturationMask);
    22 }
    23 
    24 //处理一年的数据
    25 var collection = ee.ImageCollection('LANDSAT/LT05/C02/T1_L2')
    26 .filterDate('2010-01-01', '2011-01-01')
    27 .map(maskL5sr);
    28 //中值合成
    29 var composite = collection.median();
    30 
    31 // 地图展示
    32 Map.addLayer(composite, {bands: ['SR_B3', 'SR_B2', 'SR_B1'], min: 0, max: 0.3});
    33 /***************************************************************************************/
    34 
    35 /****************************************L8 去云****************************************/
    36 /***************************************************************************************/
    37 // 使用Landsat8 Collection 2,Level 2 QA_PIXEL波段(CFMask)去云 
    38 
    39 function maskL8sr(image) {
    40   // Bit 0 - Fill
    41   // Bit 1 - Dilated Cloud
    42   // Bit 2 - Cirrus
    43   // Bit 3 - Cloud
    44   // Bit 4 - Cloud Shadow
    45   var qaMask = image.select('QA_PIXEL').bitwiseAnd(parseInt('11111', 2)).eq(0);
    46   var saturationMask = image.select('QA_RADSAT').eq(0);
    47 
    48   // 用缩放后的波段替换,并应用云掩膜
    49   var opticalBands = image.select('SR_B.').multiply(0.0000275).add(-0.2);
    50   var thermalBands = image.select('ST_B.*').multiply(0.00341802).add(149.0);
    51 
    52   // 用缩放后的波段替换,并应用云掩膜
    53   return image.addBands(opticalBands, null, true)
    54       .addBands(thermalBands, null, true)
    55       .updateMask(qaMask)
    56       .updateMask(saturationMask);
    57 }
    58 
    59 // 处理一年的数据
    60 var collection = ee.ImageCollection('LANDSAT/LC08/C02/T1_L2')
    61                      .filterDate('2020-01-01', '2021-01-01')
    62                      .map(maskL8sr);
    63 //中值合成
    64 var composite = collection.median();
    65 
    66 // 地图展示
    67 Map.addLayer(composite, {bands: ['SR_B4', 'SR_B3', 'SR_B2'], min: 0, max: 0.3});
    68 /***************************************************************************************/

     

  • 相关阅读:
    用java代码调用shell脚本执行sqoop将hive表中数据导出到mysql
    用sqoop将mysql的数据导入到hive表中
    windows下启动mysql服务的命令行启动和手动启动方法
    使sqoop能够启用压缩的一些配置
    简易安装sqoop
    sqoop一些语法的使用
    mysql 视图
    MySQL 函数大全及用法示例
    MySQL 触发器 -1
    MySQL 函数
  • 原文地址:https://www.cnblogs.com/alu5060/p/15631171.html
Copyright © 2011-2022 走看看