• GEE开发之Landsat8计算NDWI和数据分析



    前言:这次主要介绍使用Landsat8计算NDWI(归一化差异水体指数)的数据进行分析。


    1 NDWI(归一化差异水体指数)

    • 公式:NDWI = (GREEN-NIR)/(GREEN+NIR)
    • 式中: GREEN为绿光波段; NIR为近红外波段。NDWI主要利用了在近红外波段水体强吸收几乎没有反射而植被反射率很强的特点,通过抑制植被和突出水体用来提取影像中的水体信息,效果较好。但是由于NDWI只考虑了植被因素,忽略了建筑物和土壤这2个重要的地物,通过NDWI提取水体信息时由于绿光波段的反射率远远高于近红外波段,所以提取结果往往混淆有土壤和建筑物信息。用NDWI提取城市水体时会有较多建筑物阴影的水体,效果较差。

    2 获取NDWI影像

    代码如下(以鹿邑县为例):

    var roi = ee.FeatureCollection('users/www1573979951/luyixian')
    Map.centerObject(roi,7)
    //筛选Landsat8影像
    var l8_image = ee.ImageCollection('LANDSAT/LC08/C01/T1_SR').filterBounds(roi).filterDate('2020-01-01', '2020-12-31').filter(ee.Filter.lte('CLOUD_COVER',10)).median().clip(roi);
    var rgbVis = {
      min: 0.0,
      max: 3000,
      bands: ['B4', 'B3', 'B2'],
    };
     
    Map.addLayer(l8_image, rgbVis, 'l8_image');
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    数据集截图:
    在这里插入图片描述
    遥感影像截图:
    在这里插入图片描述

    3 计算NDWI并得到图像和数据

    代码如下(以鹿邑县为例)

    var roi = ee.FeatureCollection('users/www1573979951/luyixian');
    Map.centerObject(roi,7);
    //筛选Landsat8影像
    var l8_image = ee.ImageCollection('LANDSAT/LC08/C01/T1_SR').filterBounds(roi).filterDate('2020-01-01', '2020-12-31').filter(ee.Filter.lte('CLOUD_COVER',10)).median().clip(roi);
    var ndwi = l8_image.normalizedDifference(['B3','B5']).float().rename('l8_NDWI'); 
    var visParams1 = {min: 0, max: 1, palette: ['0000FF', 'FF0000']};
    Map.addLayer(ndwi, visParams1, "l8_NDWI");
    print(ndwi);
    Export.image.toDrive({
      image: ndwi,
      description: 'l8_NDWI',
      crs: "EPSG:4326",
      scale: 30,
      region: roi,
      maxPixels: 1e13,
      folder: 'l8_NDWI'
    });
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    在这里插入图片描述
    TIF数据截图:
    在这里插入图片描述

  • 相关阅读:
    SpringCloud -- Nacos配置管理
    MongoDB 学习笔记
    Webpack最佳实践
    Jmeter 设置为中文格式
    词根词缀学单词【3】
    javaScript贪吃蛇
    软件项目管理判断题
    避免创建不必要的对象
    未支付订单的过期删除策略
    iptables 命令和 iptables.service 服务 有什么关系 ?
  • 原文地址:https://blog.csdn.net/qq_32306361/article/details/126247211