šŸ“”GEEAdvancedā±ļø 4 mins read

SAR (Synthetic Aperture Radar) Basics & Applications

Published by GISTECHNEWS Editorial Team • Peer-Reviewed & Verified on QGIS 3.34+ LTR & Python 3.10+

Optical satellite sensors suffer from one crippling vulnerability: they cannot see through clouds, persistent haze, volcanic ash, or during the night. Synthetic Aperture Radar (SAR) is an active remote sensing technology that overcomes this limitation by transmitting its own microwave radiation pulses (typically between 1 cm and 1 m wavelength) toward Earth and measuring the backscattered signal returning to the antenna. Because microwave wavelengths easily penetrate cloud cover and operate independently of solar illumination, SAR provides uninterrupted, day-and-night all-weather monitoring. In this guide, we explore C-band SAR mechanics, polarimetry, and rapid flood inundation mapping.

šŸ“‹ Prerequisites

  • Basic understanding of electromagnetic physics and decibel (dB) log scales.
  • Access to Google Earth Engine or ESA SNAP software.
  • Interest in flood disasters and radar backscatter response.

šŸ› ļø Technical Environment

Required Software: Google Earth Engine / ESA SNAP (Recommended: GEE / SNAP 9.0+)

Practice Dataset: Sentinel-1 GRD Interferometric Wide (IW) C-Band SAR

Source Portal: Copernicus Data Space Ecosystem

CRS / Format: WGS 84 (COPERNICUS/S1_GRD)

Step-by-Step Workflow & Methodological Execution

1

Module 1: Radar Frequencies, Polarization & Scattering Physics

1. SAR Frequencies: • X-Band (~3 cm): High resolution, sensitive to foliage surface and crop canopy tops. • C-Band (~5.6 cm): Used by Sentinel-1. Balances canopy penetration with soil surface sensitivity. • L-Band (~23 cm): Used by ALOS PALSAR. Long wavelength penetrates dense forest canopies down to tree trunks and underlying soil moisture. 2. Dual-Polarization (VV and VH): Radar waves are transmitted and received in horizontal (H) or vertical (V) planes. Sentinel-1 provides: • VV (Vertical transmit, Vertical receive): Highly sensitive to rough water surfaces and bare soil roughness. • VH (Vertical transmit, Horizontal receive): Measures depolarized volume scattering, ideal for forest biomass and crop growth monitoring. 3. Scattering Mechanisms: • Specular Reflection: Smooth surfaces (calm water or flat runways) bounce microwave pulses away from the sensor like a mirror. Water appears very dark (low backscatter, typically < -20 dB). • Rough Surface Scattering: Soil or choppy water scatters radiation in all directions, returning moderate energy. • Double-Bounce: Vertical structures (buildings and tree trunks) meet flat ground, reflecting pulses twice directly back to the sensor. Urban areas appear intensely bright (high backscatter > -5 dB).

2

Module 2: Sentinel-1 Preprocessing Pipeline

Raw radar data cannot be viewed directly. The standard Sentinel-1 Ground Range Detected (GRD) pipeline involves: 1. Apply Orbit File: Updates accurate satellite position using precise restituted orbit vectors. 2. Thermal Noise Removal: Eliminates background electronic antenna noise. 3. Radiometric Calibration: Converts raw digital pixel values into true radar backscatter intensity ($\sigma^0$ Sigma Nought). 4. Range-Doppler Terrain Correction: Rectifies geometric radar distortions (foreshortening, layover, and radar shadow) caused by side-looking oblique sensor geometry, projecting pixels onto an accurate DEM. 5. Conversion to Decibels: Transforms linear backscatter into logarithmic scale: $dB = 10 \times \log_{10}(\sigma^0)$.

3

Module 3: Rapid Emergency Flood Mapping in GEE

Because calm standing floodwaters act as specular reflectors, radar backscatter drops precipitously over flooded terrain: 1. Select Pre-Flood Baseline: Filter a stack of 3-5 dry season Sentinel-1 images and compute their median backscatter. 2. Select Post-Event Crisis Scene: Obtain a Sentinel-1 image captured immediately after the extreme storm event. 3. Compute Difference: Subtract the crisis image from the baseline image ($Baseline - Crisis$). 4. Thresholding: Areas where backscatter dropped by more than 3.0 to 4.5 dB represent newly inundated floodwaters. 5. Slope Masking: Exclude pixels on steep slopes (> 5°) using an SRTM DEM to eliminate mountain radar shadows that mimic dark water.

āš ļø Common Errors & Troubleshooting

āŒ High noise (salt-and-pepper) across radar image

šŸ’” Resolution: Speckle noise is inherent to coherent radar. Apply a 5x5 Lee, Refined Lee, or Gamma-MAP filter before thresholding.

āŒ Smooth sand or dry flat runways misclassified as standing water

šŸ’” Resolution: Specular reflection causes smooth dry surfaces to appear dark like water; mask out known airport runways using land cover maps.

šŸ’” Expert Tips & Best Practices

  • Smooth open water reflects radar pulses away from the sensor like a mirror, appearing very dark (< -18 dB backscatter).
  • Use VH polarization for vegetation structural monitoring and VV polarization for surface roughness and open water.

🌐 GEE Sentinel-1 SAR Automated Flood Mapping Script

// Define Flood Event Coordinates and Dates (e.g., Bangladesh Floods)
var aoi = ee.Geometry.Point([90.4125, 23.8103]).buffer(20000);

// Load Sentinel-1 C-Band SAR GRD (Interferometric Wide Swath)
var s1 = ee.ImageCollection('COPERNICUS/S1_GRD')
  .filter(ee.Filter.eq('instrumentMode', 'IW'))
  .filter(ee.Filter.listContains('transmitterReceiverPolarisation', 'VH'))
  .filter(ee.Filter.eq('orbitProperties_pass', 'DESCENDING'))
  .filterBounds(aoi)
  .select('VH');

// Pre-flood dry baseline (Median)
var preFlood = s1.filterDate('2023-04-01', '2023-05-15').median();

// Crisis flood event scene
var postFlood = s1.filterDate('2023-07-01', '2023-07-20').min();

// Compute SAR Backscatter Difference
var difference = preFlood.subtract(postFlood);

// Threshold flood pixels (drop > 3.5 dB)
var flooded = difference.gt(3.5);

// Mask out steep terrain where radar shadows mimic water
var dem = ee.Image('USGS/SRTMGL1_003');
var slope = ee.Terrain.slope(dem);
var floodClean = flooded.updateMask(slope.lt(5)).updateMask(flooded);

Map.centerObject(aoi, 11);
Map.addLayer(postFlood.clip(aoi), {min: -25, max: -5}, 'SAR Crisis Backscatter (VH)');
Map.addLayer(floodClean.clip(aoi), {palette: ['red']}, 'Detected Inundated Floodwater');

šŸ”— Related Tutorials & Practical Workflows