Google Earth Engine Tutorial: Detect Urban Heat Islands with Landsat 8
Credit: Youtube Channel “Terra Spatial, Guide on detecting and analyzing urban heat islands using Landsat 8 thermal imagery.”
You can see all the tutorials from here: Techgeo Academy.
Urban Heat Islands and Landsat 8 in Google Earth Engine
Urban heat islands (UHIs) refer to the phenomenon where urban areas experience significantly higher temperatures than their surrounding rural regions. This effect results from human activity, infrastructure materials, and land cover changes. Analyzing UHIs with satellite data is essential for urban planning and climate resilience. Landsat 8, with its high-resolution thermal infrared bands, provides valuable data for this purpose. Google Earth Engine (GEE) offers a platform to process and analyze large geospatial datasets efficiently. This tutorial outlines the steps to detect UHIs using Landsat 8 in GEE.
Steps to Detect Urban Heat Islands
- Import Landsat 8 Data: Access the Landsat 8 Surface Reflectance dataset using
ee.ImageCollection('LANDSAT/LC08/C02/T1_L2'). - Preprocess the Data: Filter the dataset by date, location, and cloud cover. Use
filterDate,filterBounds, andsortmethods to select relevant images. - Calculate Land Surface Temperature (LST): Use the thermal bands (TIRS 1 and TIRS 2) to compute LST. The formula involves converting digital numbers (DN) to brightness temperature and applying atmospheric corrections.
- Identify Urban Areas: Use land cover data or built-up area indices (e.g., NDVI, NDBI) to isolate urban zones within the study region.
- Analyze Thermal Patterns: Compare LST values in urban and rural areas to quantify temperature differences. Apply statistical methods or zonal analysis to highlight UHI intensity.
- Visualize Results: Display LST maps, temperature gradient layers, and spatial comparisons using the GEE code editor’s visualization tools.
Example Code
// Load Landsat 8 Collection
var landsat = ee.ImageCollection('LANDSAT/LC08/C02/T1_L2')
.filterDate('2023-01-01', '2023-12-31')
.filterBounds(ee.Geometry.Rectangle([minLon, minLat, maxLon, maxLat]));
// Function to calculate LST
function calculateLST(image) {
var tirs1 = image.select('TIRS_1');
var tirs2 = image.select('TIRS_2');
// Conversion factors and atmospheric parameters
var lst = tirs1.multiply(0.00002).add(0.1)
.expression('TIRS_1*0.00002 + 0.1', {TIRS_1: tirs1});
return image.addBands(lst.rename('LST'));
}
// Map LST over the collection
var lstCollection = landsat.map(calculateLST);
// Select the most recent image
var latestImage = lstCollection.sort('system:time_start', false).first();
// Display LST (example for visualization)
Map.addLayer(latestImage.select('LST'), {min: 280, max: 320}, 'Land Surface Temperature');
FAQ Section
What Landsat 8 product is best for UHI analysis?
The Landsat 8 Surface Reflectance Collection 2 Tier 1 (T1_L2) is ideal for UHI studies, as it provides calibrated surface reflectance values with thermal infrared bands.
Which bands are critical for LST calculation?
Landsat 8’s TIRS 1 (10.8 μm) and TIRS 2 (12.0 μm) bands are essential for retrieving land surface temperature.
How to handle cloud cover in the analysis?
Use the select method to filter images with low cloud cover or the qualityMasks function to mask out cloudy pixels.
Can I analyze UHIs over multiple dates?
Yes, GEE allows processing time series data. Use filterDate and map to calculate LST for multiple dates and compare trends.
What if the results are inaccurate?
LST accuracy depends on atmospheric corrections and parameters. Use reliable conversion constants and validate results with ground-truth data or other sensors.
Are there alternatives to Landsat 8 for UHI detection?
Yes, Sentinel-2 or MODIS data can also be used. However, Landsat 8 offers higher thermal resolution (100m) for localized UHI analysis.






