Google Earth Engine(GEE)——Landsat4/5/7 SR数据除云

Landsat4/5/7 SR数据除云是我们进行波段计算必须要进行的一项工作,这样能更加准确的获取波段信息,所以我们今天来简单介绍除云。当然除云后会有空白板块的出现,这是在所难免的,至于影像色差如何取补,可以点击连接访问:

GEE(Google Earth Engine)消除影像色差——直方图匹配算法!_此星光明的博客-CSDN博客

 

 自己对比看两张影像的差距

从QA波段中获取信息,并且把条件设置好:如果设置了云位(5)并且云置信度(7)高或者云阴影位被设置 (3),那么它就是一个坏像素。去掉这些或者直接取反就行了。
var cloudMaskL457 = function(image) {
  var qa = image.select('pixel_qa');
  // If the cloud bit (5) is set and the cloud confidence (7) is high
  // or the cloud shadow bit is set (3), then it's a bad pixel.
  var cloud = qa.bitwiseAnd(1 << 5)
          .and(qa.bitwiseAnd(1 << 7))
          .or(qa.bitwiseAnd(1 << 3))
  //删除所有波段中不出现的边缘像素
  var mask2 = image.mask().reduce(ee.Reducer.min());
  return image.updateMask(cloud.not()).updateMask(mask2);
};

// 将函数映射到集合上并取中位数。
var collection = ee.ImageCollection('LANDSAT/LT05/C01/T1_SR')
    .filterDate('2010-04-01', '2010-07-30')

var composite = collection
    .map(cloudMaskL457)
    .median();

// Display the results in a cloudy place.
Map.setCenter(-6.2622, 53.3473, 12);
Map.addLayer(composite, {bands: ['B3', 'B2', 'B1'], min: 0, max: 3000});

 

  • 1
    点赞
  • 52
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
以下是在 Google Earth Engine 中导入 Landsat 5 数据集的代码示例: ```javascript // 定义时间范围 var startDate = ee.Date('1984-01-01'); var endDate = ee.Date('2012-05-05'); // 导入Landsat 5表面反射率数据集 var collection = ee.ImageCollection('LANDSAT/LT05/C01/T1_SR') .filterDate(startDate, endDate) .filterBounds(geometry); // 选择需要的波段 var bands = ['B1', 'B2', 'B3', 'B4', 'B5', 'B6', 'B7']; // 选择掩膜(可选) var maskClouds = function(image) { var qa = image.select('pixel_qa'); var cloud = qa.bitwiseAnd(1 << 5).neq(0); return image.updateMask(cloud.not()); }; // 应用掩膜 var maskedCollection = collection.map(maskClouds); // 打印导入的图像集合信息 print(maskedCollection); // 选择特定图像进行进一步分析 var image = maskedCollection.first(); print(image); ``` 在上述代码中,我们首先定义了一个时间范围,然后使用 `ee.ImageCollection()` 函数导入 Landsat 5 表面反射率数据集。通过 `filterDate()` 方法可以筛选出指定时间范围内的图像。我们还可以使用 `filterBounds()` 方法来限定导入数据的地理范围,其中 `geometry` 是表示地理范围的几何图形。 接下来,我们选择需要的波段,可以根据自己的需求修改 `bands` 数组。如果需要进行掩膜处理,可以定义 `maskClouds` 函数并应用于图像集合,通过 `map()` 方法应用掩膜。 最后,我们可以打印导入的图像集合信息,并选择特定的图像进行进一步的分析。在示例中,我们选择了第一张图像进行打印。 请注意,在使用上述代码之前,需要在代码中指定感兴趣区域的几何图形,可以使用 `ee.Geometry()` 函数来定义几何图形。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

此星光明

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值