Google Earth Engine(GEE)——ImageCollection.fromImages, argument ‘images‘: Invalid type. Expected type

简介: Google Earth Engine(GEE)——ImageCollection.fromImages, argument ‘images‘: Invalid type. Expected type

当我们遇到下面问题时,我们就是可能嵌套类型太多了,所以我们需要去掉原有的括号,也就是括号嵌套太多了,所以我们用在打印list时我们就需要脱掉外面的一层括号,这样才能正确展示,这里我们首先看看错误提示

错误:

ImageCollection (Error)

ImageCollection.fromImages, argument 'images': Invalid type.

Expected type: List<Image<unknown bands>>.

Actual type: List<List<Image<[LST_Day_1km]>>>. Actual value: [[<Image<[LST_Day_1km]>>, <Image<[LST_Day_1km]>>, <Image<[LST_Day_1km]>>, <Image<[LST_Day_1km]>>, <Image<[LST_Day_1km]>>, <Image<[LST_Day_1km]>>, <Image<[LST_Day_1km]>>, <Image<[LST_Day_1km]>>, <Image<[LST_Day_1km]>>, <Image<[LST_Day_1km]>>, <Image<[LST_Day_1km]>>, <Image<[LST_Day_1km]>>], [<Image<[LST_Day_1km]>>, <Image<[LST_Day_1km]>>, <Image<[LST_Day_1km]>>, <Image<[LST_Day_1km]>>, <Image<[LST_Day_1km]>>, <Image<[LST_Day_1km]>>, <Image<[LST_Day_1km]>>, <Image<[LST_Day_1km]>>, <Image<[LST_Day_1km]>>, <Image<[LST_Day_1km]>>, <Image<[LST_Day_1km]>>, <Image<[LST_Day_1km]>>], [<Image<[LST_Day_1km]>>, <Image<[LST_Day_1km]>>, <Image<[LST_Day_1km]>>, <Image<[LST_Day_1km]>>, <Image<[LST_Day_1km]>>, <Image<[LST_Day_1km]>>, <Image<[LST_Day_1km]>>, <Image<[LST_Day_1km]>>, <Image<[LST_Day_1km]>>, <Image<[LST_Day_1km]>>, <Image<[LST_Day_1km]>>, <Image<[LST_Day_1km]>>], [<Image<[LST_Day_1km]>>, <Image<[LST_Day_1km]>>, <Image<[LST_Day_1km]>>, <Image<[LST_Day_1km]>>, <Image<[LST_Day_1km]>>, <Image<[LST_Day_1km]>>, <Image<[LST_Day_1km]>>, <Image<[LST_Day_1km]>>, <Image<[LST_Day_1km]>>, <Image<[LST_Day_1km]>>, <Image<[LST_Day_1km]>>, <Image<[LST_Day_1km]>>], [<Image<[LST_Day_1km]>>, <Image<[LST_Day_1km]>>, <Image<[LST_Day_1km]>>, <Image<[LST_Day_1km]>>, <Image<[LST_Day_1km]>>, <Image<[LST_Day_1km]>>, <Image<[LST_Day_1km]>>, <Image<[LST_Day_1km]>>, <Image<[LST_Day_1km]>>, <Image<[LST_Day_1km]>>, <Image<[LST_Day_1km]>>, <Image<[LST_Day_1km]>>]]

 

 

原始代码:

var ROI = ee.FeatureCollection("projects/geemijan/assets/Bangladesh");
var modis  = ee.ImageCollection("MODIS/006/MOD11A2") 
                .select('LST_Day_1km')
                .filterDate('2012-01-01','2016-12-31')
                .filterBounds(ROI)
Map.setOptions('SATELLITE')
Map.addLayer(ROI)
Map.centerObject(ROI,5)
 
var LST_Res = function(image){
  var LST_temp =  image.toFloat().multiply(0.02).subtract(273.15)
  image = image.addBands(LST_temp);
  
  return image;
}
var LST_new = modis.map(LST_Res)
var modis = LST_new.select('LST_Day_1km')
            .map(function(img){
              var d = ee.Date(ee.Number(img.get('system:time_start')));
              var m = ee.Number(d.get('month'));
              var y = ee.Number(d.get('year'));
              
              return img.set({'month':m, 'year':y})
            })
print(modis)           
var months = ee.List.sequence(1,12)
var years = ([2012, 2013, 2014, 2015, 2016])
var byYearMonth = ee.ImageCollection.fromImages(
  years.map(function(y){
    return months.map(function(m){
      return modis.filterMetadata('year','equals',y)
                  .filterMetadata('month','equals',m)
                  .select('LST_Day_1km').mean()
                  .set('year',y)
                  .set('month',m)
                  .set('date', ee.Date.fromYMD(y,m,1))
    });
  }) 
  )
