ventuari.dev

Tutoriales / Incendios

MapBiomas Fuego Colombia: cómo leer y usar los mapas de áreas quemadas

MapBiomas Fuego Colombia mapea todas las áreas quemadas del país entre 2000 y 2025 con imágenes Landsat de 30 m: qué se quemó cada año, en qué mes y cuántos años ardió cada lugar. Aquí explicamos cómo leer sus productos, los errores que cambian las cifras, qué municipios se queman más, cómo influye El Niño y un script para medir cualquier municipio en Earth Engine.

Por VentuariPublicado el 24 min de lectura

Esquema de un píxel de 30 m entre 2000 y 2025: nueve años con quema en ocre con su mes, uno aportado por MODIS con el valor 15, y tres tarjetas con la frecuencia (9 años), el acumulado (1) y la suma de los mapas anuales (0,81 ha).

Qué es MapBiomas Fuego Colombia

MapBiomas Fuego Colombia es una iniciativa colaborativa que genera la serie de mapas de áreas quemadas de todo el país entre 2000 y 2025, a 30 m de resolución. La conforman la Fundación Gaia Amazonas y la Universidad del Rosario, dentro de la red MapBiomas. Su Colección 1 se publicó en septiembre de 2026 bajo licencia CC BY 4.0.

Para cada año se construye un mosaico de imágenes Landsat en el que cada píxel registra la fecha en que el NBR (Normalized Burn Ratio) alcanzó su mínimo anual, es decir, el instante de mayor señal de quema. Se trata del mismo índice del tutorial de dNBR. Una red neuronal profunda, entrenada por región, clasifica ese mosaico en dos categorías: quemado o no quemado. A partir de ese mapa anual se derivan los demás productos.

En Ventuari participamos, como parte del equipo de la Fundación Gaia Amazonas, en la construcción metodológica de los subproductos de la Colección 1: el mes de quema, la frecuencia y el área acumulada. Lo que sigue surge tanto de ese trabajo como de un análisis propio de los mapas públicos.

ProductoQué guarda cada píxelPregunta que responde
Área quemada anual1 = quema detectada con Landsat; 2 = quema aportada por MODIS¿Se quemó este año?
Área quemada mensualMes de la quema, de 1 a 12; de 13 a 24 si la aportó MODIS¿En qué mes?
Extensión de quemaIntervalo de tamaño de la huella del fuego, en 8 clases¿Fue una quema pequeña o un gran incendio?
Área quemada acumulada1 si se quemó al menos una vez en el periodo¿Cuánto territorio se ha quemado?
FrecuenciaNúmero de años con fuego en el periodo, de 1 a 26¿Cuántos años ardió este lugar?
Año del último fuegoAño de la quema más reciente¿Cuánto hace que no se quema?

En Earth Engine, el anual y el mensual traen una banda por año (burned_area_2025, burned_monthly_2025). El acumulado y la frecuencia traen 51 bandas, una por periodo: de 2000 hacia adelante (fire_frequency_2000_2000 a fire_frequency_2000_2025) y de 2025 hacia atrás (fire_frequency_2025_2025 a fire_frequency_2001_2025).

Así se mide, por ejemplo, lo quemado en los últimos cinco años con la banda _2021_2025, sin recalcular nada. Las variantes con coverage en el nombre guardan además la cobertura del suelo de la Colección 3 de MapBiomas Colombia.

Cómo se asigna el mes de una quema

El mes no sale de la fecha del incendio, sino de la imagen. Es el mes de la escena Landsat en la que el píxel tuvo su NBR mínimo del año. Cada satélite Landsat pasa por el mismo lugar cada 16 días y las nubes esconden muchas pasadas. Por eso esa escena suele ser la primera observación clara después del fuego, y el mes llega con retraso.

Para acercarlo a la fecha real, el producto publicado corrige el mes con MODIS MCD64A1, que estima el día de la quema a 500 m. A cada píxel ya detectado se le asigna la fecha MODIS más reciente que no sea posterior al final del mes de detección, con hasta 90 días de diferencia.

La fecha solo se acepta si al menos el 25 % de la celda MODIS de 500 m está quemada en MapBiomas. Si no, esa fecha probablemente describe otra quema vecina.

Una quema de diciembre puede aparecer en enero

La corrección no cruza de un año a otro. Si Landsat vio en enero una quema de diciembre, el píxel se queda en el mapa del año siguiente: moverlo cambiaría el área quemada de los dos años. Parte de lo que el mapa marca en enero ocurrió en realidad en diciembre. Tenlo en cuenta antes de comparar meses con datos de lluvia o de puntos de calor.

Los valores 13 a 24 del producto mensual

En 2002, 2005 y 2007 faltaron imágenes Landsat sin nubes en parte de los Llanos. El ATBD lo describe en las escenas 6-56 y 6-57. En esos huecos, el producto añade con MODIS los píxeles que, en la serie histórica, se quemaron con frecuencia en ese mismo mes, con un mes de margen.

En el mensual, esos píxeles se guardan como mes + 12: 13 es enero y 24, diciembre. En el anual llevan el valor 2. En el dato público se extienden por la ruta 6 de Landsat, entre 1,2° y 7° de latitud norte, sobre todo en el Meta.

Suman 306.000 ha en 2002, 208.000 en 2005 y 461.000 en 2007: el 18 % de todo lo quemado en el país ese último año. El ATBD pide usarlos con precaución, porque vienen de un sensor de 500 m y su forma no tiene el detalle de Landsat.

