![COPERNICUS/S1_GRD](https://developers.google.com/earth-engine/datasets/images/COPERNICUS/COPERNICUS_S1_GRD_sample.png?authuser=6)
- Dataset Availability
- 2014-10-03T00:00:00Z–2024-08-17T16:57:26Z
- Dataset Provider
- European Union/ESA/Copernicus
- Earth Engine Snippet
-
ee.ImageCollection("COPERNICUS/S1_GRD")
- Tags
Description
The Sentinel-1 mission provides data from a dual-polarization C-band Synthetic Aperture Radar (SAR) instrument at 5.405GHz (C band). This collection includes the S1 Ground Range Detected (GRD) scenes, processed using the Sentinel-1 Toolbox to generate a calibrated, ortho-corrected product. The collection is updated daily. New assets are ingested within two days after they become available.
This collection contains all of the GRD scenes. Each scene has one of 3 resolutions (10, 25 or 40 meters), 4 band combinations (corresponding to scene polarization) and 3 instrument modes. Use of the collection in a mosaic context will likely require filtering down to a homogeneous set of bands and parameters. See this article for details of collection use and preprocessing. Each scene contains either 1 or 2 out of 4 possible polarization bands, depending on the instrument's polarization settings. The possible combinations are single band VV or HH, and dual band VV+VH and HH+HV:
- VV: single co-polarization, vertical transmit/vertical receive
- HH: single co-polarization, horizontal transmit/horizontal receive
- VV + VH: dual-band cross-polarization, vertical transmit/horizontal receive
- HH + HV: dual-band cross-polarization, horizontal transmit/vertical receive
Each scene also includes an additional 'angle' band that contains the approximate incidence angle from ellipsoid in degrees at every point. This band is generated by interpolating the 'incidenceAngle' property of the 'geolocationGridPoint' gridded field provided with each asset.
Each scene was pre-processed with Sentinel-1 Toolbox using the following steps:
- Thermal noise removal
- Radiometric calibration
- Terrain correction using SRTM 30 or ASTER DEM for areas greater than 60 degrees latitude, where SRTM is not available. The final terrain-corrected values are converted to decibels via log scaling (10*log10(x)).
For more information about these pre-processing steps, please refer to the Sentinel-1 Pre-processing article. For further advice on working with Sentinel-1 imagery, see Guido Lemoine's tutorial on SAR basics and Mort Canty's tutorial on SAR change detection.
This collection is computed on-the-fly. If you want to use the underlying collection with raw power values (which is updated faster), see COPERNICUS/S1_GRD_FLOAT.
Bands
Bands
Name | Units | Min | Max | Pixel Size | Description |
---|---|---|---|---|---|
HH |
dB | -50* | 1* | 10 meters | Single co-polarization, horizontal transmit/horizontal receive |
HV |
dB | -50* | 1* | 10 meters | Dual-band cross-polarization, horizontal transmit/vertical receive |
VV |
dB | -50* | 1* | 10 meters | Single co-polarization, vertical transmit/vertical receive |
VH |
dB | -50* | 1* | 10 meters | Dual-band cross-polarization, vertical transmit/horizontal receive |
angle |
deg | 0* | 90* | 20000 meters | Approximate incidence angle from ellipsoid |
Image Properties
Image Properties
Name | Type | Description |
---|---|---|
GRD_Post_Processing_facility_country | STRING | Name of the country where the facility is located. This element is configurable within the IPF. |
GRD_Post_Processing_facility_name | STRING | Name of the facility where the processing step was performed. This element is configurable within the IPF. |
GRD_Post_Processing_facility_organisation | STRING | Name of the organisation responsible for the facility. This element is configurable within the IPF. |
GRD_Post_Processing_facility_site | STRING | Geographical location of the facility. This element is configurable within the IPF. |
GRD_Post_Processing_software_name | STRING | Name of the software. |
GRD_Post_Processing_software_version | STRING | Software version identification. |
GRD_Post_Processing_start | DOUBLE | Processing start time. |
GRD_Post_Processing_stop | DOUBLE | Processing stop time. |
SLC_Processing_facility_country | STRING | Name of the country where the facility is located. This element is configurable within the IPF. |
SLC_Processing_facility_name | STRING | Name of the facility where the processing step was performed. This element is configurable within the IPF. |
SLC_Processing_facility_organisation | STRING | Name of the organisation responsible for the facility. This element is configurable within the IPF. |
SLC_Processing_facility_site | STRING | Geographical location of the facility. This element is configurable within the IPF. |
SLC_Processing_software_name | STRING | Name of the software. |
SLC_Processing_software_version | STRING | Software version identification. |
SLC_Processing_start | DOUBLE | Processing start time. |
SLC_Processing_stop | DOUBLE | Processing stop time. |
S1TBX_Calibration_Operator_version | STRING | Sentinel-1 Toolbox calibration tool version. |
S1TBX_SAR_Processing_version | STRING | Sentinel-1 Toolbox SAR processing tool version. |
SNAP_Graph_Processing_Framework_GPF_version | STRING | Sentinel Application Platform (SNAP) version. |
startTimeANX | DOUBLE | Sensing start time of the input data relative to the ascending node crossing. This is a count of the time elapsed since the orbit ascending node crossing [ms]. |
stopTimeANX | DOUBLE | Sensing stop time of the input data relative to the ascending node crossing. This is a count of the time elapsed since the orbit ascending node crossing [ms]. |
nssdcIdentifier | STRING | Uniquely identifies the mission according to standards defined by the World Data Center for Satellite Information (WDC-SI), available here. |
familyName | STRING | The full mission name. E.g. "SENTINEL-1" |
platform_number | STRING | The alphanumeric identifier of the platform within the mission. |
platformHeading | DOUBLE | Platform heading relative to North, degrees |
instrument | STRING | Information related to the instrument on the platform to which acquired the data. |
instrumentMode | STRING | IW (Interferometric Wide Swath), EW (Extra Wide Swath) or SM (Strip Map) |
instrumentSwath | STRING | List of the swaths contained within a product. Most products will contain only one swath, except for TOPS SLC products which include 3 or 5 swaths. |
orbitNumber_start | DOUBLE | Absolute orbit number of the oldest line within the image data. |
orbitNumber_stop | DOUBLE | Absolute orbit number of the most recent line within the image data. |
relativeOrbitNumber_start | DOUBLE | Relative orbit number of the oldest line within the image data. |
relativeOrbitNumber_stop | DOUBLE | Relative orbit number of the most recent line within the image data. |
cycleNumber | DOUBLE | Absolute sequence number of the mission cycle to which the oldest image data applies. |
phaseIdentifier | DOUBLE | Id of the mission phase to which the oldest image data applies. |
orbitProperties_pass | STRING | Direction of the orbit ('ASCENDING' or 'DESCENDING') for the oldest image data in the product (the start of the product). |
orbitProperties_ascendingNodeTime | DOUBLE | UTC time of the ascending node of the orbit. This element is present for all products except ASAR L2 OCN products which are generated from an ASAR L1 input. |
resolution | STRING | H for high or M for medium. |
resolution_meters | DOUBLE | Resolution in meters. |
instrumentConfigurationID | DOUBLE | The instrument configuration ID (Radar database ID) for this data. |
missionDataTakeID | DOUBLE | Unique ID of the datatake within the mission. |
transmitterReceiverPolarisation | STRING_LIST | Transmit/Receive polarisation for the data. There is one element for each Tx/Rx combination: ['VV'], ['HH'], ['VV', 'VH'], or ['HH', 'HV']. |
productClass | STRING | Output product class "A" for Annotation or "S" for Standard. |
productClassDescription | STRING | Textual description of the output product class. |
productComposition | STRING | The composition type of this product: "Individual", "Slice", or "Assembled". |
productType | STRING | The product type (correction level) of this product. |
productTimelinessCategory | STRING | Describes the required timeliness of the processing. One of: NRT-10m, NRT-1h, NRT-3h, Fast-24h, Off-line, or Reprocessing |
sliceProductFlag | STRING | True if this is a slice from a larger product or false if this is a complete product. |
segmentStartTime | DOUBLE | Sensing start time of the segment to which this slice belongs. This field is only present if sliceProductFlag = true |
sliceNumber | DOUBLE | Absolute slice number of this slice starting at 1. This field is only present if sliceProductFlag = true. |
totalSlices | DOUBLE | Total number of slices in the complete data take. This field is only present if sliceProductFlag = true. |
Terms of Use
Terms of Use
The use of Sentinel data is governed by the Copernicus Sentinel Data Terms and Conditions.
Explore with Earth Engine
Code Editor (JavaScript)
var imgVV = ee.ImageCollection('COPERNICUS/S1_GRD') .filter(ee.Filter.listContains('transmitterReceiverPolarisation', 'VV')) .filter(ee.Filter.eq('instrumentMode', 'IW')) .select('VV') .map(function(image) { var edge = image.lt(-30.0); var maskedImage = image.mask().and(edge.not()); return image.updateMask(maskedImage); }); var desc = imgVV.filter(ee.Filter.eq('orbitProperties_pass', 'DESCENDING')); var asc = imgVV.filter(ee.Filter.eq('orbitProperties_pass', 'ASCENDING')); var spring = ee.Filter.date('2015-03-01', '2015-04-20'); var lateSpring = ee.Filter.date('2015-04-21', '2015-06-10'); var summer = ee.Filter.date('2015-06-11', '2015-08-31'); var descChange = ee.Image.cat( desc.filter(spring).mean(), desc.filter(lateSpring).mean(), desc.filter(summer).mean()); var ascChange = ee.Image.cat( asc.filter(spring).mean(), asc.filter(lateSpring).mean(), asc.filter(summer).mean()); Map.setCenter(5.2013, 47.3277, 12); Map.addLayer(ascChange, {min: -25, max: 5}, 'Multi-T Mean ASC', true); Map.addLayer(descChange, {min: -25, max: 5}, 'Multi-T Mean DESC', true);
import ee import geemap.core as geemap
Colab (Python)
def mask_edge(image): edge = image.lt(-30.0) masked_image = image.mask().And(edge.Not()) return image.updateMask(masked_image) img_vv = ( ee.ImageCollection('COPERNICUS/S1_GRD') .filter(ee.Filter.listContains('transmitterReceiverPolarisation', 'VV')) .filter(ee.Filter.eq('instrumentMode', 'IW')) .select('VV') .map(mask_edge) ) desc = img_vv.filter(ee.Filter.eq('orbitProperties_pass', 'DESCENDING')) asc = img_vv.filter(ee.Filter.eq('orbitProperties_pass', 'ASCENDING')) spring = ee.Filter.date('2015-03-01', '2015-04-20') late_spring = ee.Filter.date('2015-04-21', '2015-06-10') summer = ee.Filter.date('2015-06-11', '2015-08-31') desc_change = ee.Image.cat( desc.filter(spring).mean(), desc.filter(late_spring).mean(), desc.filter(summer).mean(), ) asc_change = ee.Image.cat( asc.filter(spring).mean(), asc.filter(late_spring).mean(), asc.filter(summer).mean(), ) m = geemap.Map() m.set_center(5.2013, 47.3277, 12) m.add_layer(asc_change, {'min': -25, 'max': 5}, 'Multi-T Mean ASC', True) m.add_layer(desc_change, {'min': -25, 'max': 5}, 'Multi-T Mean DESC', True) m