Google Earth Engine Tutorial: Estimate LST with MODIS Time Series
Credit: Youtube Channel “Terra Spatial, Tutorial on estimating land surface temperature using MODIS data and performing time series analysis.”
You can see all the tutorials from here: Techgeo Academy.
Google Earth Engine Tutorial: Estimate Land Surface Temperature with MODIS Time Series
Land Surface Temperature (LST) is a critical parameter for climate studies, urban heat island analysis, and environmental monitoring. MODIS (Moderate Resolution Imaging Spectroradiometer) data, available through NASA’s Earthdata, provides high spatial and temporal resolution datasets ideal for time series analysis. Google Earth Engine (GEE) offers a cloud-based platform to process and analyze these datasets efficiently. This tutorial outlines how to estimate LST using MODIS data in GEE.
Step 1: Access MODIS Data in GEE
MODIS provides multiple LST products, such as MOD11A1 (LST and emissivity) and MOD11A2 (8-day LST composites). For this tutorial, we’ll use MOD11A2. In GEE, the dataset can be accessed using the Earth Engine Data Catalog:
var modis = ee.ImageCollection("MODIS/006/MOD11A2");
Step 2: Preprocess the Dataset
Filter the dataset by date, location, and other parameters. Select the relevant LST bands (e.g., LST_day_1km and LST_night_1km) and apply scale factors to convert raw data to actual LST values in degrees Celsius:
var lstDay = modis.select('LST_Day_1km');
var lstNight = modis.select('LST_Night_1km');
var lst = lstDay.add(lstNight).multiply(0.02).add(200);
Step 3: Process Time Series Data
To analyze LST over time, create a time series by iterating through images in the collection. Use the map()
function to apply preprocessing steps and generate a cumulative time series:
var processedLST = modis.map(function(image) {
return image.select(['LST_Day_1km', 'LST_Night_1km'])
.multiply(0.02).add(200);
});
Step 4: Visualize the LST
Use a map to visualize the LST distribution. Apply a color palette and set the visualization parameters for better clarity:
Map.addLayer(lst, {min: 270, max: 340, palette: ['blue', 'green', 'red']}, 'LST');
Step 5: Create a Time Series Chart
Generate a chart to analyze LST trends over time. Extract mean values for a specific region and plot the data using chart.image.series()
:
var chart = ui.Chart.image.series(processedLST, region, ee.Reducer.mean(), 500);
chart.setOptions({title: 'LST Time Series', hAxis: {title: 'Date'}, vAxis: {title: 'LST (Β°C)'}});
print(chart);
Step 6: Export Results
Export the LST data as a GeoTIFF or CSV for further analysis. Use the Export.image.toDrive()
or Export.table.toDrive()
functions with appropriate parameters:
Export.image.toDrive({
image: lst,
description: 'LST_Estimate',
fileNamePrefix: 'lst_monthly',
region: region,
crs: 'EPSG:4326',
scale: 1000,
maxPixels: 1e10
});
FAQ
What is the resolution of MODIS LST data in GEE?
MODIS LST data typically has a resolution of 1 km (e.g., MOD11A2) or 500 m (e.g., MOD11A1), depending on the product selected.
How do I handle missing data or clouds in MODIS LST?
Use cloud mask algorithms or exclude images with high cloud cover. GEE provides functions like mask()
and spatial filters to clean the dataset.
Which MODIS product is best for LST estimation?
MOD11A2 (8-day composite) is suitable for regional-scale analysis, while MOD11A1 (daily) is better for short-term tracking. Choose based on your study requirements.
Can I combine day and night LST to get a daily average?
Yes. Averaging day and night LST values provides a more accurate daily estimate, but ensure the dataset includes both. Some products may include a single LST band.
How do I validate my LST estimation results?
Compare your results with ground-truth data from weather stations or other satellite datasets like Landsat. Use statistical metrics (e.g., RMSE, RΒ²) to assess accuracy.