Google Earth Engine Tutorial: Identify Elevated LST Regions
Credit: Youtube Channel “Terra Spatial, Learn how to identify areas with high land surface temperature using thermal satellite data.”
You can see all the tutorials from here: Techgeo Academy.
Introduction
Google Earth Engine (GEE) is a powerful platform for analyzing geospatial data, allowing users to process large-scale datasets such as land surface temperature (LST). This tutorial demonstrates how to identify elevated LST regions using GEE, focusing on satellite data from Landsat or MODIS. By following this guide, you can visualize and analyze temperature anomalies within a specific region of interest.
Step 1: Access Google Earth Engine
Begin by visiting the Google Earth Engine Code Editor. Sign in with your Google account and ensure you are familiar with basic GEE syntax. GEE provides APIs for accessing diverse datasets, including thermal imagery for LST analysis.
Step 2: Load and Filter the Dataset
Select a thermal dataset like Landsat 8 or MODIS. For Landsat 8, use ee.ImageCollection("LANDSAT/LC08/C02/T1_L2")
, and for MODIS, ee.ImageCollection("MODIS/061/MOD11A1")
. Filter the collection by date and region. Example code:
var dataset = ee.ImageCollection("LANDSAT/LC08/C02/T1_L2")
.filterDate('2023-01-01', '2023-12-31')
.filter(ee.Filter.geometry(geometry));
Step 3: Calculate Land Surface Temperature
Extract the thermal band (e.g., Band 10 for Landsat 8 or the “LST_Day_1km” band from MODIS). Use an appropriate algorithm to convert the digital numbers (DN) to LST. For Landsat 8, use ee.Algorithms.Landsat.srToEmissivity
or a manual conversion. Example for MODIS:
var lst = dataset.select('LST_Day_1km').map(function(img) {
return img.multiply(0.02).set('system:time_start', img.get('system:time_start'));
});
Step 4: Visualize the LST Data
Create a visualization to display LST values. Use a color palette to differentiate temperature ranges. For instance:
Map.setCenter(lon, lat, zoom);
Map.addLayer(lst, {min: 290, max: 330, palette: ['blue', 'yellow', 'red']}, 'LST');
Adjust the min and max values based on the dataset and region.
Step 5: Identify Elevated LST Regions
Calculate statistical thresholds (e.g., 90th percentile) to determine elevated temperatures. Create a mask by comparing LST values to the threshold. Example:
var threshold = lst.reduce(ee.Reducer.percentile([90])).get('LST_Day_1km');
var elevatedRegions = lst.map(function(img) {
return img.updateMask(img.gt(threshold));
});
Step 6: Export the Results
Export the processed LST data as a GeoTIFF or CSV. Use Export.image.toDrive
for GeoTIFF or Export.table.toDrive
for point data. Example:
Export.image.toDrive({
image: elevatedRegions.first(),
description: 'elevated_lst',
folder: 'GEE_Exports',
fileNamePrefix: 'elevated_lst',
scale: 100,
maxPixels: 1e10
});
FAQ
What datasets are best for LST analysis in GEE?
Landsat 8 provides higher-resolution LST data (100m), while MODIS offers global coverage at 1km resolution. Choose based on your spatial requirements.
How accurate is LST calculated in GEE?
The accuracy depends on the sensor and calibration. Landsat LST is typically more accurate for local studies, while MODIS is suitable for regional or global trends.
Can I analyze historical LST data using GEE?
Yes, GEE provides access to historical data such as MODIS from 2000 onwards and Landsat from the 1970s. Adjust date ranges in your filters accordingly.
What if the LST data appears inverted or inconsistent?
Ensure proper data scaling and unit conversion (e.g., Kelvin to Celsius). Check the metadata for units and apply necessary corrections to the image.
How do I export LST data to a file format other than GeoTIFF?
Use Export.image.toDrive
with a specified file format like CSV
or TF
. Alternatively, download the data via the “Export” tab in the Code Editor.