El conjunto de datos de cambio forestal global de Hansen et al. (2013) en Earth Engine representa el cambio forestal, con una resolución de 30 metros, a nivel mundial, entre 2000 y 2014. Comencemos por agregar los datos de Hansen et al. al mapa. Importa los datos de cambio forestal global
(obtén más información para buscar e importar conjuntos de datos)
buscando "Hansen forest" y asignando el nombre gfc2014
a la importación, o copia el
siguiente código en el editor de código:
Editor de código (JavaScript)
var gfc2014 = ee.Image('UMD/hansen/global_forest_change_2015'); Map.addLayer(gfc2014);
Haz clic en el botón Run en la parte superior del editor de código y deberías ver algo como la Figura 1.

No te preocupes, pronto se verá mejor. (Obtén más información sobre las visualizaciones de imágenes predeterminadas en Earth Engine). Al final de esta sección, tendrás una imagen similar a la de la Figura 2, en la que el color verde representa las áreas en las que el estudio detectó bosques en el año 2000, el rojo indica la pérdida estimada de bosques durante el período del estudio, el azul representa el aumento de bosques durante ese período, el magenta indica las áreas en las que se perdieron y ganaron bosques, y las áreas no forestales están enmascaradas.

Recuerda que, cuando se agrega una imagen multibanda a un mapa, las primeras tres bandas de la imagen se eligen como roja, verde y azul, respectivamente, y se expanden según el tipo de datos de cada banda. El motivo por el que la imagen se ve roja es que las primeras tres bandas son treecover2000
, loss
y gain
. La banda de treecover2000
se expresa como un porcentaje y tiene valores mucho más altos que loss
(verde) y gain
(azul), que son binarios ({0, 1}). Por lo tanto, la imagen se muestra predominantemente roja.
Las bandas de los datos de Global Forest Change son las siguientes:
Nombre de la banda | Descripción | Rango |
---|---|---|
treecover2000 | Porcentaje de cobertura arbórea en el píxel. | 0 - 100 |
pérdida | 1 si alguna vez se produjo una pérdida durante el período del estudio | 0 o 1 |
ganancia | 1 si alguna vez se produjo una ganancia durante el período del estudio. | 0 o 1 |
lossyear | Año en que se produjo la pérdida, con un índice que comienza en 1 para el año 2001, o cero si no se produjo ninguna pérdida. | 0 - 12 |
first_b30 | La banda roja de Landsat 7 se creó a partir de los primeros píxeles válidos en el año 2000 (o anteriores si no había píxeles válidos en el 2000). | 0 - 255 |
first_b40 | La banda del infrarrojo cercano de Landsat 7 se creó a partir de los primeros píxeles válidos en el año 2000. | 0 - 255 |
first_b50 | La primera banda de infrarrojo de onda corta de Landsat 7 creada a partir de los primeros píxeles válidos en el año 2000. | 0 - 255 |
first_b70 | La segunda banda de infrarrojo de onda corta del Landsat 7 se creó a partir de los primeros píxeles válidos en el año 2000. | 0 - 255 |
last_b30 | La banda roja de Landsat 7 se creó a partir de los píxeles válidos más recientes en 2012. | 0 - 255 |
last_b40 | La banda del infrarrojo cercano de Landsat 7 creada a partir de los píxeles válidos más recientes en 2012. | 0 - 255 |
last_b50 | La primera banda de infrarrojo de onda corta de Landsat 7 creada a partir de los píxeles válidos más recientes de 2012. | 0 - 255 |
last_b70 | La segunda banda de infrarrojo de onda corta del Landsat 7 creada a partir de los píxeles válidos más recientes de 2012. | 0 - 255 |
datamask | Sin datos (0), superficie terrestre asignada (1) y cuerpos de agua permanentes (2). | 0, 1 y 2 |
Para mostrar la cobertura forestal del año 2000 como una imagen en escala de grises, puedes usar la banda treecover2000
, especificada en el segundo argumento de Map.addLayer()
:
Editor de código (JavaScript)
Map.addLayer(gfc2014, {bands: ['treecover2000']}, 'treecover2000');
El resultado es una imagen que debería verse como la de la figura 3.

Esta es una imagen que usa 3 bandas, las bandas 5, 4 y 3 de Landsat para el año 2015. Esta combinación de bandas muestra la vegetación saludable en verde y el suelo en malva::
Editor de código (JavaScript)
Map.addLayer( gfc2014, {bands: ['last_b50', 'last_b40', 'last_b30']}, 'false color');
El resultado debería ser similar al de la figura 4.

Una buena visualización del conjunto de datos de Global Forest Change muestra la extensión forestal en 2000 en verde, la pérdida forestal en rojo y la ganancia forestal en azul. Específicamente, haz que loss
sea la primera banda (roja), treecover2000
la segunda banda (verde) y gain
la tercera banda (azul):
Editor de código (JavaScript)
Map.addLayer(gfc2014, {bands: ['loss', 'treecover2000', 'gain']}, 'green');
Los valores de las bandas de pérdida y ganancia son binarios, por lo que apenas se verán en la imagen, que debería parecerse a la de la figura 5.

