SAR data
Contents
SAR data#
You will find a SAR tutorial here.
Implemented SAR constellations#
Constellations |
Class |
Use archive |
---|---|---|
|
|
❌ |
|
|
❌ |
|
|
❌ |
|
|
❌ |
|
|
✅ for ground range data, ❌ for complex data |
|
|
✅ |
|
|
❌ |
|
|
❌ |
Warning
Satellites products that cannot be used as archived have to be extracted before use, mostly because SNAP doesn’t handle them.
Product type handling#
Constellations |
Product Type |
Handled |
---|---|---|
|
SCS |
✅ |
|
DGM |
✅ |
|
DGM |
⚠️ |
|
GEC, GTC |
⚠️ |
|
SLC |
✅ |
|
GRD |
✅ |
|
ORTHO |
💤 |
|
SLC |
⚠️ |
|
GRC, GCC, GCD |
⚠️ |
|
GRD |
✅ |
|
SLC |
✅ |
|
SGX, SCN, SCW, |
⚠️ |
|
SGF |
✅ |
|
SLC |
✅ |
|
GRD |
✅ |
|
SLC |
✅ |
|
ID |
⚠ |
|
GEC |
✅ |
|
GTC |
✅ |
|
SSC |
✅ |
|
MGD |
✅ |
|
GEC |
⚠️ |
|
EEC |
✅ |
✅: Tested
⚠️: Never tested, use it at your own risk!
❌: Not handled
💤: Waiting for the release
The goal of EOReader is to implement every constellation that can be used in
the Copernicus Emergency Management Service.
The constellations that can be used during CEMS activations are (as of 09/2021):
SAR Bands#
Warning
EOReader always loads SAR bands in a GRD format. This library is not (yet ?) meant to manage inSAR or other complex processes.
Only the
Intensity
bands are used (not theI
,Q
for complex data orAmplitude
for ground range data)Some SAR band may contain null pixels that are not really nodata (COSMO for example).
In this case, the Terrain Correction step applied by SNAP can create large nodata area.
If this is the case, you can set the keywordSAR_INTERP_NA
to True when loading or stacking SAR data
According to what contains the products, allowed SAR bands are:
VV
VH
HH
HV
RH
(only for RADARSAT-Constellation)RV
(only for RADARSAT-Constellation)
You also can load despeckled bands:
VV_DSPK
VH_DSPK
HH_DSPK
HV_DSPK
RH_DSPK
(only for RADARSAT-Constellation)RV_DSPK
(only for RADARSAT-Constellation)
Available indices#
EOReader uses (from version 0.18.0) the indices described in the awesome spectral indices (ASI) project.
ASI implements SAR indices, with the list available here.
DEM bands#
These bands need a valid worldwide DEM path positioned thanks to the environment variable EOREADER_SAR_DEFAULT_RES
DEM
SLOPE
SAR constellations can only load DEM
and SLOPE
bands as the sun position does not impact SAR data. The SLOPE
band is given in degrees. Please post an issue if you
need this band in percent
.
These bands need a valid worldwide DEM path positioned thanks to the environment variable EOREADER_DEM_PATH
.
You can use both a local path e.g. /mnt/dataserver/dems/srtm_30_v4/index.vrt
or \\dataserver\DEMS\srtm_30_v4\index.vrt
or
a URL pointing to a web resources hosted on a S3 compatible storage e.g.
https://s3.storage.com/dem-bucket/srtm_cog.tif
(not available on Windows for now).
Default resolution#
The default resolution of SAR products is the one given in Data Access Portfolio (2014-2022, section 6.2). For resolutions not available in this document, we are using the pixel spacing given by the constellation’s provider. Complex data are always converted back to ground range to be used, so the complex resolution is never used by EOReader.
SAR default resolution is the pixel spacing given by the constellation provider, to follow common habits. Sometimes, especially when converting complex data to ground range, this resolution needs to be adaptated.
⚠ Pay attention that for a pixel spacing of 10 meters and a rg x az resolution of 23m, objects under 23m won’t be resolved ! As this may be counter-intuitive, it is recommanded to always specify the resolution when loading SAR data.
Sentinel-1#
Sentinel-1 |
Ground Range Detected (GRD) |
Ground Range Detected (GRD) |
Ground Range Detected (GRD) |
---|---|---|---|
StripMap (SM) * |
pixel spacing: 3.5m |
pixel spacing: 10.0m |
pixel spacing: 40.0m |
Interferometric Wide swath (IW) |
20.0m |
pixel spacing: 40.0m |
|
Extra-Wide swath (EW) |
pixel spacing: 25.0m |
pixel spacing: 40.0m |
|
Wave (WV) * |
pixel spacing: 25.0m |
* Resolutions not provided in the Data Access Portfolio. Available here.
COSMO-Skymed 1st Generation#
COSMO-Skymed |
Detected Ground Multi-look (DGM) |
---|---|
Spotlight |
1.0m |
StripMap |
3.0m |
StripMap |
5.0m |
StripMap |
20.0m |
ScanSAR |
30.0m |
ScanSAR |
100.0m |
COSMO-Skymed 2nd Generation#
Resolutions not provided in the Data Access Portfolio. Available here.
COSMO-Skymed |
Detected Ground Multi-look (DGM) |
---|---|
SPOTLIGHT_2_A |
~0.4m |
SPOTLIGHT_2_B |
~0.63m |
SPOTLIGHT-2_C |
~0.8m |
STRIPMAP & QUADPOL |
~3.0m |
SCANSAR1 |
~20.0m |
SCANSAR2 |
~40.0m |
PINGPONG |
~12.0m |
TerraSAR-X & TanDEM-X & PAZ SAR#
TerraSAR-X |
Multi Look Ground Range (MGD) |
Multi Look Ground Range (MGD) |
---|---|---|
StripMap (SM) |
3.3m |
7.0m * |
StripMap (SM) |
6.6m |
9.9m * |
High Resolution Spotlight (HS) |
1.1m |
3.0m * |
High Resolution Spotlight (HS) |
2.2m |
4.4m * |
Spotlight (SL) |
1.7m |
3.8m * |
Spotlight (SL) |
3.4m |
5.5m * |
Staring Spotlight (ST) |
0.24m |
0.9m * |
ScanSAR (SC) |
18.5m |
|
ScanSAR (SC) |
40.0m |
* Resolutions not provided in the Data Access Portfolio. Available here.
RADARSAT-2#
RADARSAT-2 |
Maximal spatial resolution |
---|---|
Spotlight |
1.0m |
Ultra-Fine |
3.0m |
Wide Ultra-Fine |
3.0m |
Multi-Look Fine |
5.0m |
Wide Multi-Look Fine |
5.0m |
Extra-Fine |
5.0m |
Fine |
8.0m |
Wide-Fine |
8.0m |
Standard |
25.0m |
Wide |
25.0m |
Extended High |
25.0m |
Extended Low |
25.0m |
Fine Quad-Pol |
12.0m |
Wide Quad-Pol |
12.0m |
Standard Quad-Pol |
25.0m |
Wide Standard Quad-Pol |
25.0m |
ScanSAR Narrow |
60.0m |
ScanSAR Wide |
100.0m |
Ship (Detection of vessels) |
35.0m |
Ocean Surveillance |
50.0m |
RADARSAT-Constellation#
Resolutions not provided in the Data Access Portfolio. Available here.
RADARSAT-Constellation |
Resolution |
---|---|
Spotlight [FSL] |
1.0m |
Very-High Resolution, 3 meters [3M] |
3.0m |
High Resolution, 5 meters [5M] |
5.0m |
Quad-Polarization [QP] |
9.0m |
Medium Resolution, 16 meters [16M] |
16.0m |
Medium Resolution, 30 meters [SC30] |
30.0m |
Medium Resolution, 50 meters [SC50] |
50.0m |
Low Noise [SCLN] |
100.0m |
Low Resolution, 100 meters [SC100] |
100.0m |
Ship Detection |
Variable |
ICEYE#
Resolutions not provided in the Data Access Portfolio. Available here.
ICEYE |
Resolution |
---|---|
Spotlight [SL(H)] |
1.0m |
StripMap [SM(H)] |
3.0m |
Scan [SC] |
< 15.0m |
SAOCOM-1#
Resolutions not provided in the Data Access Portfolio. Available here.
SAOCOM-1 |
Detected Image (DI) |
---|---|
StripMap (SM) |
10.0m |
StripMap (SM) |
10.0m |
TOPSAR Narrow (TN) |
30.0m |
TOPSAR Narrow (TN) |
50.0m |
TOPSAR Wide (TW) |
50.0m |
TOPSAR Wide (TW) |
100.0m |
GPT graphs#
You can change the SAR GPT graphs used by setting the following environment variables:
EOREADER_PP_GRAPH
: Environment variables for pre-processing graph path.EOREADER_DSPK_GRAPH
: Environment variables for despeckling graph path
Warning
For performance reasons, the Terrain Correction
step is done before the Despeckle
step. Indeed this step is very
time-consuming and better done one time on the raw image than two times on both the raw and the despeckled image. Even
if this is not the regular way of handling SAR data, this shouldn’t really affect the quality of any extraction done
after that.
You can change the DEM used for the Terrain Correction step by positioning the EOREADER_SNAP_DEM_NAME
environment variable.
Available DEMs are:
ACE2_5Min
ACE30
ASTER 1sec GDEM
Copernicus 30m Global DEM
Copernicus 90m Global DEM
GETASSE30
(by default)SRTM 1Sec HGT
SRTM 3Sec
External DEM
If External DEM
is set, you must specify the DEM you want by positioning the EOREADER_DEM_PATH
to a DEM that can be read by SNAP.
What to know if you are changing a graph#
Those graphs should have a reader and a writer on this model:
<graph id="Graph">
<version>1.0</version>
<node id="Read">
<operator>Read</operator>
<sources/>
<parameters class="com.bc.ceres.binding.dom.XppDomElement">
<file>$file</file>
</parameters>
</node>
<node id="Write">
<operator>Write</operator>
<sources>
<sourceProduct refid="????"/>
</sources>
<parameters class="com.bc.ceres.binding.dom.XppDomElement">
<file>$out</file>
<formatName>BEAM-DIMAP</formatName>
</parameters>
</node>
</graph>
Warning
Pay attention to set $file
and $out
and leave the BEAM-DIMAP
file format. The first graph must orthorectify your
SAR data, but should not despeckle it. The second graph is precisely charged to do it.
SNAP graphs are run on every band separatly.
The pre-processing graph should also have a Calibration
and a Terrain Correction
step with the following wildcards that are set automatically in the module:
$calib_pola
: Polarization of the band to calibrate$dem_name
: SNAP DEM name$dem_path
: DEM path (that can be use by SNAP, so only TIFF DEMs)$res_m
: Resolution in meters$res_deg
: Resolution in degrees$crs
: CRSThe nodata value should always be set to 0.
The default Calibration
step is:
<node id="Calibration">
<operator>Calibration</operator>
<sources>
<sourceProduct refid="ThermalNoiseRemoval"/>
</sources>
<parameters class="com.bc.ceres.binding.dom.XppDomElement">
<sourceBands/>
<auxFile>Latest Auxiliary File</auxFile>
<externalAuxFile/>
<outputImageInComplex>false</outputImageInComplex>
<outputImageScaleInDb>false</outputImageScaleInDb>
<createGammaBand>false</createGammaBand>
<createBetaBand>false</createBetaBand>
<selectedPolarisations>${calib_pola}</selectedPolarisations>
<outputSigmaBand>true</outputSigmaBand>
<outputGammaBand>false</outputGammaBand>
<outputBetaBand>false</outputBetaBand>
</parameters>
</node>
The default Terrain Correction
step is:
<node id="Terrain-Correction">
<operator>Terrain-Correction</operator>
<sources>
<sourceProduct refid="LinearToFromdB"/>
</sources>
<parameters class="com.bc.ceres.binding.dom.XppDomElement">
<sourceBands/>
<demName>${dem_name}</demName>
<externalDEMFile>${dem_path}</externalDEMFile>
<externalDEMNoDataValue>0.0</externalDEMNoDataValue>
<externalDEMApplyEGM>true</externalDEMApplyEGM>
<demResamplingMethod>BILINEAR_INTERPOLATION</demResamplingMethod>
<imgResamplingMethod>BILINEAR_INTERPOLATION</imgResamplingMethod>
<pixelSpacingInMeter>${res_m}</pixelSpacingInMeter>
<pixelSpacingInDegree>${res_deg}</pixelSpacingInDegree>
<mapProjection>${crs}</mapProjection>
<alignToStandardGrid>false</alignToStandardGrid>
<standardGridOriginX>0.0</standardGridOriginX>
<standardGridOriginY>0.0</standardGridOriginY>
<nodataValueAtSea>false</nodataValueAtSea>
<saveDEM>false</saveDEM>
<saveLatLon>false</saveLatLon>
<saveIncidenceAngleFromEllipsoid>false</saveIncidenceAngleFromEllipsoid>
<saveLocalIncidenceAngle>false</saveLocalIncidenceAngle>
<saveProjectedLocalIncidenceAngle>false</saveProjectedLocalIncidenceAngle>
<saveSelectedSourceBand>true</saveSelectedSourceBand>
<applyRadiometricNormalization>false</applyRadiometricNormalization>
<saveSigmaNought>false</saveSigmaNought>
<saveGammaNought>false</saveGammaNought>
<saveBetaNought>false</saveBetaNought>
<incidenceAngleForSigma0>Use projected local incidence angle from DEM</incidenceAngleForSigma0>
<incidenceAngleForGamma0>Use projected local incidence angle from DEM</incidenceAngleForGamma0>
<auxFile>Latest Auxiliary File</auxFile>
<externalAuxFile/>
</parameters>
</node>
Default SNAP resolution#
You can override default SNAP resolution (in meters) when geocoding SAR bands by setting the following environment variable:
EOREADER_SAR_DEFAULT_RES
: 0.0 by default, which means using the product’s default resolution
Documentary Sources#
Copernicus#
Sentinel-1#
RADARSAT#
COSMO-Skymed#
TerraSAR-X, TanDEM-X and PAZ SAR#
ICEYE#
SAOCOM-1#
Documentation last accessed on the 02/12/2022