Gráfico de barras del porcentaje del área quemada en Colombia por mes entre 2000 y 2025: enero 29,5 %, febrero 29,2 %, marzo 16,6 % y diciembre 9,2 % en ocre; los demás meses, en verde, entre 0,3 % y 5,5 %.
Porcentaje del área quemada por mes, suma de 2000 a 2025, con los píxeles de MODIS devueltos a su mes. De diciembre a marzo se quema el 84,5 % del área, y en enero y febrero, el 58,8 %. Cálculo de Ventuari con los mapas públicos de MapBiomas Fuego Colombia, Colección 1.

13,9 millones de hectáreas quemadas. 60,9 millones contando cada año

El área quemada acumulada cuenta cada píxel una sola vez, aunque se haya quemado muchas veces. Entre 2000 y 2025 suma 13,9 millones de hectáreas, el 12,2 % del territorio continental según la ficha técnica.

Si en cambio se suman los 26 mapas anuales, salen 60,9 millones de hectáreas: una sabana que arde cada tres años cuenta nueve veces. Esa suma entre 26 da los 2,34 millones de hectáreas que se queman en promedio cada año. Las dos cifras son correctas, pero responden a preguntas distintas.

La frecuencia une las dos. La suma de los mapas anuales es igual a la frecuencia de cada píxel por su área, sumada en todo el país. Lo comprobamos con los mapas públicos: los dos caminos dan 60,85 millones de hectáreas. Cada hectárea quemada ardió, en promedio, en 4,4 de los 26 años.

Años con fuego (2000–2025)HectáreasDel área quemada
14.504.58932,4 %
2 a 44.202.40230,2 %
5 a 93.497.83525,1 %
10 a 141.440.20810,3 %
15 a 19251.1601,8 %
20 a 2621.6640,2 %

Un tercio del área quemada ardió una sola vez. En el otro extremo, 21.664 ha se quemaron 20 años o más, y 76 ha se quemaron los 26 años de la serie. Cálculo de Ventuari con el área real de cada píxel en el elipsoide WGS84.

La frecuencia cuenta años, no incendios

El mosaico guarda una sola fecha por píxel y año, así que dos quemas en el mismo año cuentan como una. El ATBD lo reconoce como limitación: en los pastizales que se queman más de una vez al año, la frecuencia real es mayor. Léela como un mínimo.

La cobertura del acumulado es la del último año

En el área anual con cobertura, cada píxel lleva la clase del año en que se quemó. En el acumulado y la frecuencia con cobertura, lleva la del último año de la Colección 3, no la que tenía cuando ardió. Un bosque quemado en 2005 que hoy es pasto aparece como pasto.

Por eso esas dos capas no sirven para decir qué coberturas se quemaron, ni para afirmar que el fuego convierte bosque en pasto: la cobertura actual ya incluye el efecto del fuego. Para eso, cruza cada mapa anual con la cobertura de ese mismo año.

Los municipios que más se queman en Colombia

Cruzamos los mapas públicos con los 1.122 municipios del Marco Geoestadístico Nacional 2025 del DANE, con el área real de cada píxel. Hubo fuego en 1.118 municipios. Pero cuatro del Vichada y el Meta concentran el 41,8 % de todo lo quemado en 26 años: Cumaribo, La Primavera, Puerto Gaitán y Puerto Carreño.

Gráfico de barras horizontales con los 10 municipios de Colombia con más área quemada entre 2000 y 2025: Cumaribo 2.112.208 ha (32,4 % del municipio), La Primavera 1.542.846 ha (83,6 %), Puerto Gaitán 1.240.738 ha (72,1 %) y Puerto Carreño 924.252 ha (76,5 %) en ocre; los seis siguientes, en verde.
Área quemada al menos una vez entre 2000 y 2025 y porcentaje del municipio. Cálculo de Ventuari con MapBiomas Fuego Colombia, Colección 1, y los municipios del DANE (MGN 2025).

En 2025 esos cuatro sumaron el 65 % del área quemada del país. Solo Cumaribo quemó 513.217 ha, el 23,6 % del total nacional de ese año. La Primavera y Santa Rosalía se quemaron en más del 83 % de su territorio al menos una vez.

MunicipioQuemado al menos una vez (ha)Del municipioAños con fuego por hectáreaQuemado en 2025 (ha)
Cumaribo (Vichada)2.112.20832,4 %5,9513.217
La Primavera (Vichada)1.542.84683,6 %6,4341.306
Puerto Gaitán (Meta)1.240.73872,1 %6,7325.434
Puerto Carreño (Vichada)924.25276,5 %7,2233.648
Paz de Ariporo (Casanare)524.71043,5 %4,4118.218
Mapiripán (Meta)465.77139,0 %5,273.094
Cravo Norte (Arauca)389.05675,0 %6,296.330
San Vicente del Caguán (Caquetá)377.52718,7 %2,217.896
San Martín (Meta)323.26854,5 %5,044.425
Santa Rosalía (Vichada)306.97183,5 %6,082.501
Cartagena del Chairá (Caquetá)138.96110,9 %1,26.120

La sabana arde una y otra vez; la selva, casi siempre una

La columna de años con fuego separa dos regímenes. En Puerto Carreño, cada hectárea quemada ardió en promedio 7,2 de los 26 años: es sabana que se quema y rebrota. En Cartagena del Chairá (Caquetá) se quemaron 138.961 ha, el 10,9 % del municipio, pero casi siempre una sola vez: 1,2 años de media.

Ese patrón encaja con el frente de deforestación: se tala, se quema y se siembra pasto. El ATBD describe el fuego en la Amazonía como un agente de cambio de uso del suelo sobre el bosque húmedo. San Vicente del Caguán, octavo en área quemada, está en ese mismo frente, con 2,2 años de media. Lo vimos también en el mapa de deforestación de la Amazonía.