Nos gustaría que la pérdida de bosques se muestre en rojo brillante y la ganancia de bosques en azul brillante. Para solucionar este problema, podemos usar el parámetro de visualización max
para establecer el rango al que se extienden los datos de la imagen. Ten en cuenta que el parámetro de visualización max
toma una lista de valores, que corresponden a los máximos de cada banda:
Editor de código (JavaScript)
Map.addLayer(gfc2014, { bands: ['loss', 'treecover2000', 'gain'], max: [1, 255, 1] }, 'forest cover, loss, gain');
El resultado debería ser similar al de la figura 6.

Esto da como resultado una imagen que es verde donde hay bosque, roja donde hay pérdida de bosque, azul donde hay ganancia de bosque y magenta donde hay tanto ganancia como pérdida. Sin embargo, una inspección más detallada revela que no es del todo correcto. En lugar de marcarse como pérdida, se marca como naranja. Esto se debe a que los píxeles rojos brillantes se mezclan con los píxeles verdes subyacentes, lo que produce píxeles naranjas. Del mismo modo, los píxeles en los que hay bosque, pérdida y ganancia son de color rosa, una combinación de verde, rojo brillante y azul brillante. Consulta la Figura 7 para ver una ilustración.

Para obtener la imagen que se muestra al principio del instructivo, puedes crear imágenes separadas para la pérdida, la ganancia y para ambas. Agrega cada una de estas imágenes al mapa en el orden que sea mejor para mostrarlas.
Paletas
Para mostrar cada imagen con un color diferente, puedes usar el parámetro palette
de Map.addLayer()
para las imágenes de una sola banda. Las paletas te permiten establecer el esquema de color con el que se muestra la imagen (obtén más información sobre las paletas). Recuerda del instructivo de la API de Earth Engine que los colores de una paleta se extienden de forma lineal hasta min
y max
.
Por ejemplo, para usar una paleta de colores verdes para mostrar la imagen de extensión del bosque, puedes usar lo siguiente:
Editor de código (JavaScript)
Map.addLayer(gfc2014, { bands: ['treecover2000'], palette: ['000000', '00FF00'] }, 'forest cover palette');
El resultado debería ser similar al de la figura 8.

Acercar la imagen permite apreciar mejor la resolución de las imágenes. En la figura 9, se muestra un área alrededor de Mariscal Estigarribia en Paraguay.

La imagen que se muestra en la Figura 3 es un poco oscura. El problema es que la banda treecover2000
tiene un tipo de datos de byte ([0, 255]), cuando en realidad los valores son porcentajes ([0, 100]). Para aclarar la imagen, puedes configurar los parámetros min
o max
según corresponda. Luego, la paleta se extiende entre esos extremos.
Editor de código (JavaScript)
Map.addLayer(gfc2014, { bands: ['treecover2000'], palette: ['000000', '00FF00'], max: 100 }, 'forest cover percent');
El resultado debería ser similar al de la figura 9. Ten en cuenta que, en este ejemplo, solo se establece el max
. El valor de min
es cero de forma predeterminada.

Enmascaramiento
Todas las imágenes que se mostraron hasta ahora tenían grandes áreas negras donde los datos son cero. Por ejemplo, no hay árboles en el océano. Para que estas áreas sean transparentes, puedes enmascarar sus valores. Cada píxel de Earth Engine tiene un valor y una máscara. La imagen se renderiza con la transparencia establecida por la máscara, en la que cero es completamente transparente y uno es completamente opaco.
Puedes enmascarar una imagen con ella misma. Por ejemplo, si enmascaras la banda treecover2000
con sí misma, todas las áreas en las que la cobertura forestal sea cero serán transparentes:
Editor de código (JavaScript)
Map.addLayer(gfc2014.mask(gfc2014), { bands: ['treecover2000'], palette: ['000000', '00FF00'], max: 100 }, 'forest cover masked');
El resultado debería ser similar al de la figura 10.

Ejemplo
Es casi posible crear una visualización de los datos de Hansen como la que se muestra al
comienzo del instructivo. En este ejemplo, combinamos todo con una pequeña diferencia. En lugar de especificar el parámetro bands
en la llamada a Map.addLayer
, creamos imágenes nuevas con select()
:
Editor de código (JavaScript)
var treeCover = gfc2014.select(['treecover2000']); var lossImage = gfc2014.select(['loss']); var gainImage = gfc2014.select(['gain']); // Add the tree cover layer in green. Map.addLayer(treeCover.updateMask(treeCover), {palette: ['000000', '00FF00'], max: 100}, 'Forest Cover'); // Add the loss layer in red. Map.addLayer(lossImage.updateMask(lossImage), {palette: ['FF0000']}, 'Loss'); // Add the gain layer in blue. Map.addLayer(gainImage.updateMask(gainImage), {palette: ['0000FF']}, 'Gain');
El resultado debería ser similar al de la figura 11.

Observa que hay tres llamadas a addLayer()
. Cada llamada a addLayer()
agrega una capa al mapa. Si colocas el cursor sobre el botón Capas en la parte superior derecha del mapa, se revelarán estas capas. Cada capa se puede activar o desactivar con la casilla de verificación que se encuentra junto a ella, y la opacidad de la capa se puede modificar con el control deslizante que se encuentra junto al nombre de la capa.
Ya casi podemos crear la imagen que se muestra al comienzo del instructivo. Sin embargo, falta la capa que muestra los píxeles con pérdida y ganancia. Falta porque necesitamos saber cómo realizar algunos cálculos en las bandas de imágenes antes de poder calcular qué píxeles muestran tanto pérdida como ganancia. Este es el tema de la siguiente sección.