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 global, 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 harás que se vea 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 figura 2, en la que el verde representa el lugar donde el estudio detectó bosque en el año 2000, el rojo es la pérdida estimada de bosque durante el período de estudio, el azul es la ganancia de bosque durante ese período, el magenta son las áreas en las que se perdió y se ganó bosque, y las áreas que no son de bosque están enmascaradas.
Recuerda que, cuando se agrega una imagen multibanda a un mapa, las primeras tres bandas de la imagen
se eligen como rojo, verde y azul, respectivamente, y se estiran según el tipo de datos
de cada banda. La razón por la que la imagen se ve roja es que las primeras tres bandas son
treecover2000, loss y gain. La banda 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 en rojo.
Las bandas de los datos de Global Forest Change son las siguientes:
| Nombre de la banda | Descripción | Rango |
|---|---|---|
| treecover2000 | Es el porcentaje de cobertura arbórea en el píxel. | 0 - 100 |
| pérdida | 1 si se produce una pérdida durante el período del estudio | 0 o 1 |
| gain | 1 si se produce un aumento durante el período del estudio | 0 o 1 |
| lossyear | Es el año en que se produjo la pérdida, con índice uno desde 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 2000 (o más antiguos si no había píxeles válidos en 2000). | 0 - 255 |
| first_b40 | La banda de 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 infrarroja de onda corta de Landsat 7 construida a partir de los primeros píxeles válidos en 2000. | 0 - 255 |
| first_b70 | La segunda banda infrarroja de onda corta de 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 construida a partir de los últimos píxeles válidos en 2012. | 0 - 255 |
| last_b40 | La banda de infrarrojo cercano de Landsat 7 se creó a partir de los píxeles válidos más recientes en 2012. | 0 - 255 |
| last_b50 | La primera banda infrarroja de onda corta de Landsat 7 construida a partir de los píxeles válidos más recientes de 2012. | 0 - 255 |
| last_b70 | La segunda banda infrarroja de onda corta de Landsat 7 construida 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, 2 |
Para mostrar la cobertura forestal en el 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');
Esto genera una imagen que debería verse como la Figura 3.
Esta es una imagen que usa 3 bandas, las bandas 5, 4 y 3 de Landsat para 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 de los bosques en
el año 2000 en verde, la pérdida de bosques en rojo y la ganancia de bosques en azul. Específicamente, haz que
loss sea la primera banda (roja), treecover2000 la segunda (verde)
y gain la tercera (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 verse como en la Figura 5.
Queremos que la pérdida de bosque se muestre en rojo brillante y que la ganancia de bosque se muestre 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 genera 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 ganancia y pérdida. Sin embargo, si se observa con más atención, se puede ver que no es del todo correcto. En lugar de que la pérdida se marque en rojo, se marca en 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 donde 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 prometida al principio del instructivo, puedes crear imágenes separadas para el bosque, la pérdida, la ganancia y para la pérdida y la ganancia. Agrega cada una de estas imágenes al mapa en el orden que sea más adecuado para su visualización.
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 colores 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 a min y max.
Por ejemplo, para usar una paleta verde que muestre la imagen de la 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 su resolución. 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 aumentar el brillo de 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 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 en Earth Engine tiene un valor y una máscara. La imagen se renderiza con la transparencia que establece la máscara, donde cero es completamente transparente y uno es completamente opaco.
Puedes enmascarar una imagen con ella misma. Por ejemplo, si enmascaras la banda treecover2000
con ella 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
principio del instructivo. En este ejemplo, unimos 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 addLayer(). Cada llamada a addLayer() agrega una capa al mapa. Si colocas el mouse sobre el botón Capas en la esquina superior derecha del mapa, se mostrará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 principio 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 pérdida y ganancia. Este es el tema de la siguiente sección.