¿La Orinoquía concentra el 68,7 % o el 73,2 %?

La ficha técnica dice que la Orinoquía concentra el 68,7 % del área quemada, y el ATBD, el 73,2 % (10,2 millones de hectáreas). La ficha agrupa por regiones naturales. Con los cuatro departamentos (Arauca, Casanare, Meta y Vichada) nosotros obtenemos el 73,3 %, casi igual al ATBD. Al citar la cifra, di cuál de las dos Orinoquías usas.

¿Se quema más Colombia que hace 20 años?

No. En 26 años, el área quemada no muestra una tendencia estadística, ni en el país ni en sus grandes regiones. Lo que domina es la variación de un año a otro: de 1,41 millones de hectáreas en 2006 a 3,32 millones en 2004.

Lo medimos con la prueba de Mann-Kendall, que detecta si una serie sube o baja de forma sostenida, sin suponer que lo haga en línea recta. La pendiente de Sen, la mediana de las pendientes entre todos los pares de años, da el ritmo. En Colombia la pendiente es de 6.700 ha por año, el 0,3 % del promedio, con p = 0,73. Para hablar de tendencia haría falta p < 0,05.

Gráfico de barras del área quemada en Colombia por año entre 2000 y 2025, de 1,41 millones de hectáreas en 2006 a 3,32 millones en 2004, con una línea de tendencia de Sen casi plana y los píxeles de MODIS de 2002, 2005 y 2007 en un verde más claro.
Área quemada por año en Colombia. La línea es la pendiente de Sen (6.700 ha por año, p = 0,73 en la prueba de Mann-Kendall): sin tendencia. Cálculo de Ventuari con MapBiomas Fuego Colombia, Colección 1.

Partir la serie en dos engaña. De 2013 a 2025 se quemó en promedio un 11 % más que de 2000 a 2012: 2,47 frente a 2,21 millones de hectáreas al año. Pero el área cambia un 23 % de un año a otro (coeficiente de variación), y con esa variación la diferencia entre mitades no basta para hablar de tendencia.

Lo mismo pasa por regiones: Orinoquía (p = 0,76), Caquetá, Guaviare y Putumayo (p = 0,60) y Caribe (p = 0,57).

Solo 11 municipios tienen una tendencia clara

Repetimos la prueba en los 354 municipios que queman de media 100 ha o más al año. Con p < 0,05 salen 99, pero con tantas pruebas unas 18 saldrían por azar aunque ninguno tuviera tendencia. Por eso corregimos con el método de Benjamini y Hochberg, que controla la proporción de falsos positivos.

También repetimos la prueba sin 2002, 2005 y 2007, los años con píxeles de MODIS. Una tendencia cuenta solo si supera la corrección en las dos versiones. Quedan 11 municipios: en 4 el fuego sube y en 7 baja.

MunicipioMedia 2000–2012 (ha/año)Media 2013–2025 (ha/año)Pendiente de Sen (ha/año)
Nunchía (Casanare)1.2872.920+130
El Paso (Cesar)1.2412.818+104
Segovia (Antioquia)2931.109+43
Buenavista (Córdoba)140438+17
Puerto Lleras (Meta)12.9455.663−500
Puerto Concordia (Meta)7.9652.808−366
Barranca de Upía (Meta)1.254250−63
Sabana de Torres (Santander)1.083394−41
Gamarra (Cesar)483214−20
Agrado (Huila)353162−14
Ricaurte (Cundinamarca)18144−7

Ninguno de los grandes municipios quemados está en la lista. Cumaribo quemó de media un 28 % más en la segunda mitad, pero con p = 0,08. En el frente amazónico, Cartagena del Chairá, Solano y Puerto Guzmán multiplicaron su media entre 1,8 y 2,3 veces. Dan p < 0,05 en la prueba individual, pero no superan la corrección en las dos versiones: son señales que vigilar, no tendencias demostradas.

No atribuimos causas a estas tendencias. El paso siguiente es cruzarlas con la cobertura de MapBiomas Colombia: ver si el fuego baja donde la sabana se volvió cultivo y si sube donde avanza la deforestación.

¿Se quema más Colombia con El Niño?

Otra pregunta que vuelve con cada temporada seca es si El Niño hace que Colombia se queme más. Este año es especialmente oportuna, porque la NOAA prevé que un El Niño de fuerte a muy fuerte se mantenga hasta marzo de 2027, justo en los meses de más fuego.

Para responderla sumamos el área quemada en cada temporada seca, de diciembre a marzo, desde 2000/01 hasta 2024/25. Después la comparamos con el índice que usa la NOAA para seguir el fenómeno de El Niño, el ONI relativo (RONI), en los meses de diciembre a febrero. Con +0,5 °C o más hay condiciones de El Niño, y con −0,5 °C o menos, de La Niña.

En el conjunto del país, la relación resulta débil. Las temporadas con El Niño quemaron en mediana 2,26 millones de hectáreas, y las de La Niña, 1,55 millones. Sin embargo, la correlación de Spearman, que mide si dos series suben y bajan a la par, es de solo 0,22 (p = 0,30). Con ese valor, la diferencia bien puede deberse al azar.

Los extremos lo muestran con más claridad que la estadística. La temporada 2015/16, la de El Niño más intenso de la serie, quemó 2,15 millones de hectáreas, casi lo mismo que una temporada promedio (1,97 millones). En 2023/24, también con El Niño, se quemó todavía menos: 1,47 millones. En cambio, 2021/22, en plena La Niña, fue la segunda más extensa, con 2,83 millones.

