Optical data#

Implemented optical constellation#

The product resolution is the one given in Data Access Portfolio (2014-2022, section 6.2). The Data Access Portfolio Document presents the offer of the datasets and data access services that are made available to the Copernicus Users in response to their Earth Observation data requirements.

Constellations

Class

Product Types

Default Resolution

Use archive

Sentinel-2

S2Product

L1C & L2A & L2Ap

10m

Sentinel-2 Theia

S2TheiaProduct

L2A

10m

Sentinel-3 SLSTR

S3Product

RBT

300m

Sentinel-3 OLCI

S3Product

EFR

500m

Landsat 9 OLI-TIRS

L9Product

Level 1 & 2

30m

Landsat 8 OLI-TIRS

L8Product

Level 1 & 2

30m

COL1*: ❌, COL2: ✅

Landsat 7 ETM

L7Product

Level 1 & 2

30m

COL1*: ❌, COL2: ✅

Landsat 5 TM

L5Product

Level 1 & 2

30m

COL1*: ❌, COL2: ✅

Landsat 4 TM

L4Product

Level 1 & 2

30m

COL1*: ❌, COL2: ✅

Landsat 5 MSS

L5Product

Level 1

60m

COL1*: ❌, COL2: ✅

Landsat 4 MSS

L4Product

Level 1

60m

COL1*: ❌, COL2: ✅

Landsat 3 MSS

L3Product

Level 1

60m

COL1*: ❌, COL2: ✅

Landsat 2 MSS

L2Product

Level 1

60m

COL1*: ❌, COL2: ✅

Landsat 1 MSS

L1Product

Level 1

60m

COL1*: ❌, COL2: ✅

Harmonized Landsat-Sentinel

HlsProduct

L30 & S30

30m

PlanetScope

PlaProduct

L3A & L3B

3m

✅(❌ if multiple subdatasets)

SkySat

SkyProduct

(Collect Product) ortho_*

0.5m

✅(❌ if multiple subdatasets)

RapidEye

ReProduct

L3A

5m

✅(❌ if multiple subdatasets)

Pleiades-Neo

PneoProduct

SEN**, PRJ, ORT & MOS

0.3 (PAN), 1.2m (MS)

Pleiades

PldProduct

SEN**, PRJ, ORT & MOS

0.5 (PAN), 2m (MS)

Vision-1

Vis1Product

PRJ & ORTP

0.9 (PAN), 3.5m (MS)

SPOT 4

Spot45Product

L1A, L1B, L2A

10 (PAN), 20m (MS)

SPOT 5

Spot45Product

L1A, L1B, L2A

2.5 (SuperMode), 5.0 (PAN), 10m (MS)

SPOT 7

Spot7Product

SEN**, PRJ, ORT & MOS

1.5 (PAN), 6m (MS)

SPOT 6

Spot6Product

SEN**, PRJ, ORT & MOS

1.5 (PAN), 6m (MS)

Maxar***

MaxarProduct

Standard & Ortho

0.5 (PAN), 2m (MS)

SuperView-1

Sv1Product

L1B & L2A

0.5 (PAN), 2m (MS)

GEOSAT-2

Gs2Product

L1B & L1C & L1D & L1S

0.4 (PAN), 2m (MS) for L1D data

* Archived Landsat Collection-1 are not managed because of the tar.gz format, which is too slow to process. It is better to work on the extracted product. Landsat-9 Collection-1 products don’t exist.

** ⚠ DIMAP SEN products are orthorectified using RPCs and not the rigorous sensor model. Shift can occur. Please refer to this issue.

*** Maxar satellites: Worldview 2, 3, 4 and GeoEye-1 (but WorldView-1, QuickBird should work, however they don’t have been tested). The resolution can vary around the one given here.

Warning

Satellites products that cannot be used as archived have to be extracted before use.

Note

Note that for the rest of this documentation:

  • HLS.S30 and Sentinel-2 data are equivalent (only 30m gsd).

  • HLS.L30 and Landsat-OLI-TIRS data are equivalent.

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):
cems_constellations

