GEE两种去云函数对Landsat8数据集的比较

首先要知道去云的本质是掩膜,现对GEE两种常见的去云函数进行对比:


第一种来源于官方文档(网址:https://developers.google.com/earth-engine/guides/getstarted

代码如下:

// This function masks cloudy pixels.
var cloudMask = function(image) {
  var clouds = ee.Algorithms.Landsat.simpleCloudScore(image).select(['cloud']);
  return image.updateMask(clouds.lt(10));
};

第二种利用QA_PIXEL波段,代码如下:

// 去云函数
function removeCloud(image){
  var qa = image.select('QA_PIXEL')
  var cloudMask = qa.bitwiseAnd(1 << 3).eq(0)
  var cloudShadowMask = qa.bitwiseAnd(1 << 5).eq(0)
  var valid = cloudMask.and(cloudShadowMask)
  return image.updateMask(valid)
}

数据准备:

选取了一景含云量为99.97%的Landsat 8影像,ID号为:LANDSAT/LC08/C02/T1_TOA/LC08_127042_20220314。


结果比较:

直接在envi里查看结果如下:

云量为99.97的原始影像:

cloudMask结果:

removeCloud结果:

由此可知,removeCloud的去云效果更为彻底,当然cloudMask也可以调整阈值来获得更好的效果,cloudMask还具有代码简洁的优点。

注:这里导出的影像是经过roi裁剪的,未裁剪的影像导出大约慢5分钟!


完整代码如下:

// For a Landsat Image:
// data to prepare
var L8CloudMax = ee.Image('LANDSAT/LC08/C02/T1_TOA/LC08_127042_20220314');
// to view the metadata
// print(L8CloudMax)

// Map.centerObject(L8CloudMax,7)
// Map.addLayer(L8CloudMax.select(['B4', 'B3', 'B2']), {}, 'L8CloudMax')

Export.image.toDrive({
  image:  L8CloudMax.select(['B4', 'B3', 'B2']),
  description: 'L8CloudMax',
  folder: 'GEE_downloads',
  scale: 30,
  // region: roi,
  crs: 'EPSG: 4326'
});

//__________________________________________________________________________________________________________________________________________________________
// this funcion supplied by gee normal, control the threshold to achieve an ideal effect
var cloudMask = function(image){
  var clouds = ee.Algorithms.Landsat.simpleCloudScore(image).select(['cloud'])
  return image.updateMask(clouds.lt(10))
}

var maskedImg = cloudMask(L8CloudMax)

// Map.centerObject(maskedImg,7)
// Map.addLayer(maskedImg.select(['B4', 'B3', 'B2']), {}, 'maskedImg')

Export.image.toDrive({
  image:  maskedImg.select(['B4', 'B3', 'B2']),
  description: 'maskedImg',
  folder: 'GEE_downloads',
  scale: 30,
  // region: roi,
  crs: 'EPSG: 4326'
});

//__________________________________________________________________________________________________________________________________________________________
// this function supplied by online, has a better effect than above
function removeCloud(image){
  var qa = image.select('QA_PIXEL')
  var cloudMask = qa.bitwiseAnd(1 << 3).eq(0)
  var cloudShadowMask = qa.bitwiseAnd(1 << 5).eq(0)
  var valid = cloudMask.and(cloudShadowMask)
  return image.updateMask(valid)
}

var removedImg = removeCloud(L8CloudMax)

// Map.centerObject(removedImg,7)
// Map.addLayer(removedImg.select(['B4', 'B3', 'B2']), {}, 'removedImg')

Export.image.toDrive({
  image:  removedImg.select(['B4', 'B3', 'B2']),
  description: 'removedImg',
  folder: 'GEE_downloads',
  scale: 30,
  // region: roi,
  crs: 'EPSG: 4326'
});

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
GEE(Google Earth Engine)是一种基于计算的地理信息处理平台,而Landsat则是一系列卫星数据,用于地球表面的观测和监测。 在使用GEE进行遥感数据处理时,如何去除是一个关键问题。的存在会对地表观测数据造成干扰,降低数据的质量和精度。GEE提供了一些方法和工具,可以帮助用户在处理Landsat数据时去除。 首先,GEE提供了一种称为掩膜(Cloud Masking)的技术。这种技术利用Landsat数据中的信息,通过算法或规则将区域标记出来,然后用户可以根据标记的区域进行进一步处理。通过掩膜,可以有效降低对观测数据的干扰。 其次,GEE还提供了基于多时相数据的对影像的去除方法。通过比较多个时间点的Landsat影像,可以发现在多个时间点上都存在的覆盖区域,并将其识别为。这种方法可以减少由于的遮挡导致的数据缺失和噪声。 此外,GEE还支持用户进行覆盖率的计算和分析。用户可以利用GEE提供的工具,对Landsat影像中的覆盖区域进行统计和可视化。通过分析覆盖率的空间和时间变化,可以了解特定地区的分布情况,从而更好地利用Landsat数据。 综上所述,GEELandsat数据处理中提供了多种方法来去除,包括掩膜和基于多时相数据的对影像去除等。这些方法可以帮助用户减少对地表观测数据的干扰,提高数据的质量和准确性。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值