La explicación más probable está en la Orinoquía, que aporta el 92 % del área quemada en estos meses. Allí la sabana arde casi todos los años, porque la estación seca llega cada diciembre, con o sin El Niño, y por eso el total nacional apenas refleja lo que pasa en el Pacífico. CAMBIO llegó a la misma conclusión con otro método: durante los episodios de El Niño, Vichada quema 0,96 veces lo habitual, y Meta, 0,98.

En los Andes, El Niño duplica el área quemada

La historia cambia en los departamentos andinos. Allí el fuego ocupa mucho menos, apenas el 1,4 % del área quemada en la temporada, pero sigue de cerca lo que pasa en el océano. La correlación sube a 0,63 (p < 0,001), y la mediana con El Niño, unas 35.700 ha, duplica la de La Niña, unas 17.500 ha.

Gráfico de barras del área quemada de diciembre a marzo en los departamentos andinos de Colombia, por temporada de 2000/01 a 2024/25, con el RONI de cada una: las barras ocres de El Niño, como 2002/03 con unas 50.600 ha y 2015/16 con unas 45.000 ha, son en general más altas que las verdes de La Niña, como 2007/08 con unas 8.400 ha.
Área quemada de diciembre a marzo en Antioquia, Boyacá, Caldas, Cauca, Cundinamarca, Bogotá, Huila, Nariño, Norte de Santander, Quindío, Risaralda, Santander, Tolima y Valle del Cauca, con el RONI de diciembre a febrero. Cálculo de Ventuari con MapBiomas Fuego Colombia, Colección 1, los municipios del DANE y el RONI de la NOAA (ERSST v6).

La prueba de Mann-Whitney confirma que esa diferencia difícilmente es casual (p = 0,005). Tampoco depende de una temporada concreta, porque si quitamos cualquiera de las 25, la correlación se mantiene entre 0,58 y 0,67.

Y no es cosa de un solo departamento. La señal se repite en nueve de los diez departamentos andinos con más fuego, todos salvo Nariño:

DepartamentoMedia por temporada (ha)Mediana con El Niño (ha)Mediana con La Niña (ha)Correlación con el RONI
Huila1.5762.5699010,73
Cauca8821.2065790,70
Tolima1.4822.2947520,68
Cundinamarca2.1832.6201.3220,63
Valle del Cauca4.6695.9973.1680,52
Boyacá5.9467.9463.9620,51
Antioquia6.2037.6104.3650,44
Santander3.2933.7252.8880,44
Norte de Santander6618033070,43
Nariño5563014350,10 (sin señal)

Estos resultados coinciden con el análisis de CAMBIO, publicado en octubre de 2026 con los mismos datos de MapBiomas. Allí, Tolima, Huila, Cauca y Boyacá quemaron durante El Niño entre 1,39 y 1,62 veces lo habitual. Nuestras proporciones son mayores porque comparan El Niño con La Niña, y no con lo que se quema en un año corriente.

Aun así, conviene leer estas cifras con cautela. Agrupamos los departamentos andinos después de comprobar que las tres regiones del análisis de tendencia no respondían a El Niño. Que la señal se repita departamento por departamento hace poco probable que sea casualidad, pero son solo 25 temporadas. Además, Antioquia o Cauca incluyen también tierras bajas, y el mes es el de detección, no el del incendio.

Para la temporada que viene, el punto de partida es un El Niño fuerte: la NOAA estima un RONI de +1,7 °C entre julio y septiembre de 2026, un valor todavía provisional. Si 2026/27 sigue el patrón de las temporadas anteriores, el aumento se notará sobre todo en los Andes, mientras que en los Llanos dependerá menos del océano. No es un pronóstico de hectáreas, sino lo que enseñan 25 temporadas de datos.

MapBiomas Fuego, dNBR, MODIS o FIRMS, cuál usar

Cada dato responde una pregunta distinta. MapBiomas Fuego es la historia; el resto sirve para el incendio de hoy o para la fecha exacta:

DatoResoluciónQué daÚsalo para
MapBiomas Fuego Colombia30 mÁrea quemada anual con su mes, 2000–2025Historia del fuego, recurrencia y estadísticas por municipio o área protegida
dNBR con Sentinel-220 mSeveridad de un incendio entre dos fechas que eligesMedir un incendio reciente sin esperar a la próxima colección
MODIS MCD64A1500 mDía aproximado de la quema, en mapas mensuales desde 2000Fechas y tendencias regionales; omite quemas pequeñas
FIRMS (MODIS y VIIRS)1 km y 375 mPuntos de calor con menos de 3 horas de retrasoAlertas de fuego activo, no área quemada

MapBiomas Fuego tampoco mide la severidad ni separa las quemas de manejo de los incendios no planificados: el ATBD lo advierte. Para un incendio concreto, el dNBR da la severidad pocos días después. Así medimos uno a uno los incendios de la temporada de 2026 en el mapa de incendios en Colombia.

Calculando el área quemada de un municipio con Earth Engine

Para un municipio, los scripts a continuación calculan el área quemada al menos una vez, el área de cada año, el reparto por mes y las hectáreas según los años con fuego. Utilizan los assets públicos de MapBiomas Colombia y el área real de cada píxel. El código está preparado para que funcione con cualquier otro municipio, para lo cual solo se debe cambiar el valor del parámetro municipality por otro nombre de la capa FAO GAUL 2025.

mapbiomas_fuego_municipio.js
/**
 * MapBiomas Fire Colombia - Collection 1
 *
 * Burned area statistics for a Colombian municipality (2000-2025).
 *
 * Products:
 *     - Annual burned area
 *     - Monthly burned area
 *     - Fire frequency
 *     - Accumulated burned area
 *
 * Statistics:
 *     - Total area burned at least once
 *     - Annual burned area (ha)
 *     - Monthly burned area (ha)
 *     - Area by number of years with fire
 *
 * Source:
 *     MapBiomas Colombia Collection 1 (CC BY 4.0).
 */