Optical bands#

The following bands are available in EOReader, but may not be available for all constellations.

Warning

EOReader loads bands in UTM. VHR bands can be orthorectified but EOReader needs a DEM for that. Be sure to position the environment variable EOREADER_DEM_PATH to the DEM you want.

Satellite bands#

Note

Optical bands are always loaded in reflectance, except for brilliance temperature bands that are left as is.

However, the user can ask for bands “as is” by using the TO_REFLECTANCE keyword with the load and stack functions. It will give the bands in the provider format (either DN, radiance or reflactance in uint16…). See the optical notebook to see how to implement it.

These bands will be cleaned according to the user’s needs. By default, only the pixels outside the detectors footprints are set to nodata. Methods to clean optical bands are best described in the notebook about the optical cleaning methods.

Band names#

These bands are mainly based on Sentinel-2 bands. The names are the ones from Sentinel-2, even if sometimes it can be confusing (especially for Coastal Aerosol and SWIR Cirrus bands).

Some additions to the Sentinel-2 bands have been made (YELLOW, PAN…):

  • CA: Coastal Aerosol

  • BLUE

  • GREENI: First Green band of PlanetScope 8 bands, mapped to the 5th band of Sentinel-3 OLCI

  • GREEN

  • YELLOW

  • RED

  • VRE_1: Vegetation Red Edge 1

  • VRE_2: Vegetation Red Edge 2

  • VRE_3: Vegetation Red Edge 3

  • NIR: Near Infrared

  • NARROW_NIR: Spectrally resolved Narrow Near Infrared (band 8A for Sentinel-2, same as NIR for other sensors)

  • WV: Water vapour

  • SWIR_CIRRUS: Cirrus band

  • SWIR_1: Short Wave Infrared 1

  • SWIR_2 Short Wave Infrared 2

  • PAN: Panchromatic

  • TIR_1: Thermal Infrared 1

  • TIR_2: Thermal Infrared 2

Note

Note that bands that are not mapped can still be used (i.e. for Sentinel-3 OLCI and SLSTR). They will be called by their true name (i.e. F1 or Oa05). However, the mapped band will have to be called with their mapped name, i.e. BLUE rather than Oa04 for Sentinel-3 OLCI. But the bands that are not present in the alias file won’t be recognized.

Optical band mapping between constellations#

Bands (names)

Coastal aerosol

Blue

Green I

Green

Yellow

Red

Vegetation red edge

Vegetation red edge

Vegetation red edge

NIR

Narrow NIR

Water vapor

SWIR – Cirrus

SWIR

SWIR

Panchromatic

Thermal IR

Thermal IR

Bands (alias)

CA

BLUE

GREENI

GREEN

YELLOW

RED

VRE_1

VRE_2

VRE_3

NIR

NARROW_NIR

WV

SWIR_CIRRUS

SWIR_1

SWIR_2

PAN

TIR_1

TIR_2

Sentinel-2

1 (60m)

2 (10m)

3 (10m)

4 (10m)

5 (20m)

6 (20m)

7 (20m)

8 (10m)

8A (20m)

9 (60m)

10 (60m)

11 (20m)

12 (20m)

Sentinel-2 Theia

Not available

2 (10m)

3 (10m)

4 (10m)

5 (20m)

6 (20m)

7 (20m)

8A (10m)

8 (20m)

Not available

10 (60m)

11 (20m)

12 (20m)

Sentinel-3 OLCI*

3 (300m)

4 (300m)

5 (300m)

6 (300m)

7 (300m)

8 (300m)

11 (300m)

12 (300m)

16 (300m)

17 (300m)

17 (300m)

20 (300m)

Sentinel-3 SLSTR*

1 (500m)

2 (500m)

3 (500m)

3 (500m)

4 (500m)

5 (500m)

6 (500m)

8 (1km)

9 (1km)

Landsat OLI-TIRS (8-9)

1 (30m)

