基于 GEE 利用 MODIS 数据反演水体叶绿素含量

目录

1 反演模型建立

2 完整代码

3 运行结果


1 反演模型建立

本文介绍在谷歌地球引擎(Google Earth Engine,GEE)中,基于多元回归分析,由MODIS遥感影像反演长时间序列的水体叶绿素(Chl-a)含量的方法。

本文将基于论文《基于GEE的中国南海水质反演与富营养化评价》中使用的多元回归公式,由MODIS遥感地表反射率数据(MOD09GA数据产品)反演水体叶绿素含量。在本文中,以杭州湾地区为例,反演其在2022年4个季节中,叶绿素含量的季节平均值。

首先,在上述这一论文中,对水体叶绿素含量的反演公式描述如下所示,在研究中,通过比较不同模型的拟合效果,综合考虑了R2(决定系数)和RMSE(均方根误差)来选择最佳的反演模型。以下是各个参数的反演模型及其效果:

  1. SD(悬浮物浓度)模型

    • 选择的模型为:SD=1027.7(B02)2−134.71(B02)+5.9348

    • 该模型的R2为0.638,RMSE为0.551,表明模型具有较好的一致性和准确性。

  2. TN(总氮)模型

    • 拟合效果最好的模型是基于SD、B01、B02、B03的多元变量非线性拟合,拟合方程为: TN=−0.000077916(SD)2−0.381(B01)+0.088(B02)+0.033(B03)+0.027

  3. COD(化学需氧量)模型

dNBR值(differenced Normalized Burn Ratio)是衡量火灾烈度的指标之一,可以通过MODIS/061/MCD64A1数据计算得到。 以下是基于GEE计算dNBR值的步骤: 1. 打开GEE平台并登录账号。 2. 在左侧菜单栏中选择“地图”选项,进入地图界面。 3. 在地图界面中,点击左上角的“+”按钮,添加MODIS/061/MCD64A1数据。 4. 在左侧图层栏中选择“MODIS/061/MCD64A1_500m_aid0001”图层,并调整时间范围至所需的时间段。 5. 在左侧菜单栏中选择“代码编辑器”,并在编辑器中输入以下代码: ``` // 定义AOI区域 var aoi = ee.Geometry.Polygon( [[[113.0, 33.0], [115.0, 33.0], [115.0, 35.0], [113.0, 35.0], [113.0, 33.0]]], null, false); // 选择计算的时间段 var start_date = ee.Date.fromYMD(2019, 1, 1); var end_date = ee.Date.fromYMD(2019, 12, 31); // 选择计算的MODIS波段 var modis_bands = ['BurnDate','QA']; // 筛选出指定时间段内的MODIS数据 var modis_dataset = ee.ImageCollection('MODIS/006/MCD64A1') .select(modis_bands) .filterDate(start_date, end_date) .filterBounds(aoi); // 定义NDVI计算公式 var nbr_formula = function(image) { var nbr = image.normalizedDifference(['sur_refl_b04', 'sur_refl_b07']); return nbr.rename('NBR'); }; // 计算dNBR值 var pre_fire = ee.Image(modis_dataset.sort('system:time_start', false).first()).select('BurnDate'); var post_fire = ee.Image(modis_dataset.sort('system:time_start', true).first()).select('BurnDate'); var pre_nbr = nbr_formula(pre_fire); var post_nbr = nbr_formula(post_fire); var dNBR = post_nbr.subtract(pre_nbr).rename('dNBR'); // 将结果可视化 Map.centerObject(aoi, 9); Map.addLayer(dNBR, {min:-1,max:1,palette:['FF0000','FFFF00','00FF00']}, 'dNBR'); ``` 上述代码中,首先定义了计算区域(AOI)、计算时间段(start_date和end_date)以及需要计算的MODIS波段(modis_bands)。接着,通过ImageCollection函数筛选出指定时间段内的MODIS数据,并选择需要的波段。定义了计算dNBR值所需的函数(nbr_formula),并使用该函数计算出前火情(pre_fire)和后火情(post_fire)的NBR值,最终得出dNBR值(dNBR)。最后将结果可视化,其中min、max和palette参数可根据需要进行调整。 完成上述代码的输入和运行后,即可在地图上看到计算得到的dNBR值。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值