Cómo descargar áreas quemadas MODIS por año en Google Earth Engine

0


Descargar-MODIS-GEE


Cuando se trabaja con incendios, restauración ecológica, cambio de cobertura o análisis de cuencas, una tarea frecuente es identificar dónde ocurrió fuego en años específicos. Google Earth Engine permite consultar el producto MODIS MCD64A1 sin descargar manualmente archivos HDF, procesar los meses de cada año y exportar un raster anual listo para usar en ArcGIS Pro, QGIS u otros SIG.

El resultado de este tutorial es una serie de rasters binarios llamados BQ_YYYY. En cada raster, el valor 1 representa píxeles quemados durante ese año y el valor 0 representa píxeles no quemados o sin detección de quema dentro del área de estudio.


1. ¿Qué es MODIS MCD64A1?

MCD64A1 es un producto mensual global de área quemada generado a partir de observaciones MODIS Terra y Aqua. La versión 061 entrega información por píxel sobre áreas quemadas y calidad del dato a una resolución aproximada de 500 metros.

La banda principal utilizada en este tutorial es BurnDate. Esta banda indica el día juliano aproximado en el que ocurrió la quema. Si el valor es 0, el píxel se considera no quemado. Si el valor está entre 1 y 366, el píxel fue identificado como quemado en ese día del año.

Ficha rápida del dataset


Elemento

Descripción

Colección GEE

MODIS/061/MCD64A1

Producto

MODIS/Terra+Aqua Burned Area Monthly L3 Global 500m SIN Grid V061

Resolución espacial

500 m x 500 m

Resolución temporal

Mensual

Banda usada

BurnDate

Interpretación para este script

BurnDate > 0 se convierte en 1; BurnDate = 0 se interpreta como no quemado.

Nota sobre el año 2000

El producto inicia en noviembre de 2000; por lo tanto, 2000 no representa un año completo.


2. Requisitos antes de ejecutar el código

  •        Tener una cuenta habilitada de Google Earth Engine.
  •         Abrir el Code Editor de Earth Engine.
  •        Tener cargada el área de estudio como un Asset tipo FeatureCollection. En este ejemplo se usa: projects/dalpgis/assets/CUENCAS_AOI.
  •        Tener espacio disponible en Google Drive para recibir los archivos GeoTIFF exportados.
  •        Saber que Earth Engine crea tareas de exportación; desde la pestaña Tasks se deben ejecutar o confirmar las descargas.


3. Lógica general del script

El script hace lo siguiente, en orden:

1.     Carga tu área de estudio (AOI) desde un asset propio.

2.     Define una lista de años a procesar.

3.     Dibuja el AOI con borde rojo y relleno transparente.

4.     Por cada año, filtra MODIS, genera un raster binario anual, lo añade al mapa y programa su exportación a Drive.

5.     Te deja una lista de tareas (Tasks) listas para ejecutar.


4. Código completo (copiar y pegar en GEE)

Copia el siguiente código y pégalo en el Code Editor de Earth Engine. Más abajo lo explico bloque por bloque.

// ============================================================
// DESCARGA MULTIANUAL MODIS MCD64A1.061 COMO RASTER BINARIO
// Áreas quemadas anuales: BQ_YYYY
// Autor: DALPGIS
// ============================================================

// 1) Definir el Área de Interés (AOI)

var aoi = ee.FeatureCollection('projects/dalpgis/assets/CUENCAS_AOI');

 

// 2) Lista de años a procesar

var years = [2000, 2005, 2010, 2015, 2020, 2024];

 

// 3) Estilo del AOI: borde rojo, relleno transparente

var aoiStyle = {color: 'FF0000', fillColor: '00000000', width: 2};

Map.addLayer(aoi.style(aoiStyle), {}, 'Área de Estudio (AOI)');

 

// 4) Centrar el mapa sobre el AOI

Map.centerObject(aoi, 7);

 

// 5) Paleta de visualización

var visParams = {min: 0, max: 1, palette: ['000000', 'FF4500']};

 

// 6) Función que procesa un año

function procesarAnio(year) {

  var modis = ee.ImageCollection('MODIS/061/MCD64A1')

    .filterDate(year + '-01-01', year + '-12-31')

    .select('BurnDate');

 

  var burnedYear = modis.map(function(img) {

    return img.gt(0);

  }).max().rename('BQ_' + year).uint8();

 

  var burnedClip = burnedYear.clip(aoi);

 

  Map.addLayer(

    burnedClip.updateMask(burnedClip),

    visParams,

    'Áreas Quemadas ' + year,

    false

  );

 

  Export.image.toDrive({

    image: burnedClip,

    description: 'BQ_' + year,

    folder: 'MODIS_MCD64A1_BQ',

    fileNamePrefix: 'BQ_' + year,

    region: aoi,

    scale: 500,

    maxPixels: 1e13

  });

}

 

