Google Earth Engine Tutorial: Analyze Land Subsidence
Credit: Youtube Channel “Terra Spatial, Learn how to perform land subsidence analysis using InSAR data and time series analysis in GEE.”
You can see all the tutorials from here: Techgeo Academy.
Introduction to Analyzing Land Subsidence with Google Earth Engine
Land subsidence refers to the gradual sinking or settling of the Earth’s surface, often caused by natural processes or human activities like groundwater extraction. Google Earth Engine (GEE) offers a powerful platform to analyze such changes using satellite data. This tutorial will guide you through the steps to detect and monitor land subsidence using GEE’s tools and datasets.
Step-by-Step Guide to Analyzing Land Subsidence
1. Set Up Your GEE Environment
Ensure you have access to a GEE account. Use the GEE Code Editor to write and execute your scripts.
2. Choose the Right Dataset
Select a suitable dataset for subsidence analysis. Common choices include:
- Sentinel-1 InSAR Data: Ideal for detecting ground deformation with high temporal resolution.
- ALOS PALSAR Data: Provides interferometric information for precise subsidence monitoring.
- CDR (Copernicus Data and Information Access Services): Offers time-series datasets for terrain analysis.
3. Define the Study Area
Set the region of interest (ROI) by defining a geometry (e.g., a polygon) or using a built-in dataset like FAO
for administrative boundaries.
var studyArea = ee.Geometry.Rectangle([xmin, ymin, xmax, ymax]);
4. Load and Filter the Data
Filter the dataset by date range and region to focus on relevant observations. For example, load Sentinel-1 data for a specific timeframe:
var dataset = ee.ImageCollection('COPERNICUS/S1_GRD')
.filterDate('2020-01-01', '2021-01-01')
.filter(ee.Filter.eq('instrumentMode', 'IW'));
5. Process the Data
Use GEE’s functions to calculate deformation rates. For InSAR data, this often involves processing interferograms and applying phase unwrapping:
var deformation = dataset.select(['phase'])
.reduce(ee.Reducer.mean())
.clip(studyArea);
6. Visualize and Export Results
Display the deformation results using a palette and export the analysis as a GeoTIFF or CSV file for further use:
Map.addLayer(deformation, {min: -10, max: 10, palette: ['blue', 'green', 'red']}, 'Deformation');
Export.image.toDrive({
image: deformation,
description: 'land_subsidence_analysis',
folder: 'GEE_Exports',
fileNamePrefix: 'subsidence_mask',
region: studyArea,
crs: 'EPSG:4326',
scale: 10,
fileFormat: 'GeoTIFF'
});
Key Considerations
- Temporal Resolution: Select datasets with frequent acquisitions to capture gradual changes.
- Spatial Accuracy: Use high-resolution data for precise subsidence detection in urban areas.
- Data Masking: Apply cloud masking or speckle filtering to improve analysis quality.
- Baseline Correction: Adjust for atmospheric interference or tectonic movements to isolate subsidence.
Code Example: Land Subsidence Detection
This script demonstrates a basic workflow for land subsidence analysis using Sentinel-1 InSAR data:
var studyArea = ee.Geometry.Rectangle([12.0, 35.0, 13.0, 36.0]);
var dataset = ee.ImageCollection('COPERNICUS/S1_GRD')
.filterDate('2020-01-01', '2021-01-01')
.filter(ee.Filter.eq('instrumentMode', 'IW'));
var deformation = dataset.select(['phase'])
.reduce(ee.Reducer.mean())
.clip(studyArea);
Map.addLayer(deformation, {min: -10, max: 10, palette: ['blue', 'green', 'red']}, 'Land Subsidence');
Export.image.toDrive({
image: deformation,
description: 'subsidence_analysis',
folder: 'GEE_Exports',
fileNamePrefix: 'subside',
region: studyArea,
crs: 'EPSG:4326',
scale: 10,
fileFormat: 'GeoTIFF'
});
FAQ: Land Subsidence Analysis in Google Earth Engine
Q: What are the best data sources for detecting land subsidence?
A: Sentinel-1 InSAR data and ALOS PALSAR are widely used for subsidence analysis due to their ability to measure ground deformation with high precision.
Q: How long does the analysis take in GEE?
A: GEE is optimized for cloud computing, so processing times vary depending on the dataset size and query complexity. Small regions may take seconds, while large areas require minutes.
Q: Can GEE handle large-scale land subsidence datasets?
A: Yes, GEE efficiently processes large datasets and allows for parallel execution of tasks across distributed servers.
Q: What if the data has clouds or noise?
A: Use GEE’s mask()
, filter()
, or cloudMasking()
functions to clean the data before analysis. For SAR, speckle filtering can reduce noise.
Q: How do I visualize the results effectively?
A: Apply color palettes to emphasize deformation trends. Use Map.addLayer()
with custom parameters to highlight areas of significant subsidence.