Google Earth Engine Tutorial: Map Water Turbidity with Sentinel-2
Credit: Youtube Channel “Terra Spatial, Case study on mapping water turbidity in Mahanadi Basin using Sentinel-2 imagery.”
You can see all the tutorials from here: Techgeo Academy.
Introduction to Mapping Water Turbidity with Sentinel-2
Google Earth Engine (GEE) is a powerful platform for analyzing geospatial data, including satellite imagery. Sentinel-2, part of the European Space Agency’s Copernicus program, provides high-resolution multispectral data ideal for monitoring water quality parameters like turbidity. This tutorial walks through the process of creating a turbidity map using Sentinel-2 data in GEE.
Step 1: Set Up Your Google Earth Engine Environment
Before starting, ensure you have a GEE account and access to the GEE Code Editor. Open the Code Editor and ensure your JavaScript environment is configured for visualization and analysis workflows.
Step 2: Load Sentinel-2 Data
Use the Sentinel-2 dataset in GEE to access satellite imagery. Filter by date, region, and cloud cover for accurate turbidity analysis.
var sentinel2 = ee.ImageCollection("COPERNICUS/S2_SR")
.filterDate('2023-01-01', '2023-12-31')
.filter(ee.Filter.lt('CLOUDY_PIXEL_PERCENTAGE', 20))
.filter(ee.Filter.geometry(ee.Geometry.Rectangle([lon1, lat1, lon2, lat2])));
Step 3: Preprocess the Data
Preprocessing includes selecting relevant bands (e.g., blue, green, red, near-infrared) and normalizing the data for consistent analysis.
var preprocessed = sentinel2.select(['B2', 'B3', 'B4', 'B8']);
Step 4: Calculate Turbidity Index
Apply a turbidity model using spectral bands. A common approach is the Water Turbidity Index
based on reflectance ratios in visible wavelengths.
var turbidityIndex = preprocessed.map(function(image) {
return image.addBands(image.select('B2').divide(image.select('B4')).rename('Turbidity_Index'));
});
This index leverages the ratio of blue to green reflectance, which correlates with suspended sediment in water bodies.
Step 5: Visualize the Turbidity Map
Use the GEE Code Editor’s visualization tools to plot turbidity values over your region of interest.
Map.centerObject(roi, 10);
var visParams = {min: 0, max: 1, palette: ['blue', 'green', 'yellow', 'red']};
Map.addLayer(turbidityIndex.select('Turbidity_Index'), visParams, 'Turbidity Map');
Step 6: Export the Result
Export the turbidity map as a GeoTIFF or other compatible format for further analysis or use in GIS software.
Export.image.toDrive({
image: turbidityIndex.select('Turbidity_Index'),
description: 'water_turbidity_export',
folder: 'GEE_Exports',
fileNamePrefix: 'turbidity_map',
region: roi,
scale: 10,
maxPixels: 1e10
});
Conclusion
By combining Sentinel-2’s high-resolution data with GEE’s computational capabilities, you can efficiently map water turbidity over large areas. This approach supports environmental monitoring, resource management, and scientific research focused on aquatic ecosystems.
FAQ
Why use Sentinel-2 for water turbidity mapping?
Sentinel-2 offers 10m resolution and 13 spectral bands, making it well-suited for detecting suspended particles in water. Its frequent revisit time ensures timely data for monitoring dynamic water bodies.
How to handle cloud cover in Sentinel-2 data?
Use the CLOUDY_PIXEL_PERCENTAGE
filter to exclude images with high cloud coverage. Additionally, apply cloud masking techniques like the S2_clouds
spectral signature detection.
Can turbidity indices be calibrated for field measurements?
Yes, turbidity indices derived from satellite data can be calibrated using in-situ measurements. This involves correlating modeled values with ground-truth data to improve accuracy.
What are alternative approaches for turbidity estimation?
Other methods include using the Normalized Difference Water Index (NDWI) or machine learning models trained on historical datasets. These approaches may require more computational resources but can enhance precision.
How to validate the turbidity map results?
Validate results by comparing with field measurements, peer-reviewed studies, or other remote sensing products. Cross-checking with known water quality datasets ensures reliability.