GEE—关于RSEI生态遥感指数中出现的问题 Layer error: Image.rename: The number of names (1) must match the number of..

在学习Google Earth Engine(GEE)并尝试计算RSEI生态遥感指数时,遇到了'Layer error: Image.rename: The number of names (1) must match the number of bands (5)'的错误。问题根源在于某些年份的影像只有1个波段而非预期的5个。解决方案是通过逐个年份分析,确保所有年份都有完整的波段数据,对于缺失数据的年份可能需要使用影像弥补策略。同时,作者分享了GEE的学习资源和后续教程计划。
摘要由CSDN通过智能技术生成

出现的问题:

我是GEE的刚开始接触     拜读您的“Google Earth Engine——Landsat 1985-2020年生态遥感指数RESI计算”一文并引用您分享的代码,在运行过程中提示“RSEI2004: Layer error: Image.rename: The number of names (1) must match the number of bands (5)”,想跟您请教一下。因为是刚接触,好多代码运行中的问题看不懂 ,还请您赐教!同时也想跟您请教一下有没有小白自学合适的课程推荐,这里大家去看我的专栏此星光明_GEE数据集专栏,GEE教程训练,Google Earth Engine-CSDN博客,《GEE教程训练》\《Google earth engine》和《gee 案例分析》以及《gee python》大家可以根据自己的情况去选择

后续会进行相关教程视频的上传,以及相应新书的出版,所以这里希望大家持续关注。

RSEI2004: Layer error: Image.rename: The number of names (1) must match the number of bands (5)”,

 

以上这个问题主要原因是来源于我之前写的这篇博客,关于计算逐年RSEI的代码,原始的博客地址:

Google Earth Engine——Landsat 1985-2020年生态遥感指数RESI计算_此星光明的博客-CSDN博客

RSEI生态遥感指数是一种用于评估生态质量的遥感指标。该指数主要从遥感图像中提取出土地利用类型、植被覆盖度、土地形态、地表覆盖和土地利用方式等信息,通过对这些信息进行综合分析和计算,得出反映生态环境质量的指数值,以评估某一区域的生态环境质量。该指数可用于生态环境监测、生态保护和生态修复等领域。

原始代码代码:

// var roi = 
//     /* color: #d63000 */
//     /* displayProperties: [
//       {
//         "type": "rectangle"
//       }
//     ] */
//     ee.Geometry.Polygon(
//         [[[105.55104505173978, 34.27794089351641],
//           [105.55104505173978, 33.54856067523731],
//           [106.51784192673978, 33.54856067523731],
//           [106.51784192673978, 34.27794089351641]]], null, false);
 
function Interpol(imgcoll, timeBandName)
{
  // length
  var colsize = imgcoll.size();
  var bandNames = imgcoll.first().bandNames();
  // make sure first and last NonNull
  var firstImg = imgcoll.reduce(ee.Reducer.firstNonNull()).rename(bandNames); // yuan
  var lastImg = imgcoll.reduce(ee.Reducer.lastNonNull()).rename(bandNames);  //  jin
  var imgList = imgcoll.toList(colsize);
  // reset imglist
  var B = imgList.slice(1,-1);
  var A = ee.Image(imgList.get(0));
  var C = ee.Image(imgList.get(-1));
  firstImg = firstImg.set({'system:time_start':A.get('system:time_start')});
                  //  .set({'user:index':A.get('user:index')});
  lastImg = lastImg.set({'system:time_start':C.get('system:time_start')});
                  //  .set({'user:index':C.get('user:index')});
  var D = B.insert(0, firstImg).add(lastImg);
  var D_imgcol = ee.ImageCollection(D);
  // mask imgcol
  var imgcollmask = imgcoll.map(function(img)
  {
    img = img.updateMask(img.select(0).mask());
    return img;
  });
  var D_mask = imgcollmask.toList(colsize);
  var maskBandNames = imgcollmask.first().bandNames();
  // interpol
  var imgcoll_List_Interpol = ee.List.sequence(1, colsize.subtract(2)).map(function(i)
  {
    i = ee.Number(i);
    var pre= ee.ImageCollection(D_mask.slice(0,i.add(1))).reduce(ee.Reducer.lastNonNull());
    var cur= D.get(i);
    var next=ee.ImageCollection(D_mask.slice(i,-1)).reduce(ee.Reducer.firstNonNull());
    pre=ee.Image(pre).r
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

此星光明

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

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

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

打赏作者

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

抵扣说明:

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

余额充值