GEE水体掩膜阈值选择0.1还是0.2?

去水体的原理旨在利用绿波波段(Green Band)和近红外波段(NIR Band)构建归一化水体指数(NDWI),该指数能够很好的识别出水体,计算公式如下:

NDWI = \frac{Green - NIR}{Green + NIR}

以Landsat 8数据为例,水体掩膜代码如下:

function waterMask(image) {
  var ndwi = image.normalizedDifference(['B3', 'B5'])
  var mask = ndwi.lt(0.2) // default 0.2
  return image.updateMask(mask)
};

在水体掩膜阈值中,常用ndwi < 0.2来作为水体的界限;本文使用了0.1和0.2两种阈值,来探讨和对比其各自的去水体效果。 


数据准备:

为了防止去云处理对去水体处理产生干扰,在数据处理部分省去了去云处理。

本文选取了两景云量很少的Landsat 8数据,img1:LANDSAT/LC08/C02/T1_TOA/LC08_127042_20220906,云量为0.11%;

img2:LANDSAT/LC08/C02/T1_TOA/LC08_127041_20220906,云量为0.56%。


结果比较:

分别在湿地和河流区域进行了对比:

湿地原始
湿地0.1
湿地0.2
河流原始
河流0.1
河流0.2

由以上结果可知,无论在湿地还是河流区域,0.1和0.2的差别不是很显著,微弱的差别得放大图像才能看清:0.1的阈值水体掩膜范围比0.2的更大,在图像上表现为更为圆滑和彻底;即:水体掩膜的阈值越小,去水体效果更为彻底。


完整代码如下:

// For a Landsat Image:
// data to prepare
var img1 = ee.Image('LANDSAT/LC08/C02/T1_TOA/LC08_127042_20220906');
var img2 = ee.Image('LANDSAT/LC08/C02/T1_TOA/LC08_127041_20220906');

// to view metadata
// print(img1, img2);

//__________________________________________________________________________________________________
// to generate unwatermasked image
var unwatered_Img = ee.ImageCollection([img1, img2])
                        .mosaic()
                        .clip(roi);

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

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

//________________________________________________________________________________________________
// set the threshold 0.1
function waterMask01(image) {
  var ndwi = image.normalizedDifference(['B3', 'B5'])
  var mask = ndwi.lt(0.1)
  return image.updateMask(mask)
};

var watermasked_Img01 = ee.ImageCollection([img1, img2])
                        .map(waterMask01)
                        .mosaic()
                        .clip(roi);

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

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

//__________________________________________________________________________________________________
// set the threshold 0.2
function waterMask02(image) {
  var ndwi = image.normalizedDifference(['B3', 'B5'])
  var mask = ndwi.lt(0.2)
  return image.updateMask(mask)
};

var watermasked_Img02 = ee.ImageCollection([img1, img2])
                        .map(waterMask02)
                        .mosaic()
                        .clip(roi);

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

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

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值