/**
 * Configuration
 */
var municipality = 'Cumaribo';

var first_year = 2000;

var last_year = 2025;

var folder = 'projects/mapbiomas-public/assets/colombia/fire/collection1/';

var years = [];

for (var year = first_year; year <= last_year; year++) {
    years.push(String(year));
}

var period = first_year + '_' + last_year;


/**
 * Input datasets
 */
var annual = ee.Image(
    folder + 'mapbiomas_colombia_fire_collection1_annual_burned_v1'
)
    .select(
        years.map(function (year) {
            return 'burned_area_' + year;
        }),
        years
    );

var monthly = ee.Image(
    folder + 'mapbiomas_colombia_fire_collection1_monthly_burned_v1'
)
    .select(
        years.map(function (year) {
            return 'burned_monthly_' + year;
        }),
        years
    );

var frequency = ee.Image(
    folder + 'mapbiomas_colombia_fire_collection1_frequency_burned_v1'
)
    .select('fire_frequency_' + period);

var accumulated = ee.Image(
    folder + 'mapbiomas_colombia_fire_collection1_accumulated_burned_v1'
)
    .select('fire_accumulated_' + period);


/**
 * Study area
 */
var region = ee.FeatureCollection('FAO/GAUL/2025/level2')
    .filter(ee.Filter.eq('ISO3_CODE', 'COL'))
    .filter(ee.Filter.eq('GAUL2_NAME', municipality));

var geometry = region.geometry();


/**
 * Area calculation
 *
 * Uses the native projection of the fire products
 * and the actual area of each pixel.
 */
var projection = frequency.projection();

var hectares = ee.Image.pixelArea().divide(10000);


/**
 * Calculate the sum of pixel values within the study area.
 *
 * @param {ee.Image} image - Image containing area values.
 * @returns {ee.Dictionary} Sum of values by band.
 */
function sum_hectares(image) {
    return image.reduceRegion({
        reducer: ee.Reducer.sum(),
        geometry: geometry,
        crs: projection,
        maxPixels: 1e13,
        tileScale: 4,
    });
}


/**
 * Accumulated burned area
 *
 * Each pixel is counted only once, regardless
 * of the number of years in which it burned.
 */
var accumulated_ha = sum_hectares(
    accumulated
        .gte(1)
        .multiply(hectares)
        .rename('ha')
);

print(
    'Burned at least once (ha)',
    accumulated_ha.get('ha')
);


/**
 * Annual burned area
 *
 * Values:
 *     1 = Landsat
 *     2 = MODIS complement
 *
 * Both values are considered burned area.
 */
var annual_ha = sum_hectares(
    annual
        .gte(1)
        .multiply(hectares)
);

var annual_table = ee.FeatureCollection(
    years.map(function (year) {
        return ee.Feature(null, {
            year: year,
            hectares: annual_ha.get(year),
        });
    })
);

var annual_chart = ui.Chart.feature.byFeature(
    annual_table,
    'year',
    'hectares'
)
    .setChartType('ColumnChart')
    .setOptions({
        title: 'Annual burned area (ha)',
        legend: {
            position: 'none',
        },
    });

print(annual_chart);


/**
 * Monthly burned area
 *
 * Values:
 *     1-12  = Landsat burn month
 *     13-24 = MODIS complement (month + 12)
 *
 * MODIS values are normalized to months 1-12.
 */
var month = monthly
    .updateMask(monthly.gte(1))
    .subtract(1)
    .mod(12)
    .add(1);

var month_bands = [];

var month_labels = [
    'Jan', 'Feb', 'Mar', 'Apr',
    'May', 'Jun', 'Jul', 'Aug',
    'Sep', 'Oct', 'Nov', 'Dec',
];

for (var month_number = 1; month_number <= 12; month_number++) {
    var month_id = (month_number < 10 ? '0' : '') + month_number;

    var month_area = month
        .eq(month_number)
        .multiply(hectares)
        .reduce(ee.Reducer.sum())
        .rename('month_' + month_id);

    month_bands.push(month_area);
}

var monthly_area = ee.Image.cat(month_bands);

var monthly_ha = sum_hectares(monthly_area);

var monthly_values = ee.List.sequence(1, 12)
    .map(function (month_number) {
        var month_id = ee.Number(month_number).format('%02d');

        return monthly_ha.get(
            ee.String('month_').cat(month_id)
        );
    });

var monthly_chart = ui.Chart.array.values({
    array: ee.Array(monthly_values),
    axis: 0,
    xLabels: month_labels,
})
    .setChartType('ColumnChart')
    .setOptions({
        title: 'Monthly burned area (ha)',
        legend: {
            position: 'none',
        },
    });

print(monthly_chart);


/**
 * Fire frequency
 *
 * Calculates total area grouped by the number
 * of years in which each pixel burned.
 *
 * Frequency represents years with fire,
 * not the number of individual fire events.
 */
var by_frequency = hectares
    .addBands(frequency)
    .reduceRegion({
        reducer: ee.Reducer.sum().group({
            groupField: 1,
            groupName: 'years_with_fire',
        }),
        geometry: geometry,
        crs: projection,
        maxPixels: 1e13,
        tileScale: 4,
    });

print(
    'Hectares by years with fire',
    by_frequency.get('groups')
);


/**
 * Visualization parameters
 */
var accumulated_vis = {
    palette: ['#a1561b'],
};