print( byYearMonth  )

此处的需要一个函数:

flatten()

Flattens collections of collections.

Arguments:

this:collection (FeatureCollection):

The input collection of collections.

Returns: FeatureCollection

flatten()

Flattens any sublists into a single list.

Arguments:

this:list (List)

Returns: List

修改后的代码:

var modis  = ee.ImageCollection("MODIS/006/MOD11A2") 
                .select('LST_Day_1km')
                .filterDate('2012-01-01','2016-12-31')
                .filterBounds(ROI)
Map.setOptions('SATELLITE')
Map.addLayer(ROI)
Map.centerObject(ROI,5)
 
var LST_Res = function(image){
  var LST_temp =  image.toFloat().multiply(0.02).subtract(273.15)
  image = image.addBands(LST_temp);
  
  return image;
}
var LST_new = modis.map(LST_Res)
var modis = LST_new.select('LST_Day_1km')
            .map(function(img){
              var d = ee.Date(ee.Number(img.get('system:time_start')));
              var m = ee.Number(d.get('month'));
              var y = ee.Number(d.get('year'));
              
              return img.set({'month':m, 'year':y})
            })
print(modis)           
var months = ee.List.sequence(1,12)
// var years = ([2012, 2013, 2014, 2015, 2016]
var years = ee.List.sequence(2012,2016)
var byYearMonth = ee.ImageCollection.fromImages(
  years.map(function(y){
    return months.map(function(m){
      return modis.filterMetadata('year','equals',y)
                  .filterMetadata('month','equals',m)
                  .select('LST_Day_1km').mean()
                  .set('year',y)
                  .set('month',m)
                  .set('date', ee.Date.fromYMD(y,m,1))
    });
  }).flatten() 
  )
print( byYearMonth  )

 

相关文章
|
1月前
|
数据可视化 定位技术 Sentinel
如何用Google Earth Engine快速、大量下载遥感影像数据?
【2月更文挑战第9天】本文介绍在谷歌地球引擎(Google Earth Engine,GEE)中,批量下载指定时间范围、空间范围的遥感影像数据(包括Landsat、Sentinel等)的方法~
1019 1
如何用Google Earth Engine快速、大量下载遥感影像数据?
|
1月前
|
机器学习/深度学习 算法 数据可视化
基于Google Earth Engine云平台构建的多源遥感数据森林地上生物量AGB估算模型含生物量模型应用APP
基于Google Earth Engine云平台构建的多源遥感数据森林地上生物量AGB估算模型含生物量模型应用APP
143 0
|
1月前
|
存储 编解码 数据可视化
Google Earth Engine获取随机抽样点并均匀分布在栅格的不同数值区中
【2月更文挑战第14天】本文介绍在谷歌地球引擎(Google Earth Engine,GEE)中,按照给定的地表分类数据,对每一种不同的地物类型,分别加以全球范围内随机抽样点自动批量选取的方法~
302 1
Google Earth Engine获取随机抽样点并均匀分布在栅格的不同数值区中
|
1月前
|
API Go 网络架构
GEE Colab——如何从本地/Google云盘/Google Cloud Storage (GCS)上传和下载
GEE Colab——如何从本地/Google云盘/Google Cloud Storage (GCS)上传和下载
138 4
|
1月前
|
机器学习/深度学习 存储 人工智能
GEE Colab——初学者福音快速入门 Google Colab(Colaboratory)
GEE Colab——初学者福音快速入门 Google Colab(Colaboratory)
98 3
|
1月前
|
编解码 人工智能 算法
Google Earth Engine——促进森林温室气体报告的全球时间序列数据集
Google Earth Engine——促进森林温室气体报告的全球时间序列数据集
40 0
|
1月前
|
编解码 人工智能 数据库
Google Earth Engine(GEE)——全球道路盘查项目全球道路数据库
Google Earth Engine(GEE)——全球道路盘查项目全球道路数据库
61 0
|
1月前
|
编解码
Open Google Earth Engine(OEEL)——matrixUnit(...)中产生常量影像
Open Google Earth Engine(OEEL)——matrixUnit(...)中产生常量影像
33 0
|
1月前
Google Earth Engine(GEE)——导出指定区域的河流和流域范围
Google Earth Engine(GEE)——导出指定区域的河流和流域范围
81 0
|
1月前
|
传感器 编解码 数据处理
Open Google Earth Engine(OEEL)——哨兵1号数据的黑边去除功能附链接和代码
Open Google Earth Engine(OEEL)——哨兵1号数据的黑边去除功能附链接和代码
40 0

热门文章

最新文章