Entonces, a partir de la colección de imágenes Sentinel 5P, creé 3 imágenes diferentes durante 3 años (media de - 2019, 2020 y 2021). Luego recorté esas 3 imágenes usando una Geometría y luego nuevamente se hicieron 3 imágenes. Ahora quiero combinar estas 3 imágenes en una sola para que, al extraer datos de esa imagen combinada, pueda obtener datos de los 3 años (2019, 2020 y 2021). Probé este método -
var simpleJoin = ee.Join.simple(); var mod1join = ee.ImageCollection(simpleJoin.apply(img1clip, img2clip, img3clip)); Map.addLayer(mod1join, band_viz);Pero al cargar la capa me da error -
Capa 1: error de capa: Join.apply, argumento 'secundario': tipo no válido. Tipo esperado: FeatureCollection. Tipo real: Imagen<[SO2_column_number_density]>.
Intenté buscar este error pero no encontré ninguna solución. ¿Cuál será la solución para combinar las 3 imágenes de diferentes años, manteniendo también los datos de esos años en particular?
A continuación, adjunto el código de lo que hice e intenté:
var img1 = ee.ImageCollection(imageCollection .select('SO2_column_number_density') .filterBounds(geometry) .filterDate('2019-01-01', '2019-12-31')) //remove the negative values from the band //.map(function(image){return image.updateMask(image.gte(0))}); print('no. of img1', img1.size()); var img2 = ee.ImageCollection(imageCollection .select('SO2_column_number_density') .filterBounds(geometry) .filterDate('2020-01-01', '2020-12-31')) print('no. of img2', img2.size()); var img3 = ee.ImageCollection(imageCollection .select('SO2_column_number_density') .filterBounds(geometry) .filterDate('2021-01-01', '2021-12-31')) print('no. of img3', img3.size()); var band_viz = { min: 0.0, max: 0.0005, palette: ['black', 'blue', 'purple', 'cyan', 'green', 'yellow', 'red'] }; var img1map = img1.mean(); var img2map = img2.mean(); var img3map = img3.mean(); //Map.addLayer (SP5map, band_viz); var img1clip = img1map.clip(geometry); var img2clip = img2map.clip(geometry); var img3clip = img3map.clip(geometry); //print(img1clip); var simpleJoin = ee.Join.simple(); var mod1join = ee.ImageCollection(simpleJoin.apply(img1clip, img2clip, img3clip)); Map.addLayer(mod1join, band_viz);FYI: Las 3 imágenes recortadas contienen solo 1 banda.
De la documentación oficial , el primer y segundo parámetro de ee.Join.apply() son ambos FeatureCollection , mientras que el tercer parámetro es un Filter . Un ejemplo de trabajo está aquí .
img1 es una Collection después de aplicar .filterDate()img1clip es una Image después de aplicar la función .mean()img1clip también es una Image después de aplicar .clip() , que NO es una FeatureCollection .Por lo tanto, aparece el error (Tipo no válido).
Debe revisar los códigos y asegurarse de que los tres parámetros de ee.Join.apply() sean correctos.