Google Earth Engine Tutorial: Map Global Forest Fires with MODIS
Credit: Youtube Channel “Terra Spatial, Tutorial on using MODIS burned area data for mapping and analyzing global forest fire patterns.”
You can see all the tutorials from here: Techgeo Academy.
To map global forest fires using MODIS data in Google Earth Engine (GEE), follow this step-by-step tutorial. This guide will help you visualize fire detections by accessing MODIS datasets, filtering for specific regions, and rendering the results on a map.
Step 1: Access MODIS Fire Dataset
First, initialize GEE and load the MODIS Fire dataset. The dataset MODIS/006/MCD14ML provides fire detection information. Use the following code snippet:
// Initialize Earth Engine
ee.Authenticate();
var dataset = ee.ImageCollection("MODIS/006/MCD14ML");
Step 2: Filter by Date and Region
Filter the dataset to a specific date range and geographic region. For example, to focus on Brazil in 2020:
// Define region (e.g., Brazil)
var brazil = ee.FeatureCollection("FAO/GAUL/2015/level1").filter(ee.Filter.eq('ADM0_NAME', 'Brazil'));
// Filter by date (e.g., 2020)
var filtered = dataset.filterDate('2020-01-01', '2020-12-31')
.filter(ee.Filter.eq('ACQ_DATE', '2020'));
Step 3: Extract Fire Information
Extract the fire mask and brightness temperature. The fire_mask band identifies fire locations, while brightness provides intensity data:
// Select fire mask and brightness
var fireMask = filtered.select(['fire_mask']);
var brightness = filtered.select(['brightness']);
Step 4: Visualize Fire Detections
Add the fire mask to the map with a custom color palette. Brightness can be used to adjust marker size:
// Define a color palette for fire mask (1 = fire, 0 = no fire)
var palette = ['000000', 'FF0000'];
// Add fire mask to the map
Map.addLayer(fireMask, {palette: palette}, 'Fire Detections');
// Add brightness as a layer
Map.addLayer(brightness, {min: 300, max: 400, palette: ['yellow', 'red']}, 'Fire Intensity');
Step 5: Combine with Geospatial Data
Overlay fire points on a base map. Use the ui.Map module or highlight the region for focus:
// Zoom to Brazil
Map.setCenter(-55.8417, -14.2350, 4);
// Display the fire mask in a custom map layout
var visParams = {min: 1, max: 1, palette: ['red']};
Map.addLayer(filtered, visParams, 'Fire Points');
FAQ
- How do I update the dataset to the latest version?
Use a newer date range or check GEE’s catalog for updated collections. - What’s the difference between fire detection and hotspots?
Fire detection identifies confirmed fire locations, while hotspots are potential areas with heat signatures. - Which datasets are available for fire monitoring?
Explore GEE’s Earth Engine Catalog for MODIS, VIIRS, and other satellite fire products. - Can I export the fire map to a file?
Yes. Use Export.image.toDrive() or Export.table.toDrive() for point or raster data. - How to handle large datasets?
Use .neighborhood() for smoothing or .reduceToImages() for aggregate analysis. - Why are some fires not visible?
Adjust the opacity or check cloud cover and sensor limitations in the dataset. - Can I analyze fires in multiple years?
Modify the date filter or use .filter(ee.Filter.calendarRange()) for seasonal analysis. - How to differentiate between natural and human-caused fires?
MODIS data alone cannot distinguish causes. Combine with additional datasets or metadata.