var frequency_vis = {
    min: 1,
    max: 15,
    palette: [
        '#ffe08a',
        '#f28c28',
        '#c0392b',
        '#6c1d45',
    ],
};

var monthly_vis = {
    min: 1,
    max: 12,
    palette: [
        '#2b83ba',
        '#abdda4',
        '#ffffbf',
        '#fdae61',
        '#d7191c',
        '#2b83ba',
    ],
};

var boundary_vis = {
    palette: ['#12202b'],
};


/**
 * Map visualization
 */
Map.setOptions('SATELLITE');

Map.centerObject(region, 8);

Map.addLayer(
    accumulated.selfMask().clip(geometry),
    accumulated_vis,
    'Accumulated burned area | ' + period,
    false
);

Map.addLayer(
    frequency.selfMask().clip(geometry),
    frequency_vis,
    'Fire frequency | ' + period,
    true
);

Map.addLayer(
    month.select(String(last_year)).clip(geometry),
    monthly_vis,
    'Burn month | ' + last_year,
    false
);

Map.addLayer(
    ee.Image().paint(region, 1, 2),
    boundary_vis,
    municipality,
    true
);
mapbiomas_fuego_municipio.py
"""
MapBiomas Fire Colombia - Collection 1

Burned area statistics for a Colombian municipality (2000-2025).

Products:
    - Annual burned area
    - Monthly burned area
    - Fire frequency
    - Accumulated burned area

Statistics:
    - Total area burned at least once
    - Annual burned area (ha)
    - Monthly burned area (%)
    - Area by number of years with fire

Source:
    MapBiomas Colombia Collection 1 (CC BY 4.0).
"""

import ee
import geemap
import pandas as pd


"""
Configuration
"""
project_id = 'tu-proyecto-gcp'

municipality = 'Cumaribo'

first_year = 2000

last_year = 2025

folder = 'projects/mapbiomas-public/assets/colombia/fire/collection1/'

years = [str(year) for year in range(first_year, last_year + 1)]

period = f'{first_year}_{last_year}'


"""
Earth Engine initialization
"""
ee.Initialize(project=project_id)


"""
Input datasets
"""
annual = (
    ee.Image(folder + 'mapbiomas_colombia_fire_collection1_annual_burned_v1')
    .select(
        [f'burned_area_{year}' for year in years],
        years
    )
)

monthly = (
    ee.Image(folder + 'mapbiomas_colombia_fire_collection1_monthly_burned_v1')
    .select(
        [f'burned_monthly_{year}' for year in years],
        years
    )
)

frequency = (
    ee.Image(folder + 'mapbiomas_colombia_fire_collection1_frequency_burned_v1')
    .select(f'fire_frequency_{period}')
)

accumulated = (
    ee.Image(folder + 'mapbiomas_colombia_fire_collection1_accumulated_burned_v1')
    .select(f'fire_accumulated_{period}')
)


"""
Study area
"""
region = (
    ee.FeatureCollection('FAO/GAUL/2025/level2')
    .filter(ee.Filter.eq('ISO3_CODE', 'COL'))
    .filter(ee.Filter.eq('GAUL2_NAME', municipality))
)

geometry = region.geometry()


"""
Area calculation

Uses the native projection of the fire products
and the actual area of each pixel.
"""
projection = frequency.projection()

hectares = ee.Image.pixelArea().divide(10000)


def sum_hectares(image):
    """
    Calculate the sum of pixel values within the study area.

    Args:
        image (ee.Image): Image containing area values.

    Returns:
        ee.Dictionary: Sum of values by band.
    """
    return image.reduceRegion(
        reducer=ee.Reducer.sum(),
        geometry=geometry,
        crs=projection,
        maxPixels=1e13,
        tileScale=4
    )


"""
Accumulated burned area

Each pixel is counted only once, regardless
of the number of years in which it burned.
"""
accumulated_ha = sum_hectares(
    accumulated
    .gte(1)
    .multiply(hectares)
    .rename('ha')
)

accumulated_value = accumulated_ha.get('ha').getInfo()

print(f'Burned at least once ({period}): {accumulated_value:,.0f} ha')


"""
Annual burned area

Values:
    1 = Landsat
    2 = MODIS complement

Both values are considered burned area.
"""
annual_ha = sum_hectares(
    annual
    .gte(1)
    .multiply(hectares)
)

per_year = (
    pd.Series(annual_ha.getInfo())
    .sort_index()
    .rename('hectares')
)

print('\nAnnual burned area (ha)')
print(per_year.round(0))


"""
Monthly burned area

Values:
    1-12  = Landsat burn month
    13-24 = MODIS complement (month + 12)

MODIS values are normalized to months 1-12.
"""
month = (
    monthly
    .updateMask(monthly.gte(1))
    .subtract(1)
    .mod(12)
    .add(1)
)

month_bands = []

for month_number in range(1, 13):
    month_area = (
        month
        .eq(month_number)
        .multiply(hectares)
        .reduce(ee.Reducer.sum())
        .rename(f'month_{month_number:02d}')
    )

    month_bands.append(month_area)

monthly_area = ee.Image.cat(month_bands)

monthly_ha = sum_hectares(monthly_area)

per_month = (
    pd.Series(monthly_ha.getInfo())
    .sort_index()
)

monthly_percentage = (
    (100 * per_month / per_month.sum())
    .round(1)
    .rename('% of burned area')
)

print('\nMonthly burned area (%)')
print(monthly_percentage)


"""
Fire frequency

Calculates total area grouped by the number
of years in which each pixel burned.

Frequency represents years with fire,
not the number of individual fire events.
"""
by_frequency = (
    hectares
    .addBands(frequency)
    .reduceRegion(
        reducer=ee.Reducer.sum().group(
            groupField=1,
            groupName='years_with_fire'
        ),
        geometry=geometry,
        crs=projection,
        maxPixels=1e13,
        tileScale=4
    )
    .get('groups')
)