// 7) Aplicar la función a cada año

years.forEach(procesarAnio);

 

// 8) Mensaje informativo

print('Tareas generadas para los años:', years);

print('Abre la pestaña Tasks y pulsa RUN en cada tarea.');


5. Explicación bloque por bloque

5.1. Cargar el área de estudio

var aoi = ee.FeatureCollection('projects/dalpgis/assets/CUENCAS_AOI');

La palabra var declara una variable en JavaScript. Una variable es simplemente un nombre que guarda un valor para reutilizarlo después. Aquí guardamos en aoi la colección de polígonos que representa tus cuencas hidrográficas. El texto entre comillas es la ruta a tu asset en GEE; si tu AOI está en otra ruta, solo cámbiala.

5.2. Lista de años

var years = [2000, 2005, 2010, 2015, 2020, 2024];

Los corchetes [ ] definen una lista (array). Aquí guardamos los años que queremos procesar. Para añadir o quitar años, simplemente edita esta lista, por ejemplo: [1995, 2001, 2008]. El producto MCD64A1 está disponible desde noviembre de 2000, así que evita años anteriores.


5.3. Estilo del AOI: borde rojo, relleno transparente

var aoiStyle = {color: 'FF0000', fillColor: '00000000', width: 2};

Map.addLayer(aoi.style(aoiStyle), {}, 'Área de Estudio (AOI)');

Los objetos entre llaves { } guardan pares clave: valor. El color se expresa en formato hexadecimal (HEX):

        'FF0000' es rojo puro para el borde.

        '00000000' tiene 8 caracteres: los dos últimos ('00') indican opacidad 0, es decir, relleno totalmente transparente.

        'width: 2' define el grosor de la línea del borde.

Map.addLayer agrega la capa al mapa con el nombre 'Área de Estudio (AOI)' que verás en el panel de capas (arriba a la derecha del mapa).

5.4. Centrar el mapa

Map.centerObject(aoi, 7);

Esta línea ajusta automáticamente el mapa para que tu AOI quede centrado. El número 7 es el nivel de zoom (a mayor número, más cerca). Puedes probar valores entre 5 y 10 según el tamaño de tu zona.


5.5. Paleta de colores para el raster

var visParams = {min: 0, max: 1, palette: ['000000', 'FF4500']};

visParams le dice a GEE cómo pintar el raster en el mapa: valores iguales a 0 se asocian al primer color y valores iguales a 1 al segundo. Usamos negro ('000000') para 'no quemado' y naranja-rojo ('FF4500') para 'quemado'. Más adelante enmascararemos los ceros para que se vea transparente el fondo.

5.6. La función que procesa cada año

Una función es un bloque de código reutilizable. La definimos una vez y la llamamos varias veces con datos distintos (en nuestro caso, distintos años).

function procesarAnio(year) {

  var modis = ee.ImageCollection('MODIS/061/MCD64A1')

    .filterDate(year + '-01-01', year + '-12-31')

    .select('BurnDate');

 

Aquí cargamos la colección MODIS, la filtramos al año recibido como parámetro (la concatenación year + '-01-01' forma cadenas como '2020-01-01') y nos quedamos solo con la banda BurnDate.

  var burnedYear = modis.map(function(img) {

    return img.gt(0);

  }).max().rename('BQ_' + year).uint8();

Este bloque hace tres cosas en cadena:

        .map(...) aplica una función a cada imagen mensual: img.gt(0) devuelve 1 donde BurnDate > 0 y 0 en el resto.

        .max() combina los 12 meses tomando, píxel a píxel, el valor máximo. Si un píxel se quemó en cualquier mes, el resultado anual será 1.

        .rename('BQ_' + year) le pone un nombre descriptivo a la banda (por ejemplo, BQ_2020). .uint8() convierte a entero de 8 bits para que el archivo final sea más liviano.

  var burnedClip = burnedYear.clip(aoi);

 

.clip(aoi) recorta el raster a los límites de tu AOI para que no exportes información innecesaria fuera de la zona.

  Map.addLayer(

    burnedClip.updateMask(burnedClip),

    visParams,

    'Áreas Quemadas ' + year,

    false

  );

Aquí añadimos cada año al mapa como una capa independiente. Detalles:

        .updateMask(burnedClip) hace transparentes los píxeles con valor 0, dejando visibles solo los quemados.

        El tercer argumento es el nombre de la capa (verás 'Áreas Quemadas 2000', 'Áreas Quemadas 2005', etc., en el panel de capas).

        El cuarto argumento, false, deja la capa apagada por defecto. Actívala manualmente desde el panel de capas para comparar años.

  Export.image.toDrive({

    image: burnedClip,

    description: 'BQ_' + year,

    folder: 'MODIS_MCD64A1_BQ',

    fileNamePrefix: 'BQ_' + year,

    region: aoi,

    scale: 500,

    maxPixels: 1e13

  });

}

