Estoy tratando de mapear una función sobre una colección de imágenes en Python. Puedo ejecutar el mismo proceso en JavaScript, pero en Python estoy teniendo problemas.
Aquí está el código en JavaScript, que devuelve un JSON lleno de valores:
var smap = ee.ImageCollection('NASA_USDA/HSL/SMAP_soil_moisture').filterDate('2019-04-25', '2019-05-17')
var geom = ee.Geometry.Point([-94.440367, 42.1068856])
var res = smap.map(function(image) {
var reduced = image.reduceRegion({geometry: geom,
reducer: ee.Reducer.mean(),
crs: 'EPSG:4326',
scale: 30})
return image.set('value', reduced);
});
var vals = res.aggregate_array('value');
print(vals);
Sin embargo, cuando ejecuto esto en python, obtengo una lista vacía:
smap = ee.ImageCollection('NASA_USDA/HSL/SMAP_soil_moisture').filterDate('2019-04-25', '2019-05-17')
geom = ee.Geometry.Point([-94.440367, 42.1068856])
def eeAlgo(image):
reduced = image.reduceRegion(geometry=geom, reducer=ee.Reducer.mean(), crs='EPSG:4326', scale=30)
image.set('value', reduced)
return image
vals = smap.map(algorithm=eeAlgo)
vals.aggregate_array('value').getInfo()
> []
¿Hay alguna diferencia entre ejecutar esto en Python que me estoy perdiendo? ¿O es esto un error que debo reportar en https://github.com/google/earthengine-api? Estoy usando Python 2.7.