Concepts
The GEP provides access to EO data coming from several missions and sensors and provided using different data formats and metadata.
These acquisitions have heterogeneous formats for the data files and associated metadata.
Note
The list of EO Missions supported by the GEP can be found here.
To reduce this heterogeneity, the GEP seeks to pre-process the acquisitions into a common format which, on the one hand, provides a ready-to-inspect and comparable dataset and, on the other, to have downstream processing services that support multi-sensor and multi-mission acquisitions without implementing complex blocks.
Below are described the main pre-processing that support this approach.
STAC as a common metadata model
EO data is handled under the GEP Processing Chains using the SpatioTemporal Asset Catalog (STAC)1.
STAC consists of a standardized way to catalog and expose multi-source geospatial data.
The basic core of STAC1 is adopted and extended within the GEP to manage a wide collection of multi-source satellite imagery using multiple STAC “spatiotemporal” Assets.
Each STAC item (e.g. a single Sentinel-2 MSI L1C product for UTM zone 9 and grid square XK) includes multiple assets (e.g. multiple multispectral bands) and consists of a GeoJSON feature with metadata and thumbnail and can be organized under a STAC Catalog (e.g. multitemporal Sentinel-2 L1C MSI products for UTM zone 9 and grid square XK).
Each STAC Catalog can be then grouped under a STAC Collection (e.g. Sentinel-2 L1C) which can also further complement associated metadata information such as producer, processor, host, license, version, temporal extent, GSD, instrument, off-nadir angle, etc. More information can be found at STAC Common Metadata section of STAC Specification documentation2.
Common Band Names (CBN)
STAC assets of EO data are catalogued in the GEP using Common Band Names (CBN)2. CBN classes refer to common band ranges derived from pre-defined frequency ranges of the Electromagnetic Spectrum made for several popular instruments. Each CBN class is defined by a Band Range in micrometers for optical and in centimeters for SAR data. The CBN classification of the frequency spectrum allows a one-to-one mapping of multi-mission and multi-sensor bands (Optical and SAR). CBN thus ease the handling multi-sensor source EO data.
Optical Common Band Names
To classify a generic band from an optical sensor with the CBN schema (e.g. Worldview-3 Yellow band from 0.584 to 0.632 μm), one way is to derive its centered wavelength in micrometers (0.608 μm) and identify the CBN class having the closest central wavelength (CBN class 05 and centered at 0.6 μm). However, while choosing a CBN class also the bandwidth needs to be considered. Common Band Names "nir" and "lwir" refer, in fact, to wider bands that cover most of the spectral range for NIR (0.75μm to 1.0μm) and TIR (10.5μm to 12.5μm) radiation. On the other hand, narrow bands for "nir" are "nir08" and "nir09", centered at 0.85μm and 0.95μm respectively. This is particularly useful for example to classify sensors having both a wide (e.g. Sentinel-2 MSI Band 8 at 833 nm) and a narrow (Sentinel-2 MSI Band 8a at 865 nm) band over the same portion of the EM spectrum. CBN "nir" will refer then to S2 MSI spectral Band 8 and "nir08" to the S2 MSI spectral band 8a.
Figure 1 - Comparison of Landsat-7 and 8 bands with the ones of Sentinel-2 (Image credit: USGS).
The same applies for "lwir" which is also discretized into two narrow bands "lwir11" and "lwir12", centered at 11μm and 12μm respectively. The CBN schema is not rigid and allows the definition of new classes in case the definition of an additional portion of the spectrum is required (e.g. to deal with future EO missions in the GEP Optical Payload having different spectral resolution that cannot be fully classified with the current CBN schema).
A total of 29 CBNs (pan, coastal, blue, yellow, etc.) are identified for the GEP (see Table 1). This table also includes a sample application of this CBN schema, made for Landsat-7 ETM+, Landsat-8 OLI/TIRS and Sentinel-2 MSI data.
CBN code | Common Band Name (CBN) | Band Range (μm) | Landsat 7 ETM+ | Landsat 8 OLI / TIRS | Sentinel-2 MSI |
---|---|---|---|---|---|
CBN-01 | pan | 0.50 - 0.70 | 8 | 8 | |
CBN-02 | coastal | 0.40 - 0.45 | 1 | 1 | |
CBN-03 | blue | 0.45 - 0.50 | 1 | 2 | 2 |
CBN-04 | green | 0.50 - 0.60 | 2 | 3 | 3 |
CBN-05 | yellow | 0.58 - 0.62 | |||
CBN-06 | red | 0.60 - 0.70 | 3 | 4 | 4 |
CBN-07 | rededge | 0.70 - 0.79 | |||
CBN-08 | rededge70 | 0.69 - 0.71 | 5 | ||
CBN-09 | rededge74 | 0.73 - 0.75 | 6 | ||
CBN-10 | rededge78 | 0.69 - 0.71 | 7 | ||
CBN-11 | nir | 0.75 - 1.00 | 4 | 5 | 8 |
CBN-12 | nir08 | 0.75 - 0.90 | 8a | ||
CBN-13 | nir09 | 0.85 - 1.05 | 9 | ||
CBN-14 | swir12 | 1.19 - 1.21 | |||
CBN-15 | cirrus | 1.35 - 1.40 | 9 | 10 | |
CBN-16 | swir16 | 1.55 - 1.75 | 5 | 6 | 11 |
CBN-17 | swir155 | 1.45 - 1.65 | |||
CBN-18 | swir165 | 1.65 - 1.75 | |||
CBN-19 | swir173 | 1.72 - 1.74 | |||
CBN-20 | swir22 | 2.10 - 2.30 | 7 | 7 | 12 |
CBN-21 | swir215 | 2.13 - 2.17 | |||
CBN-22 | swir220 | 2.18 - 2.22 | |||
CBN-23 | swir225 | 2.23 - 2.27 | |||
CBN-24 | swir23 | 2.28 - 2.32 | |||
CBN-25 | mwir38 | 3.5 - 4.1 | |||
CBN-26 | lwir | 10.5 - 12.5 | 6 | ||
CBN-27 | lwir09 | 8.5 - 9.5 | |||
CBN-28 | lwir11 | 10.5 - 11.5 | 10 | ||
CBN-29 | lwir12 | 11.5 - 12.5 | 11 |
Table 1 - The Common Band Name schema of the GEP and its application for Landsat-7, Landsat-8 and Sentinel-2 missions.
To better explain the advantages in managing multi-sensor EO optical data with CBN, an application of CBN schema, made for a selection of the GEP optical payload is shown in Table 2. This enables a clear mapping of EO data across the EM spectrum with STAC assets.
Satellite | Sensor | CBN-01 | CBN-02 | CBN-03 | CBN-04 | CBN-05 | CBN-06 | CBN-07 | CBN-08 | CBN-09 | CBN-10 | CBN-11 | CBN-12 | CBN-13 | CBN-14 | CBN-15 | CBN-16 | CBN-17 | CBN-18 | CBN-19 | CBN-20 | CBN-21 | CBN-22 | CBN-23 | CBN-24 | CBN-25 | CBN-26 | CBN-27 | CBN-28 | CBN-29 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ALSAT-1B | SLIM-6 | B | G | R | X | |||||||||||||||||||||||||
CartoSat-2 | PAN | P | ||||||||||||||||||||||||||||
Gaofen-1 | PMS | P | B | G | R | X | ||||||||||||||||||||||||
Gaofen-1 | WFV | B | G | R | X | |||||||||||||||||||||||||
Gaofen-2 | PMS | P | B | G | R | X | ||||||||||||||||||||||||
Gaofen-4 | PMS, IRS | P | B | G | R | X | X | |||||||||||||||||||||||
GeoEye-1 | EO imager | P | B | G | R | X | ||||||||||||||||||||||||
Global | SpaceView24 | B | G | R | ||||||||||||||||||||||||||
Kanopus-V | MSS/PSS | P | B | G | R | X | ||||||||||||||||||||||||
Kanopus-V-IK | MSS/PSS | P | B | G | R | X | ||||||||||||||||||||||||
Kanopus-V-IK | MSU-IK-SRM | X | ||||||||||||||||||||||||||||
KOMPSAT-2 | MSC | P | B | G | R | X | ||||||||||||||||||||||||
KOMPSAT-3 | AEISS | P | B | G | R | X | ||||||||||||||||||||||||
KOMPSAT-3A | AEISS-A | P | B | G | R | X | ||||||||||||||||||||||||
Landsat-8 | OLI/TIRS | P | C | B | G | R | X | X | X | X | X | X | ||||||||||||||||||
Landsat-9 | OLI/TIRS | P | C | B | G | R | X | X | X | X | X | X | ||||||||||||||||||
NewSat | MS | B | G | R | ||||||||||||||||||||||||||
PlanetScope | PS2, PS2.SD | B | G | R | X | |||||||||||||||||||||||||
PlanetScope | PSB.SD | C | B | G | Y | R | X | X | ||||||||||||||||||||||
Pleiades | PHR1A/B | P | B | G | R | X | ||||||||||||||||||||||||
ResourceSat-2 / 2A | LISS-III | G | R | X | X | |||||||||||||||||||||||||
ResourceSat-2 / 2A | LISS-IV | G | R | X | ||||||||||||||||||||||||||
Sentinel-2 | MSI | C | B | G | R | X | X | X | X | X | X | X | X | X | ||||||||||||||||
SPOT-6 | SPOT-6 | P | B | G | R | |||||||||||||||||||||||||
SPOT-7 | SPOT-7 | P | B | G | R | |||||||||||||||||||||||||
UK-DMC-2 | SLIM-6 | G | R | |||||||||||||||||||||||||||
Vision-1 | VHRI-100 | P | B | G | R | |||||||||||||||||||||||||
VRSS-1 | PMC | P | B | G | R | |||||||||||||||||||||||||
VRSS-1 | WMC | B | G | R | ||||||||||||||||||||||||||
VRSS-2 | HRC | P | B | G | R | |||||||||||||||||||||||||
WorldView-1 | WV60 | P | ||||||||||||||||||||||||||||
WorldView-2 | WV110 | P | C | B | G | Y | R | X | X | X* | ||||||||||||||||||||
WorldView-3 | WV110 | P | C | B | G | Y | R | X | X | X | X | X | X | X | X | X | X | X |
Table 2 - Common Band Names for a selection of the GEP Optical payload products. P, C, B, G, Y, and R stands for PAN, Cyan, Blue, Green, Yellow, and Red respectively.
SAR Common Band Names
A similar schema is applied for SAR missions. CBN classes for SAR refer to a combination of frequency band and polarization derived from multiple band numbers of several popular SAR instruments for disaster mapping. The CBN classification of microwave radiation enables a one-to-one mapping of multi-mission and multi-sensor SAR products. Table 3 shows a sample application of CBN for radar backscatter which is used in the GEP SAR missions.
Common Name | Wavelength (cm) | ICEYE | Kompsat-5 | TerraSAR-X TanDEM-X | GF-3 | Radarsat 2 | RCM 1/2/3 | Sentinel-1 A/B | ALOS-2 | SAOCOM-1 A/B |
---|---|---|---|---|---|---|---|---|---|---|
s0_db_x_hh | 2.5 - 4 | X | X | |||||||
s0_db_x_hv | 2.5 - 4 | X | X | |||||||
s0_db_x_vh | 2.5 - 4 | X | X | |||||||
s0_db_x_vv | 2.5 - 4 | X | X | X | ||||||
s0_db_c_hh | 4 - 8 | X | X | X | X | |||||
s0_db_c_hv | 4 - 8 | X | X | X | X | |||||
s0_db_c_hv | 4 - 8 | X | X | X | X | |||||
s0_db_c_vv | 4 - 8 | X | X | X | X | |||||
s0_db_l_hh | 15 - 30 | X | X | |||||||
s0_db_l_hv | 15 - 30 | X | X | |||||||
s0_db_l_vh | 15 - 30 | X | X | |||||||
s0_db_l_vv | 15 - 30 | X | X |
Table 3 - Common Band Names schema for the GEP SAR payload products.
CBNs for SAR are meant to classify Sigma Nought in decibel from the multi-mission SAR Payload using this code s0_db_r_pp, where “s0_db” means Sigma Nought in dB, “r” is the SAR-band (X, C or L), and “pp” is the polarization (HH, HV, VH or VV). This schema enables the mapping of the SAR products provided as quad- (HH+HV+VH+VV), dual- (VV+VH or HH+HV), or single-polarization (HH or VV). Cross-pol assets are generally provided within dual- or quad-pol products. The ICEYE mission is represented by only the CBN s0_db_x_vv because the GRD products are given only in VV polarization.
Warning
SAR CBN shall be all in lower case letters. Thus, a Calibrated ICEYE Sigma Nought in VV polarization shall have the CBN s0_db_x_vv
for its geophysical single-band assets.
Different types of output products
In the GEP two main types of Product can be derived from both systematic and on-demand processing services:
-
overview assets (full-res browse images as grayscale or RGB composite).
-
single band assets (TOA reflectance, Brightness Temperature, Sigma Nought, interferometric phase and coherence, LOS displacement, spectral indexes, change detection bitmasks, etc.).
Each of them is given by following a dedicated data structure (e.g. unit, data type, scale factor, valid range) with respect to the nature of the product. More details about each of the physical meaning or visual products of the GEP can be found in the specifications of each service.
Visualize an asset in the Geobrowser with Titiler
When opening the feature details panel in the left panel of the Geobrowser, an additional widget called "Titiler options" is shown in the feature's details, inside the collapsible section "Layer styling". From this widget users can manipulate the titiler api options to see the layer in different ways and styles. More precisely, users can:
- choose one asset or select an assets combination;
- set and expression or select a predefinite color map (for one asset)
- set the histogram min and max value;
- apply a formula for color representation;
The visualization and the options of a Titiler layer is basing on the concept of Asset, defined on the STAC specification. The SpatioTemporal Asset Catalog (STAC) specification provides a common language to describe a range of geospatial information, so it can more easily be indexed and discovered. A 'spatiotemporal asset' is any file that represents information about the earth captured in a certain space and time. For more info, see: https://stacspec.org/.
Any feature containing a Titiler data has a set of assets (e.g. a reflectance or spectral index asset) users can choose a single asset to view on the map, or a band-combination of three assets, mapped on the three RGB channel (Red, Green, Blue).
The Single Asset
tab allow users to select one asset from the feature's available assets. If the asset is represented by a mono-band source, by default a grayscale image will be plotted. There are 2 options:
-
Expression: a mathematical expression to combine more bands in one. For example, if we have these band [red, green, blue, nir] a possible expression could be (red-green)/nir.
-
Color map: a select input containing a predefinite set of color mapping functions, only for mono-band assets.
The Combine Assets
tab allow users to select three assets for the three RGB band and combine them. This tab doesn't have any option.
Other useful options, common for both single asset or assets combination, are histogram min/max and color formula.
Histogram visualization
A feature exposing a Titiler tiled layer can include a detailed histogram information for each asset, if available. The histogram provides the distribution of the pixel values. The space of pixel values is splitted in 256 buckets, and for each bucket is calculated the number of pixel inside of it. With these data is possible to plot an histogram, allowing the user to:
- See the distribution of pixel values;
- Get the exact amount of pixel inside a bucket range;
- Set the histogram min/max value directly from a histogram interaction;
- Perform an vertical cut (by considering only the 99% of buckets in ascending order) to better show the histogram with a vertical stretch;
- Perform an horizontal cumulative cut ([2%-98%] of distribution), by a visual stretching of the histogram and by setting the right histogram min/max values.
Below the histogram, the histogram min/max fields can be used to define a range of minimum and maximum values of the digital number of the asset selected.
On the EO context, there are several types of assets, each of them has a predefinite corresponding scale, as described in Table 4.
type | description | Unit | Bit depth | Scaling factor | Valid Range |
---|---|---|---|---|---|
overview | RGBA color composite | Unitless | Uint8 | 1 | [0,255] |
reflectance | TOA or BOA reflectance for VIS, RE and SWIR CBNs (e.g. blue, nir) | Unitless | Uint16 | 0.0001 | [0,10000] |
brightness temperature | TOA or BOA brightness temperature for LWIR CBNs (e.g lwir11) | K | Uint16 | 0.01 | |
spectral index | Spectral index as normalized difference of multiple CBN (e.g. NDVI) | Unitless | Float32 | 1 | [-1,1] |
sigma nought | Sigma nought for L-, C-, X-band SAR data in each polarization (e.g. sigma0-HH-db) | dB | Float32 | 1 |
Table 4 - Description, Unit, Bit depth, Scaling factors, and valid ranges for the multiple types of assets available in the GEP.
Color formula
With the color formula, it's possible to apply basic color-oriented image operations to the titiler image layer. The syntax is based on the rio-color plugin for the Cloud Optimized GeoTIFF in TiTiler and is the following:
Gamma RGB 1 Saturation 1 Sigmoidal RGB 3 0.5
where \(Gamma\), \(Saturation\) and \(Sigmoidal\) are the parameters described in Table 5.
Color formula (rio-color color corrections) | ||||
---|---|---|---|---|
Correction | Parameter | Type | Description | Default values |
Gamma | bands | string | Bands to which apply gamma correction. Use “RGB” for the three channels, “R” (or G, B) for single red-channel (or green-, blue-). | RGB |
proportion | float | Gamma correction is a nonlinear operation that adjusts the image's channel values pixel-by-pixel according to a power-law. A value of gamma greater/lower than 1.0 lightens/darkens the image. proportion=0 results in a grayscale image, proportion=1 results in an identical image, proportion=2 is likely way too saturated. Reasonable gamma values range from 0.8 to 2.4. | 1 | |
Sigmoidal | bands | string | Bands to which apply sigmoidal correction. Use “RGB” for the three channels, “R” (or G, B) for single red-channel (or green-, blue-). | RGB |
contrast | integer | Enhances the intensity differences between the lighter and darker elements of the image. For example, contrast=0 is none, contrast=3 is typical and contrast=20 is a lot. | 3 | |
bias | float [0,1] | Threshold level for the contrast function to center on (typically centered at 0.5). bias>0.5 darkens the image. | 0.5 | |
Saturation | value | float | It applies saturation to an RGB array (in LCH color space). Multiply saturation by proportion in LCH color space to adjust the intensity of color in the image. As saturation increases, colors appear more "pure." As saturation decreases, colors appear more "washed-out." | 1 |
Table 5 - Default values for Color Formulas used for the generation of browse images in the PE (Credits: Rio-Color in GitHub). Such parameters are the ones available in the Rio Color color formula expression for COG in TiTiler.
For more information, see https://github.com/mapbox/rio-color.
A common format for output raster products
All the output raster products derived from the GEP Processing Service, which are summarized in here, are given in the Cloud Optimized GeoTIFF (COG)3 format.
COG is an extension of the GeoTIFF format dedicated for data hosting on HTTP file servers. One of the main advantages in using COG format in cloud processing environments is that the single GeoTIFF file can be accessed by multiple clients with no need to copy or cache the desired product.
Furthermore, it allows the client to easily retrieve via HTTP GET range requests just a desired portion of the data required for more efficient workflows on the cloud. As an example, in the GEP the pre-processed datasets are stored in COG format to reduce data transfer during the thematic processing. The COG format is already employed under multiple initiatives such as: OpenAerialMap, INPE, MAXAR/DigitalGlobe, Planet, NASA and Copernicus’s Mundi DIAS.
STAC and COG have been recently adopted by USGS for the provision of Landsat-7 and Landsat-8 products, as described in the USGS Data Format Control Book4 which describes the format of the data to be used in Collection 2 processing.
-
SpatioTemporal Asset Catalog Core Specification, The core components of STAC, https://stacspec.org/core.html. ↩↩
-
Radiant Earth Foundation, STAC specification, GitHub Readme. ↩↩
-
Cloud Optimized GeoTIFF, An imagery format for cloud-native geospatial processing, [https://www.cogeo.org]](https://www.cogeo.org/){:target="_blank"}. ↩
-
Landsat Cloud Optimized GeoTIFF Data Format Control Book, The core components of STAC, available at. ↩