frequency_table = (
    pd.DataFrame(by_frequency.getInfo())
    .rename(columns={'sum': 'hectares'})
    .sort_values('years_with_fire')
    .round(0)
)

print('\nHectares by years with fire')
print(frequency_table)


"""
Visualization parameters
"""
accumulated_vis = {
    'palette': ['#a1561b'],
}

frequency_vis = {
    'min': 1,
    'max': 15,
    'palette': [
        '#ffe08a',
        '#f28c28',
        '#c0392b',
        '#6c1d45',
    ],
}

monthly_vis = {
    'min': 1,
    'max': 12,
    'palette': [
        '#2b83ba',
        '#abdda4',
        '#ffffbf',
        '#fdae61',
        '#d7191c',
        '#2b83ba',
    ],
}

boundary_vis = {
    'palette': ['#12202b'],
}


"""
Map visualization
"""
m = geemap.Map()

m.add_basemap('SATELLITE')

m.centerObject(region, 8)

m.addLayer(
    accumulated.selfMask().clip(geometry),
    accumulated_vis,
    f'Accumulated burned area | {period}',
    False
)

m.addLayer(
    frequency.selfMask().clip(geometry),
    frequency_vis,
    f'Fire frequency | {period}',
    True
)

m.addLayer(
    month.select(str(last_year)).clip(geometry),
    monthly_vis,
    f'Burn month | {last_year}',
    False
)

m.addLayer(
    ee.Image().paint(region, 1, 2),
    boundary_vis,
    municipality,
    True
)

m

Los límites de FAO GAUL no coinciden con los del DANE. En Cumaribo la diferencia es mínima, pero en municipios con límites distintos puede ser mayor. Para obtener cifras oficiales por municipio, sube los municipios del DANE como asset y utilízalos en lugar de GAUL.

Cumaribo: 2.112.303 ha quemadas en 26 años

Aplicamos este proceso a Cumaribo, el municipio con mayor área quemada del país. En Google Earth Engine, usando el límite de FAO GAUL 2025, obtuvimos 2.112.303 ha quemadas al menos una vez entre 2000 y 2025. Con las imágenes GeoTIFF públicas y el límite del DANE, la cifra fue de 2.112.208 ha: una diferencia de 95 ha, equivalente al 0,005 %.

Las dos series anuales también coinciden. El máximo fue 2004, con unas 820.000 ha, seguido de 2022 y 2014, y el mínimo, 2006, con unas 216.000 ha. Por meses, enero y febrero suman 8,2 millones de hectáreas quemadas en los 26 años, más de seis veces lo quemado de abril a noviembre.

Gráfico de barras del área quemada por año en Cumaribo entre 2000 y 2025, generado en Earth Engine: máximo en 2004 con unas 820.000 ha, seguido de 2022 y 2014, y mínimo en 2006 con unas 216.000 ha.
Área quemada por año en Cumaribo (Vichada), de 2000 a 2025. Gráfico generado por el script de esta página en el Code Editor de Earth Engine.
Quemado al menos una vez (Earth Engine)2.112.303 ha
Mismo cálculo con GeoTIFF y DANE2.112.208 ha
Año con más área quemada2004
Meses principalesEnero y febrero
Gráfico de barras del área quemada por mes en Cumaribo, suma de 2000 a 2025, generado en Earth Engine: enero con unos 4,2 millones de ha y febrero con unos 4 millones, seguidos de marzo y diciembre; de mayo a julio casi no hay quemas.
Área quemada por mes en Cumaribo, suma de los 26 años, con los píxeles de MODIS devueltos a su mes. Mismo script y misma ejecución que el gráfico anual.

Lo que la IA suele hacer mal

Si le pides a un asistente de IA que calcule áreas con MapBiomas Fuego Colombia, estas respuestas son frecuentes y fallan:

  1. Filtrar el producto mensual con valores de 1 a 12. Los píxeles que aportó MODIS van de 13 a 24. Con gte(1).and(lte(12)) se pierden 306.000 ha en 2002, 208.000 en 2005 y 461.000 en 2007. Usa gte(1) para el área y subtract(1).mod(12).add(1) para el mes.
  2. Sumar los mapas anuales para saber cuánto territorio se quemó. Da 60,9 millones de hectáreas, más de cuatro veces el área que se quemó, porque cada píxel cuenta tantas veces como años ardió. Para el territorio quemado, usa el acumulado.
  3. Leer la frecuencia como número de incendios. Cuenta años con fuego. Dos quemas en el mismo año suman 1, así que la frecuencia es un mínimo.
  4. Contar píxeles y multiplicarlos por 900 m². El producto está en grados (EPSG:4326). Un píxel mide unos 894 m² en el ecuador y unos 874 m² en el norte de La Guajira, así que contar 900 m² infla el área entre un 0,7 % y un 3 %. Usa ee.Image.pixelArea().
  5. Decir que el fuego aumenta comparando dos años o dos periodos. De 2013 a 2025 se quemó un 11 % más que de 2000 a 2012, pero la prueba de Mann-Kendall no encuentra tendencia (p = 0,73). Con una variación del 23 % entre años, cualquier par de años sirve para contar la historia contraria. Usa la serie completa y una prueba de tendencia.
  6. Citar «la Orinoquía» sin decir cuál. Por regiones naturales es el 68,7 % del área quemada; por los cuatro departamentos, el 73,2 %. Di siempre qué límite usas.

Preguntas frecuentes

