ee.ImageCollection和ee.ImageCollection.fromImages有什么区别?
【ee.ImageCollection 和 ee.ImageCollection.fromImages 是两种不同的方法,用于从图像集中获取图像。
ee.ImageCollection 是一个函数,它将一个或多个图像集合成一个图像集。它返回一个 ee.ImageCollection 对象,该对象包含所有输入图像的波段。ee.ImageCollection() 方法返回的图像集是可变的,也就是说,您可以在运行时添加或删除图像,并且可以更改图像集的大小或类型。
ee.ImageCollection.fromImages() 方法是一个生成函数,它将一个或多个图像转换为 ee.ImageCollection 对象。与 ee.ImageCollection() 方法不同,ee.ImageCollection.fromImages() 方法返回的是一个固定的 ee.ImageCollection 对象,该对象不可变。这意味着不能在运行时添加或删除图像,并且不能改变图像集的大小或类型。
因此,如果您需要动态地添加或删除图像,或者需要修改图像集的大小或类型,应该使用 ee.ImageCollection() 方法。如果您需要创建一个不可变的 ee.ImageCollection 对象,并且不需要在运行时添加或删除图像,应该使用 ee.ImageCollection.fromImages() 方法。】
------------------【代码解释】
ee.ImageCollection('MODIS/006/MCD43A4'): 加载MODIS MCD43A4数据集,该数据集包含反射率和NDVI等指标数据。
filter(ee.Filter.calendarRange(2018,2018,'year')): 过滤出2018年的数据。
filter(ee.Filter.calendarRange(131,284,'day_of_year')): 过滤出每年的第131至284天,这大致对应于每年的5月11日至10月11日。
filterBounds(MLYR_China): 过滤出在名为MLYR_China的特定区域内的图像。
map(getNBARVIs): 将getNBARVIs函数应用于图像集中的每个图像。这个函数计算NDVI,EVI,LSWI和NIRV。
select(['ndvi','evi','lswi','nirv']): 选择并返回每个图像的NDVI,EVI,LSWI和NIRV波段。
map(cornmask): 将cornmask函数应用于图像集中的每个图像,用于将不属于玉米种植区域的像元剔除。