2 (30m)

3 (30m)

4 (30m)

5 (30m)

5 (30m)

9 (30m)

6 (30m)

7 (30m)

8 (15m)

10 (100m)

11 (100m)

Landsat ETM (7)

1 (30m)

2 (30m)

3 (30m)

4 (30m)

4 (30m)

5 (30m)

7 (30m)

8 (15m)

6 (60m)

6 (60m)

Landsat TM (5-4)

1 (30m)

2 (30m)

3 (30m)

4(30m)

4 (30m)

5 (30m)

7 (30m)

6 (120m)

6 (120m)

Landsat MSS (5-4)

1 (60m)

2 (60m)

3 (60m)

3 (60m)

3 (60m)

4 (60m)

4 (60m)

Landsat MSS (1-3)

4 (60m)

5 (60m)

6 (60m)

6 (60m)

6 (60m)

7 (60m)

7 (60m)

8 (240m)
only for L3

8 (240m)
only for L3

PlanetScope (4 bands)

1 (3m)

2 (3m)

3 (3m)

4 (3m)

4 (3m)

PlanetScope (5 bands)

1 (3m)

2 (3m)

3 (3m)

4 (3m)

5 (3m)

5 (3m)

PlanetScope (8 bands)

1 (3m)

2 (3m)

3 (3m)

4 (3m)

5 (3m)

6 (3m)

7 (3m)

8 (3m)

8 (3m)

SkySat

1 (0.5m)

2 (0.5m)

3 (0.5m)

4 (0.5m)

4 (0.5m)

RapidEye

1 (5m)

2 (5m)

3 (5m)

4 (5m)

5 (5m)

5 (5m)

Pleiades

3 (0.5/2m)

2 (0.5/2m)

1 (0.5/2m)

4 (0.5/2m)

4 (0.5/2m)

1 (0.5m)

Pleiades-Neo

5 (0.3/1.2m)

3 (0.3/1.2m)

2 (0.3/1.2m)

1 (0.3/1.2m)

6 (0.3/1.2m)

6 (0.3/1.2m)

6 (0.3/1.2m)

4 (0.3/1.2m)

4 (0.3/1.2m)

1 (0.5m)

SPOT-4

1 (10/20m)

2 (10/20m)

3 (10/20m)

3 (10/20m)

4 (10/20m)

1 (10m)

SPOT-5

1 (2.5/5/10m)

2 (2.5/5/10m)

3 (2.5/5/10m)

3 (2.5/5/10m)

4 (2.5/5/10m)

1 (2.5/5m)

SPOT-6/7

3 (1.5/6m)

2 (1.5/6m)

1 (1.5/6m)

4 (1.5/6m)

4 (1.5/6m)

1 (0.5m)

Vision-1

1 (0.9/3.5m)

2 (0.9/3.5m)

3 (0.9/3.5m)

4 (0.9/3.5m)

4 (0.9/3.5m)

1 (0.5m)

WorldView-1

1 (0.5m)

WorldView-4, GeoEye-1, QuickBird

1 (0.5m/2m)

2 (0.5m/2m)

3 (0.5m/2m)

4 (0.5m/2m)

4 (0.5m/2m)

1 (0.5m)

WorldView-2/3

1 (0.5m/2m)

2 (0.5m/2m)

3 (0.5m/2m)

4 (0.5m/2m)

5 (0.5m/2m)

6 (0.5m/2m)

6 (0.5m/2m)

6 (0.5m/2m)

7 (0.5m/2m)

7 (0.5m/2m)

8 (0.5m/2m)

1 (0.5m)

Superview-1

1 (0.5m/2m)

2 (0.5m/2m)

3 (0.5m/2m)

4 (0.5m/2m)

4 (0.5m/2m)

1 (0.5m)

GEOSAT-2

4 (0.4m/2m)

3 (0.4m/2m)

2 (0.4m/2m)

1 (0.4m/2m)

1 (0.4m/2m)

1 (0.4m)