¿Dónde descargar los datos de MapBiomas Fuego Colombia?

En la plataforma de MapBiomas Colombia, sección Fuego, en GeoTIFF por año o por periodo. En Google Earth Engine están como assets públicos en projects/mapbiomas-public/assets/colombia/fire/collection1/, que es lo que usa el script de esta página.

¿Qué municipio de Colombia tiene más área quemada?

Cumaribo (Vichada), con 2.112.208 ha quemadas al menos una vez entre 2000 y 2025, el 32,4 % del municipio. En 2025 quemó 513.217 ha, el 23,6 % del total nacional de ese año. Le siguen La Primavera, Puerto Gaitán y Puerto Carreño.

¿Cuántas hectáreas se queman al año en Colombia?

Unos 2,34 millones de hectáreas en promedio entre 2000 y 2025, según MapBiomas Fuego Colombia. El año con más área quemada fue 2004, con 3,32 millones, y el de menos, 2006, con 1,41 millones. En 2025 se quemaron 2,17 millones.

¿Están aumentando los incendios en Colombia?

Según MapBiomas Fuego Colombia, el área quemada entre 2000 y 2025 no muestra una tendencia estadística (Mann-Kendall, p = 0,73). Varía mucho de un año a otro, de 1,41 a 3,32 millones de hectáreas. Solo 11 municipios tienen una tendencia clara, y en 7 de ellos el fuego baja.

¿En qué meses hay más quemas en Colombia?

Entre diciembre y marzo, la temporada seca de la Orinoquía, se quema el 84,5 % del área de todo el año. Solo enero y febrero suman el 58,8 %. Ten en cuenta que parte de lo que el mapa marca en enero pudo quemarse en diciembre.

Fuentes

  1. MapBiomas Fuego: Documento de base teórica sobre algoritmos (ATBD). Colección 1.0MapBiomas Colombia (2026). Fundación Gaia Amazonas y Universidad del RosarioMétodo (mosaico de NBR mínimo, red neuronal profunda por región), los seis productos, el complemento de MODIS en 2002, 2005 y 2007, las limitaciones y el 73,2 % de la Orinoquía.
  2. MapBiomas Fuego Colombia. Información clave para comprender y gestionar el fuego en Colombia (2000 al 2025)MapBiomas Colombia, ficha técnica de la Colección 113,9 millones de hectáreas quemadas, el 12,2 % del territorio continental; 2,34 millones al año; el 68,7 % de la Orinoquía por regiones naturales.
  3. Fuego – MapBiomas ColombiaMapBiomas ColombiaProductos, leyenda del mapa anual (1 = MapBiomas, 2 = MODIS), assets públicos en Earth Engine y descargas.
  4. Nonparametric Tests Against TrendMann, H. B. (1945). Econometrica, 13, 245Prueba de tendencia de Mann-Kendall.
  5. Estimates of the Regression Coefficient Based on Kendall's TauSen, P. K. (1968). Journal of the American Statistical Association, 63, 1379-1389Pendiente de Sen (mediana de las pendientes entre pares de años).
  6. Controlling the False Discovery Rate: A Practical and Powerful Approach to Multiple TestingBenjamini, Y. y Hochberg, Y. (1995). Journal of the Royal Statistical Society, Series B, 57, 289-300Corrección por pruebas múltiples en los 354 municipios.
  7. Relative Oceanic Niño Index (RONI): Historical El Niño / La Niña episodes (1950–Present)NOAA Climate Prediction CenterRONI (ERSST v6) de diciembre a febrero de cada temporada y de julio a septiembre de 2026; umbrales de ±0,5 °C para El Niño y La Niña.
  8. El Niño/Southern Oscillation (ENSO) Diagnostic DiscussionNOAA Climate Prediction Center (8 de octubre de 2026)Aviso de El Niño y previsión de un evento de fuerte a muy fuerte hasta enero–marzo de 2027.
  9. La geografía de los incendios en Colombia cambia con El Niño: estos son los municipios y departamentos más vulnerablesCuitiva, L. y Pinto, J. M. CAMBIO (7 de octubre de 2026)Área quemada durante El Niño frente a lo habitual en Vichada, Meta, Tolima, Huila, Cauca y Boyacá, con MapBiomas Fuego y el ONI.
  10. The Proof and Measurement of Association between Two ThingsSpearman, C. (1904). The American Journal of Psychology, 15, 72-101Correlación de rangos de Spearman entre el RONI y el área quemada.
  11. On a Test of Whether one of Two Random Variables is Stochastically Larger than the OtherMann, H. B. y Whitney, D. R. (1947). The Annals of Mathematical Statistics, 18, 50-60Prueba de Mann-Whitney entre las temporadas con El Niño y con La Niña.
  12. MCD64A1.061 MODIS Burned Area Monthly Global 500mGoogle Earth Engine, catálogo de datosProducto de área quemada de MODIS con el día de la quema, usado para corregir el mes y rellenar huecos.
  13. FAO GAUL: Global Administrative Unit Layers 2025, Second-Level Administrative UnitsGoogle Earth Engine, catálogo de datosLímites municipales del script (campos ISO3_CODE y GAUL2_NAME); reemplaza a la versión de 2015, obsoleta.

Sigue aprendiendo

Para medir un incendio concreto, sigue con el tutorial de dNBR o mira el mapa de incendios en Colombia. ¿Necesitas estas cifras para tu municipio, cuenca o área protegida? Mira el servicio Mapas de incendios, agua y cobertura.

¿Necesitas el historial de fuego de tu zona?

Escribe a contacto@ventuari.dev con el área (municipio, predio o área protegida) y recibirás una propuesta con alcance y precio.