简介
Landsat 8是由美国地质调查局(USGS)和国家航空航天局(NASA)联合研制的一颗遥感卫星,它搭载了一台名为Operational Land Imager (OLI)的多光谱传感器。OLI传感器可以提供高分辨率的遥感数据,包括QA_PIXEL波段数据,该波段用于云检测和云遮蔽处理。
TOA (Top of Atmosphere)数据集是反射辐射度的一种测量方式,它考虑了大气影响而得出的反射率数据,可以用于各种地表应用研究。然而,由于大气散射和云遮蔽的存在,TOA数据集中可能包含大量的云影响,影响后续的数据分析和应用。
为了去除TOA数据集中的云影响,可以利用QA_PIXEL波段进行掩膜运算。QA_PIXEL波段中的像素值表示了每个像素点的云检测结果。一般来说,像素值为0表示云被探测到,像素值为1表示云被排除,像素值为2表示云可能存在,但不确定。因此,我们可以使用QA_PIXEL波段的像素值来提取出云被探测到的像素点,然后将这些像素点在TOA数据集中进行掩膜操作,从而去除云的影响。
具体的掩膜运算步骤如下:
1. 读取Landsat 8的TOA数据集和QA_PIXEL波段数据。
2. 根据QA_PIXEL波段的像素值,提取出云被探测到的像素点。一般来说,像素值为0的像素点表示云被探测到,可以通过逻辑运算或条件判断来实现。
3. 对提取出的云像素点,在TOA数据集中进行掩膜操作。可以将这些像素点的数值设置为0或者通过一些插值方法进行填充。
4. 将处理后的TOA数据集保存为新的数据集,用于后续的数据分析和应用。
利用QA_PIXEL波段进行Landsat 8 TOA数据集掩膜运算去云的好处是可以有效去除云的影响,提高数据的质量。通过去除云的影响,我们可以更好地观察和分析地表的真实状态,以及进行各种地表应用研究,如土地覆盖分类、植被监测等。
然而,需要注意的是,QA_PIXEL波段仅提供了云检测结果,并不保证100%的准确性。因此,在进行掩膜运算时,可能会存在一定的误差。为了提高掩膜的准确性,可以结合其他方法和数据,如时间序列分析、光谱特征等,来进一步优化云遮蔽处理。
总之,通过利用QA_PIXEL波段进行Landsat 8 TOA数据集掩膜运算去云,可以提高数据质量,减少云的影响,为后续的数据分析和应用提供更可靠的数据基础。同时,需要综合多种方法和数据,以提高掩膜的准确性和可靠性。
函数
map(algorithm)
针对ImageCollection中的每个Image进行循环计算
方法参数
- algorithm( function )
将应用于集合中的每个图像的算法
返回值: Collection
代码
/** * @File : CloudMask_LandsatTOA * @Time : 2023/05/23 * @Author : GEOVIS Earth Brain * @Version : 0.1.0 * @Contact : 中国(安徽)自由贸易试验区合肥市高新区望江西路900号中安创谷科技园一期A1楼36层 * @License : (C)Copyright 中科星图数字地球合肥有限公司 版权所有 * @Desc : 利用QA_PIXEL波段进行Landsat TOA数据集掩膜运算去云 * @Name : Landsat TOA数据集云掩膜运算 */ /** */ // QA_PIXEL 波段掩膜去除像素. function maskLandsatTOA(image) { var qaMask = image.select(['QA_PIXEL']); var mask = qaMask.bitwiseAnd(8).eq(0); return image.updateMask(mask); }; var geometry= gve.Geometry.Polygon([ [ [ 116.54603647147701, 32.41625845398016 ], [ 118.01823269264935, 32.41625845398016 ], [ 118.01823269264935, 31.358171432120955 ], [ 116.54603647147701, 31.358171432120955 ], [ 116.54603647147701, 32.41625845398016 ] ] ]) var style = {color: '#8b0000', polygonFillColor: "#00000000", lineWidth:3} Map.addLayer(geometry, {style:style}); //获取影像集合 var imageCollection = gve.ImageCollection("LANDSAT_8/02/T1/TOA") .filterBounds(geometry) .filterDate('2022-05-01','2022-05-30') .select(['B2','B3','B4','QA_PIXEL']); var rawImage = imageCollection.median().clip(geometry); //影像集合Mask去云 var collection = imageCollection.map(maskLandsatTOA); //影像集合合成裁剪 var maskImage = collection.median().clip(geometry); var visParams = { bands: ['B4', 'B3', 'B2'], min: 0, max: 4000, }; //影像集合显示 Map.addLayer(rawImage,visParams,"rawImage"); Map.centerObject(maskImage) var id = Map.addLayer(maskImage,visParams,"maskImage"); // Map.flyto(id);