* Not all bands of these constellations are mapped in EOReader. However, they can still be used by using directly their name (i.e. F1 or Oa05)

Cloud bands#

Maximum 5 cloud bands are available, according to the files provided in the data. All the bands are rasterized and orthorectified if needed (for Sentinel-2 or 3 data for example), ready to be stacked.

The only difference with the other bands is that the cloud bands are provided in uint8 and have a nodata equal to 255.

  • RAW_CLOUDS: Raw Cloud file as provided (the only changes are the orthorectification and rasterization). Can provide other flags, or cloud probability.

  • CLOUDS: Cloud presence (1) or absence (0). If clouds are provided in probabilities, their presence is determined according to Landsat definition (proba> 67%)

  • CIRRUS: Cirrus presence (1) or absence (0). If clouds are provided in probabilities, their presence is determined according to Landsat definition (proba> 67%)

  • SHADOWS: Shadows presence (1) or absence (0). If clouds are provided in probabilities, their presence is determined according to Landsat definition (proba> 67%)

  • ALL_CLOUDS: Cloud OR Cirrus OR Shadows presence (1) or absence (0).
    Do not take into account missing bands (i.e. for Landsat MSS constellation, ALL_CLOUDS == CLOUDS)

Sensors

Cloud files

Clouds Bands

Sentinel-2

RAW_CLOUDS, CLOUDS, CIRRUS, ALL_CLOUDS

Sentinel-2 Theia

RAW_CLOUDS, CLOUDS, SHADOWS, CIRRUS, ALL_CLOUDS

Sentinel-3 OLCI

Sentinel-3 SLSTR

RAW_CLOUDS, CLOUDS, CIRRUS, ALL_CLOUDS

Landsat 9

RAW_CLOUDS, CLOUDS, SHADOWS, CIRRUS, ALL_CLOUDS

Landsat 8

RAW_CLOUDS, CLOUDS, SHADOWS, CIRRUS, ALL_CLOUDS

Landsat 7

RAW_CLOUDS, CLOUDS, SHADOWS, ALL_CLOUDS

Landsat 5 TM

RAW_CLOUDS, CLOUDS, SHADOWS, ALL_CLOUDS

Landsat 4 TM

RAW_CLOUDS, CLOUDS, SHADOWS, ALL_CLOUDS

Landsat 5 MSS

RAW_CLOUDS, CLOUDS, ALL_CLOUDS

Landsat 4 MSS

RAW_CLOUDS, CLOUDS, ALL_CLOUDS

Landsat 3

RAW_CLOUDS, CLOUDS, ALL_CLOUDS

Landsat 2

RAW_CLOUDS, CLOUDS, ALL_CLOUDS

Landsat 1

RAW_CLOUDS, CLOUDS, ALL_CLOUDS

Harmonized Landsat-Sentinel

RAW_CLOUDS, CLOUDS, SHADOWS, CIRRUS, ALL_CLOUDS

PlanetScope

RAW_CLOUDS, CLOUDS, SHADOWS, CIRRUS, ALL_CLOUDS

SkySat

RAW_CLOUDS, CLOUDS, SHADOWS, CIRRUS, ALL_CLOUDS

RapidEye

RAW_CLOUDS, CLOUDS, ALL_CLOUDS

Pleiades

RAW_CLOUDS, CLOUDS, ALL_CLOUDS

Pleiades-Neo

RAW_CLOUDS, CLOUDS, ALL_CLOUDS

SPOT-4/5

SPOT-6/7

RAW_CLOUDS, CLOUDS, ALL_CLOUDS

Vision-1

Maxar (GeoEye-1, WorldViews)

SuperView-1

GEOSAT-2

DEM bands#

Optical constellations can all load DEM, SLOPE and HILLSHADE bands. The SLOPE band is given in degrees. Please post an issue if you need this band in percent.

Use the environment variable EOREADER_DEM_PATH to position your worldwide DEM. 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).

Available spectral indices#

