Google Earth Engine Tutorial: Analyze LST Temporal Changes
Credit: Youtube Channel “Terra Spatial, Learn how to import shapefiles and analyze temporal changes in land surface temperature over study areas.”
You can see all the tutorials from here: Techgeo Academy.
Introduction
Google Earth Engine (GEE) provides a powerful platform for analyzing land surface temperature (LST) trends over time. This tutorial demonstrates how to use GEE to analyze temporal changes in LST, leveraging satellite data and scripting capabilities for automation and scalability.
Step-by-Step Process
1. Initialize the GEE Environment
Load the GEE library and authenticate your account:
// Load and authenticate GEE
var ee = require('google-earth-engine');
ee.Authenticate();
ee.Initialize();
2. Load LST Dataset
Choose a dataset for LST, such as the MODIS LST (MOD11A2) or Landsat TIRS. For this example, we’ll use MODIS:
// Load MODIS LST dataset
var modisLST = ee.ImageCollection("MODIS/006/MOD11A2")
.filterDate('2010-01-01', '2020-12-31')
.select('LST_1km');
3. Preprocess Data
Filter by region, date range, and remove clouds where necessary:
// Define study region
var studyRegion = ee.Geometry.Rectangle([13.5, 35.5, 14.5, 36.5]); // Example coordinates
// Filter and prep data
var filteredLST = modisLST
.filterBounds(studyRegion)
.filter(ee.Filter.calendarRange(1, 12, 'month'))
.map(function(image) {
return image.clip(studyRegion);
});
4. Compute Time Series Statistics
Calculate the mean LST for each month and plot the results:
// Compute monthly mean LST
var monthlyMeans = filteredLST.map(function(image) {
return image.set('month', image.date().get('month'));
}).mean();
// Plot time series
var chart = ui.Chart.image.series({
imageSequence: filteredLST.select('LST_1km'),
region: studyRegion,
reducer: ee.Reducer.mean(),
scale: 1000
});
chart.setOptions({
title: 'Monthly Land Surface Temperature',
hAxis: {title: 'Date'},
vAxis: {title: 'Temperature (Β°C)'}
});
print(chart);
5. Analyze Long-Term Trends
Use linear regression to detect trends in LST over time:
// Extract time for regression
var timeSeries = filteredLST.select('LST_1km').toList(filteredLST.size());
var timeList = timeSeries.map(function(image) {
return image.date().millis();
});
// Perform regression
var regressor = ee.Image.constant(1).multiply(timeList);
var regression = filteredLST.select('LST_1km').regression(regressor, 'regression');
// Display trend coefficient
var trend = regression.select('regression_coefficients');
Map.addLayer(trend, {min: -5, max: 5}, 'LST Trend');
Results and Visualization
After executing the script, the results will include a time series chart showing LST variations and a map displaying temperature trends. You can further export the data or refine the analysis by adding anomalies, seasonal patterns, or comparing with environmental factors.
FAQ
- How do I access LST data in GEE?
Use the built-in image collections like MODIS/006/MOD11A2 or Landsat/8/TIRS for LST data. Select the appropriate bands and pre-process as needed.
- Can I use Landsat data for LST analysis?
Yes, Landsat TIRS (Thermal Infrared Sensor) bands can be used to calculate LST. Ensure you apply atmospheric corrections and use a suitable algorithm for computation.
- How do I handle cloud cover in my analysis?
Use cloud masking functions (e.g., MODIS Quality bands) or filtering techniques within the ImageCollection to exclude cloudy pixels.
- What is the scale of the LST data provided?
MODIS LST datasets provide data at 1 km resolution, while Landsat TIRS offers 100 m scale. Choose based on your study area’s requirements.
- How do I interpret the trend coefficient map?
The trend coefficient indicates the temperature change per unit time (e.g., per year). Positive values show increasing trends, while negative values reflect cooling.