GBDX

SENTINEL-2 (ESA)

Overview

The Sentinel-2 mission is a collaboration between the European Space Agency (ESA), the European Commission, industry service providers, and data users. Sentinel-2 delivers high-resolution optical images ideal for land monitoring, emergency response, and security services.

GBDX catalogs the Sentinel-2 offerings publicly available through Amazon Web Services (AWS) At this time, the data set includes Level-1C products. This data is stored in an AWS bucket and accessible through S3. Please read Sentinel-2 on AWS for an overview of the Sentinel program and resulting Sentinel-2 data.

The Sentinel-2 constellation includes two satellites: : Sentinel-2A was launched on 23 June 2015 and Sentinel-2B followed on March 7, 2017. These two satellites together provide global coverage of the earth's land surface every five days.

Spectral Bands: 13 spectral bands: four bands at 10 meters, six bands at 20 meters and three bands at 60 meters spatial resolution.

Date Range: June 23, 2015 to present

Products available through GBDX: Level 1-C

Title: Etna erupts
Released 16/03/2017 4:54 pm
Copyright contains modified Copernicus Sentinel data (2017), processed by ESA, CC BY-SA 3.0 IGO

Title: Etna erupts
Released 16/03/2017 4:54 pm
Copyright contains modified Copernicus Sentinel data (2017), processed by ESA, CC BY-SA 3.0 IGO

Types

Type Description
ESAProduct Product type for all Sentinel records
SENTINEL2 All records acquired by the Sentinel-2 satellite

Search

Using the GBDX Catalog API, search by "types" to find Sentinel-2 data. To narrow the search results set, include area, date range, or both. Search results can be further filtered by the properties of a Sentinel-2 record.

Note that the catalog stores "Sentinel-2" as "SENTINEL2". When searching by "types", be sure to sure for "SENTINEL2.

Note: Sentinel-2 products do not need to be ordered. All available records can be accessed from the Amazon S3 location using the S3 bucket name and bucket prefix. Sentinel-2 products cannot be accessed using the GBDX Ordering API endpoint.

Catalog V2 API Request

Send a POST request to https://geobigdata.io/catalog/v2/search with a request body.

For gbdxtools, see Catalog Search Overview

Search Example 1: Search by Types

 {
   	"searchAreaWkt": "POLYGON ((-122.41189956665039 37.59415685597818, -122.41189956665039 37.64460175855099, -122.34529495239259 37.64460175855099, -122.34529495239259 37.59415685597818, -122.41189956665039 37.59415685597818))",
   	"startDate": "2015-03-01T00:00:00.000Z",
   	"endDate": "2016-03-01T23:59:59.999Z",
   	"types": ["SENTINEL2"]
   }