EOReader uses (from version 0.18.0) the indices described in the awesome spectral indices (ASI) project.

⚠ You may need to install the last spyndex directly from GitHub latest version to have all available indices: pip uninstall spyndex && pip install -U --no-deps git+https://github.com/awesome-spectral-indices/spyndex.git

In addition to all these indices, EOReader kept the following indices for legacy purposes:

Spectral Indices

ASI equivalent

Formulas (with ASI syntax)

Name

AFRI_1_6

AFRI1600

(N - 0.66 * S1) / (N + 0.66 * S1)

Aerosol Free Vegetation Index (1600 nm)

AFRI_2_1

AFRI2100

(N - 0.5 * S2) / (N + 0.5 * S2)

Aerosol Free Vegetation Index (2100 nm)

BSI

BI

((S1 + R) - (N + B))/((S1 + R) + (N + B))

Barren Soil Index

DSWI

DSWI5

(N + G)/(S1 + R)

Disease water stress index

GRI

DSWI4

G/R

Green-to-Red ratio Index

NDGRI

NGRDI

(G - R) / (G + R)

Normalized Green Red Difference Index

NDMI21 (or NDMI2100)

(N - S2) / (N + S2)

Normalized Difference Moisture Index (with 2100 nm)

NDRE1

NDREI

(N - RE1) / (N + RE1)

Normalized Difference Red Edge Index

NDRE2

(N - RE2) / (N + RE2)

Normalized Difference Red-Edge Index with RE2

NDRE3

(N - RE3) / (N + RE3)

Normalized Difference Red-Edge Index with RE1

CI32

(RE3 / RE2) - 1

Chlorophyll Index RedEdge RE3/RE2

CI21

(RE2 / RE1) - 1

Chlorophyll Index RedEdge RE2/RE1

PANI

(R**2 + B**2 + G**2)**0.5

Panchromatic mocking index

RDI

DSI

S1/N

Ratio Drought Index / Drought Stress Index

RGI

RGRI

R/G

Relative Greenness Index / Red-Green Ratio Index

SBI

(R**2 + N**2)**0.5

Soil Brightness Index

SCI

3*G - R - 100

Soil Cuirass Index

SRSWIR

S1/S2

Simple Ratio SWIR16/SWIR21 Clay Minerals

TCBRI

0.3037 *B + 0.2793 * G + 0.4743 * R + 0.5585 * N + 0.5082 * S1 + 0.1863 * S2

Tasseled Cap Brightness

TCGRE

0.2848 *B + 0.2435 * G + 0.5436 * R + 0.7243 * N + 0.0840 * S1 + 0.1800 * S2

Tasseled Cap Greenness

TCWET

0.1509 *B + 0.1973 * G + 0.3279 * R + 0.3406 * N + 0.7112 * S1 + 0.4572 * S2

Tasseled Cap Wetness

WI

WI2015

1.7204 + 171 * G + 3 * R - 70 * N - 45 * S1 - 71 * S2

Water Index (2015)

WV_BI

NHFD

(RE1 - A) / (RE1 + A)

WorldView Built-up Index

WV_SI

(Y - G) / (Y + G)

WorldView Soil Index

WV_VI

(WV - R) / (WV + R)

WorldView Vegetation Index

WV_WI

(WV - A) / (WV + A)

WorldView Water Index

Note

WorldView-1 is not concerned by spectral indices as it only has a panchromatic band

Documentary Sources#

Copernicus#

Landsat#

Sentinel-2#

Harmonize Landsat-Sentinel#

Sentinel-2 Theia#

Sentinel-3#

PlanetScope, SkySat and RapidEye#

Vision-1#

DIMAP V1: SPOT-4/5#

DIMAP V2: Pleiades, SPOT-6/7#

Maxar (ex Digital Globe)#

SuperView-1#

GeoSat-2 (ex Deimos-2)#

Instruments#

Most instruments can be found on OSCAR or on ESA Earth Online.

Band mapping#

Index#

Documentation last accessed on the 02/12/2022