使用Google Earth Engine计算1994-2000年Landsat 5 TM数据的Forel-Ule指数(FUI)

一、什么是Forel-Ule指数(FUI)?

Forel-Ule指数(FUI)是一种用于描述水体颜色的分类系统,最初由Forel和Ule于19世纪末提出。该指数将水体颜色分为21个等级,从蓝绿色(1级)到棕色(21级),可以有效反映水体的光学特性和水质状况。

在遥感应用中,FUI通常基于多光谱卫星影像的反射率数据计算得出,能够帮助研究人员大规模、长期监测水体颜色变化,进而分析水质变化趋势、富营养化状况等环境问题。

二、研究数据与区域

1. 数据源

本研究使用的是Landsat 5 TM传感器的Level 2级表面反射率数据(LANDSAT/LT05/C02/T1_L2),时间范围为1994-2000年。Landsat 5卫星携带的TM传感器具有7个波段,其中我们主要使用了以下4个光学波段进行FUI计算:

  • SR_B1:蓝光波段(0.45-0.52μm)
  • SR_B2:绿光波段(0.52-0.60μm)
  • SR_B3:红光波段(0.63-0.69μm)
  • SR_B4:近红外波段(0.76-0.90μm)

2. 研究区域

研究区域可以通过修改代码中的geometry变量进行设置,默认使用的是"projects/ee-hllutlu2024/assets/DT2"路径下的矢量数据。实际应用时,只需替换为自己的研究区域矢量数据即可。

三、完整代码解析

1. 研究区域加载

var geometry = ee.FeatureCollection("projects/ee-hllutlu2024/assets/DT2"); // 替换为实际研究区域
Map.centerObject(geometry, 9);

这段代码的作用是加载研究区域的矢量数据,并将地图中心定位到该区域,缩放级别为9级。

2. Landsat 5 TM数据预处理函数

function preprocessL5(image) {
   
   
  var qaPixel = image.select('QA_PIXEL');
  var qaRadsat = image.select('QA_RADSAT');
  
  // 云阴影掩码
  var cloudShadowMask = qaPixel.bitwiseAnd(parseInt('11111', 2)).eq(0);
  // 饱和度掩码
  var saturationMask = qaRadsat.eq(0);
  
  // 光学波段反射率计算(将DN值转换为实际反射率)
  var opticalBands = image.select(['SR_B1', 'SR_B2', 'SR_B3', 'SR_B4'])
                          .multiply(0.0000275)
                          .add(-0.2);
  
  // 返回处理后的影像
  return image.addBands(opticalBands, null, true)
              .updateMask(cloudShadowMask)
              .updateMask(saturationMask)
              .clip(geometry);
}

预处理函数主要完成以下工作:

  • 利用QA_PIXEL波段创建云阴影掩码,去除云阴影影响
  • 利用QA_RADSAT波段创建饱和度掩码,去除饱和像元
  • 将光学波段的DN值转换为实际反射率(应用缩放因子0.0000275和偏移量-0.2)
  • 对影像进行裁剪,只保留研究区域内的部分

3. FUI计算核心函数

function calculateFUI(meanImage) {
   
   
  // 计算归一化水体指数(NDWI)并提取水体
  var ndwi = meanImage.normalizedDifference(['SR_B2', 'SR_B4']);
  var waterMask = ndwi.gte(0.25).selfMask();
  var waterReflectance = meanImage.updateMask(waterMask);

  // 计算X、Y、Z三刺激值
  var X = waterReflectance.expression(
    '11.053 * b1 + 6.950 * b2 + 51.135 * b3 + 34.457 * b4',
    {
   
   b1: waterReflectance.select('SR_B1'), b2: waterReflectance.select('SR_B2'),
     b3: waterReflectance.select('SR_B3'), b4: waterReflectance.select(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

遥感AI实战

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

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

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

打赏作者

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

抵扣说明:

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

余额充值