Search Result Example

 "stats": {
        "recordsReturned": 50,
        "totalRecords": 50,
        "typeCounts": {
            "ESAProduct": 50,
            "GBDXCatalogRecord": 50,
            "SENTINEL2": 50
        }
    },
    "results": [
        {
            "identifier": "2579f8d6-786e-57b7-aa69-68831c7550e0",
            "type": [
                "GBDXCatalogRecord",
                "ESAProduct",
                "SENTINEL2"
            ],
            "properties": {
                "sunAzimuth": 163.323328488621,
                "cloudCover": 100,
                "catalogID": "S2A_OPER_MSI_L1C_DS_EPA__20170508T083647_S20151128T050431_N02.04",
                "vendorID": "ESA",
                "xmlFile": "metadata.xml",
                "browseJpgFile": "preview.jpg",
                "utmZone": 45,
                "offNadirAngle": 9.786730816814552,
                "platformName": "SENTINEL2",
                "utmSequenceNumber": "N",
                "gridSquare": "UK",
                "sunElevation": 49.6342534708362,
                "vendor": "ESA",
                "timestamp": "2015-11-28T05:01:42.031Z",
                "bucketPrefix": "tiles/45/R/UK/2015/11/28/2",
                "imageFile": "preview.jpg",
                "part": 3,
                "bucketName": "sentinel-s2-l1c",
                "s3Region": "eu-central-1",
                "latitudeBand": "R",
                "footprintWkt": "POLYGON((86.0977408861 27.1079794858, 86.0977408861 26.1282534197, 84.9824930197 26.1282534197, 84.9824930197 27.1079794858, 86.0977408861 27.1079794858))",
                "sensorPlatformName": "SENTINEL2",
                "productLevel": "Level-1C",
                "resolution": [
                    60,
                    10,
                    10,
                    10,
                    20,
                    20,
                    20,
                    10,
                    20,
                    60,
                    60,
                    20,
                    20
                ],
                "bandsList": [
                    "CoastalAerosol",
                    "Blue",
                    "Green",
                    "Red",
                    "VegRedEdge5",
                    "VegRedEdge6",
                    "VegRedEdge7",
                    "NIR",
                    "VegRedEdge8a",
                    "WaterVapor",
                    "Cirrus",
                    "SWIR11",
                    "SWIR12"
                ],
                "tileId": "S2A_OPER_MSI_L1C_TL_EPA__20170508T083647_A002261_T45RUK_N02.04"
            }
        }
      
      ... truncated search results show a single record.

Search Example 2: Search for Sentinel-2A or Sentinel-2B Records

The Sentinel 2 mission consists of two satellites: Sentinel-2A (S2A) and Sentinel-2B (S2B). S2A or S2B is prepended to the CatalogID.

To search by S2A or S2B, execute a "filter" search by catalog ID using the LIKE operator *.

 {
	"searchAreaWkt": "POLYGON ((-105.35202026367188 39.48113956424843, -105.35202026367188 40.044848254075546, -104.65988159179688 40.044848254075546, -104.65988159179688 39.48113956424843, -105.35202026367188 39.48113956424843))",
	"filters": ["catalogID LIKE 'S2A*'"]
}

Types

There are three "types" associated with Sentinel-2 records.

Type Definition
GBDXCatalogRecord The parent type for all GBDX catalog records
ESAProduct This type is associated with all ESA products.
SENTINEL2 This type is associated with all records acquired from ESA's Sentinel-2 sensor platform.

Properties

The following properties and metadata files are associated with a Sentinel-2 record in the GBDX catalog.

Property Description Values
bandsList The list of bands included in the product record CoastalAerosol", "Blue", "Green", "Red", "VegRedEdge5", "VegRedEdge6", "VegRedEdge7", "NIR", "VegRedEdge8a", "WaterVapor", "Cirrus", "SWIR11", "SWIR12
browseJpgFile This is the name of the browse image for this record preview.jpg
bucketName The name of the Amazon S3 bucket the Sentinel-2 data is stored in sentinel-s2-l1c
bucketPrefix Amazon S3 bucket prefix. This filters the contents of an S3 bucket, so that only data stored in the prefix is displayed. tiles/4/K/NB/2017/7/3/0
CatalogID The record ID provided by the vendor (ESA) S2B_OPER_MSI_L1C_DS_SGS__20170705T221903_S20170705T202937_N02.05
cloudCover Estimate of the max cloud-covered fraction of the product component 0.000 to 1.000, -999.000 if not assessed
footprintWkt the geometry that defines the location of the record See search results example
gridSquare The grid square for the tile NB
imageFile This is the name of the image file for this record preview.jpg
latitudeBand The latitude band for the tile K
offNadirAngle The spacecraft elevation angle measured from nadir to the image center as seen from the spacecraft at the time the strip or substrip was acquired 2.839526066752065
part The part of the strip for this image 0
platformName The name of the sensor platform that acquired the data. The properties "platformName" and sensorPlatformName have the same value SENTINEL2
productLevel The product level for the record All Sentinel-2 products are "Level-1C"
resolution The spatial resolution is dependent on the particular spectral band. [60.0, 10.0, 10.0, 10.0, 20.0, 20.0, 20.0, 10.0, 20.0, 60.0, 60.0, 20.0, 20.0]
s3Region The Amazon S3 region where the data is stored eu-west-1
sensorPlatformName The name of the sensor platform that acquired the data. The properties "platformName" and sensorPlatformName have the same value SENTINEL2
sunAzimuth The azimuth of the sun as seen by an observer sitting on the target measured in a clockwise direction from north 33.7813510068443
sunElevation The angle of the sun above the horizon 47.0597253055857
tileId See figure 2 on Naming Conventions for an explanation of the tile ID naming convention. In Sentinel-2 documentation, "tile" is also referred to as "granule" S2B_OPER_MSI_L1C_TL_SGS__20170705T221903_A001727_T05KNB_N02.05
timestamp The timestamp on the acquisition the product is derived from 2017-07-05T20:29:39.027Z
utmSequenceNumber The UTM sequence number for the tile S
utmZone The UTM (Universal Transverse Mercator) system divides the Earth's surface into 60 zones. Each UTM zone has a vertical width of 6° of longitude and horizontal width of 8° of latitude.(source: https://sentinel.esa.int/web/sentinel/missions/sentinel-2/data-products) 5
vendorID The name of the data provider. The properties "vendorID" and "vendor" have the same value. For Sentinel-2 data, the vendorID is "ESA"
vendor The name of the data provider. The properties "vendorID" and "vendor" have the same value. For Sentinel-2 data, the vendorID is "ESA"
xmlFile This file contains the raw metada this record was derived from metadata.xml

Catalog ID

The Catalog ID is the product ID assigned by the vendor. See the Sentinel-2 online guide on Naming Conventions for an explanation of each part of the product catalog ID.

Spectral Bands and Spatial Resolution

The Sentinel-2 MSI acquires 13 spectal bands ranging from Visible and Near-Infrared (VNIR) to Shortwave Infrared (SWIR). The spatial resolution of Sentinel-2 product is dependent on the particular spectral band.

See Sentinel-2 Products on gdal.org for a list of bands and their resolution.

S3 location

The s3 location for a record is bucketName/bucketPrefix

Example: ```s3://sentinel-s2-l1c/tiles/10/S/EG/2015/10/21/0

or

http://sentinel-s2-l1c.s3.amazonaws.com/tiles/10/S/EG/2015/10/21/0

In the example, the bucketName is sentinel-s2-l1c

The bucketPrefix is ``/tiles/10/S/EG/2015/10/21/0```

The bucketPrefix naming convention is tiles/UTM code/latitudeBand/gridSsquare/[year]/[month]/[day]/[sequence]/DATA

Processing Sentinel-2 Data

The Platform team is excited to announce that the version of the ENVI Services Engine software available on the GBDX platform has been upgraded to the most recent 5.4 Service Pack 1 (v5.4.1) recently released by Harris Geospatial Solutions. This upgrade involved updates to the GBDX platform ENVI task runner and deployment of all new ENVI_ tasks with GBDX task versioning of v1.1.0. Furthermore, this new ENVI v5.4.1 also includes full support for Sentinel-2 on AWS datasets. Consequently, the Sentinel-2 data that was recently cataloged for availability on the GBDX platform can now be passed into the ENVI analytic tasks that perform raster processing suitable for Sentinel-2 imagery:

The new ENVI tasks on GBDX include the ability to specify the desired raster band grouping from the Sentinel-2 dataset ("M1-10m" | "M2-20m" | "M3-60m") via input port designation when the ENVI task is executed. Here is a simple gbdxtools Python script example illustrating effective execution of the ENVI_SpectralIndices task on the "M1-10m" bands of a Sentinel-2 dataset:

from gbdxtools import Interface
gbdx = Interface()

raster_location = 's3://sentinel-s2-l1c/tiles/15/R/XP/2016/9/3/0'

task = gbdx.Task('ENVI_SpectralIndices:1.1.0')
task.inputs.input_raster = raster_location
task.inputs.input_raster_format = 'sentinel-2'
task.inputs.input_raster_band_grouping = 'M1-10m'
task.inputs.index = '["Normalized Difference Vegetation Index"]'

wf = gbdx.Workflow([task])
wf.savedata(task.outputs.output_raster_uri, location='ENVI_Indices')

wf.execute()

SENTINEL-2 (ESA)