1 votos

Calcular la diferencia entre imágenes sucesivas en una colección

¿Cómo llamo a una imagen específica dentro de una colección para recorrerla?

Esto es para calcular la diferencia de imágenes para cada conjunto de dos imágenes sucesivas en una colección

dImagen = Imagen(t=i+1) - Imagen(t=1)

Primer problema resuelto, ahora tengo la lista con el gradiente. Pero ¿cómo elijo una imagen de esa lista?

Map.addLayer(ic_grad.get(1), {},'ic') 

devuelve un error: "No se puede agregar un objeto de tipo a el mapa."

Normalmente agregar una imagen calculada al mapa es posible.

2voto

Kersten Puntos 2310

Puedes calcular la diferencia hacia atrás en una ImageCollection convirtiéndola en una lista y mapeando sobre ella:

var ic_list = ic.sort('system:time_start').toList(ic.size())
print(ic_list)

// calcular el gradiente "hacia atrás", es decir, Tn+1 - Tn. Invertir los índices para obtener el gradiente "hacia adelante".
var ic_grad = ic_list.slice(0,-1)
  .zip(ic_list.slice(1))
  .map(function(f) { 
    return ee.Image(ee.List(f).get(1)).subtract(ee.Image(ee.List(f).get(0)))  
   })

print(ic_grad)

// añadir imagen de la lista al mapa
Map.addLayer(ee.Image(ic_grad.get(1)), {},'ic')

Adaptado de una respuesta en el foro de desarrolladores de GEE.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X