Export.image.toDrive programa la exportación del raster a Google Drive. No descarga nada de inmediato: crea una tarea en la pestaña Tasks que debes ejecutar manualmente. Parámetros importantes:

        description y fileNamePrefix: nombres que aparecerán en la tarea y el archivo final (por ejemplo, BQ_2020.tif).

        folder: carpeta dentro de tu Google Drive donde se guardará el archivo. Si no existe, se crea automáticamente.

        region: límites espaciales de la exportación; usamos tu AOI.

        scale: 500: tamaño del píxel en metros (la resolución nativa de MCD64A1).

        maxPixels: 1e13: límite alto de píxeles para evitar errores cuando el AOI es grande.


5.7. Aplicar la función a todos los años

years.forEach(procesarAnio);

El método .forEach() recorre la lista de años y ejecuta la función procesarAnio una vez por cada uno. Es la línea que permite procesar 2000, 2005, 2010, 2015, 2020 y 2024 al mismo tiempo sin repetir código.


6. Cómo ejecutarlo en GEE paso a paso

1.     Entra a https://code.earthengine.google.com con tu cuenta de Google registrada en Earth Engine.

2.     En el panel central, borra el código de ejemplo y pega el script completo.

3.     Reemplaza la ruta del AOI ('projects/dalpgis/assets/CUENCAS_AOI') por la de tu propio asset, si es distinta.

4.     Haz clic en el botón Run (arriba del editor). En unos segundos verás el AOI en rojo y, en el panel de capas, las capas de cada año (apagadas por defecto).

5.     Activa las capas que quieras comparar marcando su casilla en el panel de capas, arriba a la derecha del mapa.

6.     Abre la pestaña Tasks (al lado derecho del editor) y pulsa RUN en cada tarea BQ_YYYY. Confirma el cuadro de diálogo que aparece.

7.     Espera a que las tareas terminen (de minutos a horas según el tamaño del AOI). Los archivos .tif aparecerán en tu Google Drive, en la carpeta MODIS_MCD64A1_BQ.


GEE


7. Cómo personalizar el script

Cambiar los años

Edita la lista 'years' añadiendo o quitando elementos. Recuerda que MCD64A1 inicia en noviembre de 2000.

Cambiar el color del AOI

En aoiStyle, sustituye 'FF0000' por cualquier color HEX (por ejemplo, '00FF00' para verde, '0000FF' para azul). Para hacer el borde más grueso, sube el valor de width.

Cambiar la paleta del raster

Edita visParams.palette. Por ejemplo, ['000000', 'FFFF00'] mostrará las áreas quemadas en amarillo.

Exportar a otra carpeta

Cambia el valor de 'folder' por el nombre que prefieras dentro de tu Google Drive.

8. Conclusión

Con este script tienes una base sólida para automatizar la descarga y visualización de áreas quemadas anuales en cualquier región del mundo. La estructura con función y bucle es la misma que usarás más adelante para procesar otros productos de Earth Engine, como NDVI, precipitación o temperatura. Modifica los años, el AOI y la paleta a tu gusto y empieza a construir tus propios análisis.

Si este tutorial te fue útil, no olvides compartirlo y suscribirte para recibir más contenido sobre GIS, teledetección e infoproductos.




Entradas que pueden interesarte

Sin comentarios

Posts Populares

¡Bienvenido al Curso Básico de ArcGIS Pro Desde Cero!

¡Bienvenido al Curso Básico de ArcGIS Pro Desde Cero!

Hola, soy Daniel León, ingeniero civil y experto en Siste…

ArcGIS Pro: ¿Cuánto cuesta y dónde adquirirlo?

ArcGIS Pro: ¿Cuánto cuesta y dónde adquirirlo?

ArcGIS Pro es una potente herramienta de software diseñada…

▷ ¿Qué es SIG? Sistema de Información Geográfica | GUIA COMPLETA

▷ ¿Qué es SIG? Sistema de Información Geográfica | GUIA COMPLETA

Bienvenidos a un apasionante viaje en el mundo de los Sist…

Aprende a crear y compartir mapas en línea con ArcGIS Online 【GUIA DEFINITIVA】

Aprende a crear y compartir mapas en línea con ArcGIS Online 【GUIA DEFINITIVA】

ArcGIS Online es una plataforma de mapeo en línea que te p…