You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: extensions/stac-eo-spec.md
+70-16Lines changed: 70 additions & 16 deletions
Original file line number
Diff line number
Diff line change
@@ -1,33 +1,38 @@
1
-
# STAC EO Extension JSON Spec
1
+
# STAC EO Profile
2
2
3
-
This document explains the fields of the STAC Earth Observation (EO) Extension to a STAC `Item`. EO data is considered to be data that represents a snapshot of the earth for a single date and time. It could consist of multiple spectral bands in any part of the electromagnetic spectrum. Examples of EO data include sensors with visible, short-wave and mid-wave IR bands (e.g., the OLI instrument on Landsat-8), long-wave IR bands (e.g. TIRS aboard Landsat-8), as well as SAR instruments (e.g. Sentinel-1).
3
+
This document explains the fields of the STAC Earth Observation (EO) Profile, which adds to the core fields of a STAC `Item`. EO data is considered to be data that
4
+
represents a snapshot of the earth for a single date and time. It could consist of multiple spectral bands in any part of the electromagnetic spectrum. Examples of EO data
5
+
include sensors with visible, short-wave and mid-wave IR bands (e.g., the OLI instrument on Landsat-8), long-wave IR bands (e.g. TIRS aboard Landsat-8), as well as SAR
6
+
instruments (e.g. Sentinel-1).
4
7
5
8
## EO Extension Description
6
-
These are fields that extend the `Item` object
7
-
## `Item` additions
9
+
These are fields that extend the `Item` object, as well as the items's assets field and `Collection` level metadata. The EO Profile generally assumes that you are
10
+
using the [STAC collection extension](stac-collection-spec.md), so puts all the repetitive fields at the `Collection` level. Since the collection extension is still
11
+
being fleshed out it is also acceptable to just put the required Collection fields as `Item` level properties.
| eo:off_nadir | float (optional) | Off nadir | Viewing angle. 0-90 degrees, measured from nadir
18
21
| eo:azimuth | float (optional) | Azimuth | Viewing azimuth angle. 0-360 degrees, measured clockwise from north
19
22
| eo:sun_azimuth | float (optional) | Sun Azimuth | Sun azimuth angle. 0-360 degrees, measured clockwise from north
20
23
| eo:sun_elevation | float (optional) | Sun Elevation | Sun elevation angle. 0-90 degrees measured from horizon
24
+
| eo:collection| string (optional | Collection Name | The name of the STAC `Collection` this `Item` belongs to |
21
25
22
-
## `Item` Field Descriptions
23
26
24
-
**eo:gsd** is the nominal Ground Sample Distance for the data, as measured in meters on the ground. Since GSD can vary across a scene depending on projection, this should be the average GSD in the center of the image. If the data includes multiple bands with different GSD values, this should be the best GSD available.
27
+
All of these values go in the 'properties' object of the STAC Item. As can be seen most are optional, though they are highly recommended for Earth Observation
28
+
imagery. It is likely more optional fields will be added as multiple providers expose the fields they use and consensus as to common names and values emerge.
29
+
For now if you are a provider with fields you'd like to add just put them under your own prefix, but also propose its use in an [issue](https://github.com/radiantearth/stac-spec/issues).
25
30
26
-
**eo:platform** is the name of the specific platform the instrument is attached to. For satellites this would be the name of the satellite (e.g., landsat-8, sentinel-2A), whereas for drones this would be a unique name for the drone.
27
31
28
-
**eo:instrument** The instrument is the name of the sensor used, although for Items which contain data from multiple sensors this could also name multiple sensors. For example, data from the Landsat-8 platform is collected with the OLI sensor as well as the TIRS sensor, but the data is distributed together and commonly referred to as OLI_TIRS.
32
+
### Item Field Descriptions in Properties
29
33
30
-
**eo:bands** This is a dictionary of band information where each key in the dictionary is an identifier for the band (e.g., "B01", "B02", "B1", "B5", "QA"). See below for more information on band metadata.
34
+
**eo:gsd** is the nominal Ground Sample Distance for the data, as measured in meters on the ground. Since GSD can vary across a scene depending on projection, this should be the average GSD in the center of the image. If the data includes multiple bands with different GSD values, this should be the best GSD available. If there are different
35
+
GSD values in the bands those should be specified in the `eo:bands` section of the Collection, specified below.
31
36
32
37
**eo:crs**: The Coordinate Reference System (CRS) is the native reference system (sometimes called a 'projection') used by the data, provided in [Well-Known Text (WKT) format](https://en.wikipedia.org/wiki/Well-known_text). This field is required. If the data does not have a CRS, such as in the case of non-rectified imagery with Ground Control Points, eo:crs should be set to null.
33
38
@@ -41,8 +46,54 @@ These are fields that extend the `Item` object
41
46
42
47
**eo:sun_elevation**: This is the angle from the tangent of ths scene center point to the sun. Measured in degrees (0-90).
43
48
44
-
## `Item:eo:bands`
45
-
The bands field of a `Item` is a dictionary where the index identifies a specific band. This is often a band number (e.g., 1, B1, B01), but could be any unique identifier.
49
+
**eo:collection**: This should refer to the `collection_name` field in the Collection metadata that is referenced in the `links` section of the `Item`. This is
50
+
used to enable filtering between different collections, which is important when more than one collection is contained in a single catalog.
51
+
52
+
### Item:links additions
53
+
54
+
Additionally there should be an entry in the `links` array that is called `collection`, as specified in the [STAC collection extension](stac-collection-spec.md).
One of the unique features of Earth Observation data is that providers arrange their assets in all sorts of different ways. Some, like Landsat, provide a file for
65
+
each band, while others combine bands in to multiple files. Some provide multi-band 'analytic' products as well as 3 band 'visual' ones, and then the order of the
66
+
bands that they include are often different.
67
+
68
+
The EO profile includes a full definition of the bands in the `Collection` file, but then each asset will specify what bands it covers, and in what order.
| eo:platform| string | Unique name of platform | Specific name of the platform (e.g., landsat-8, sentinel-2A, larrysdrone) |
86
+
| eo:instrument| string | Instrument used | Name of instrument or sensor (e.g., MODIS, ASTER, OLI, Canon F-1) |
87
+
| eo:bands | dictionary | Band Info | Band specific metadata (see below)
88
+
89
+
**eo:platform** is the name of the specific platform the instrument is attached to. For satellites this would be the name of the satellite (e.g., landsat-8, sentinel-2A), whereas for drones this would be a unique name for the drone.
90
+
91
+
**eo:instrument** The instrument is the name of the sensor used, although for Items which contain data from multiple sensors this could also name multiple sensors. For example, data from the Landsat-8 platform is collected with the OLI sensor as well as the TIRS sensor, but the data is distributed together and commonly referred to as OLI_TIRS.
92
+
93
+
**eo:bands** This is a dictionary of band information where each key in the dictionary is an identifier for the band (e.g., "B01", "B02", "B1", "B5", "QA"). See below for more information on band metadata.
94
+
95
+
### eo:bands in Collection
96
+
The bands field of a `Collection` is a dictionary where the index identifies a specific band. This is often a band number (e.g., 1, B1, B01), but can be a string (like 'udm' for an unusable data mask band, and can be any unique identifier. It is used in the `eo:bands` property of an asset in an `Item
@@ -52,7 +103,7 @@ The bands field of a `Item` is a dictionary where the index identifies a specifi
52
103
| center_wavelength | float (optional) | Center wavelength | The center wavelength of the band, in microns
53
104
| full_width_half_max | float (optional) | Full width at half maximum | The width of the band, as measured at half the maximum transmission, in microns
54
105
55
-
##`Item:eo:bands` Field Descriptions
106
+
### eo:bands in Collection Field Descriptions
56
107
57
108
**common_name** is a name commonly used to refer to the band to make it easier to search for bands across instruments. See below for a list of accepted common names.
58
109
@@ -64,7 +115,7 @@ The bands field of a `Item` is a dictionary where the index identifies a specifi
64
115
65
116
**full_width_half_max** (FWHM) is a common way to describe the size of a spectral band. It is the width, in microns, of the bandpass measured at a half of the maximum transmission. Thus, if the maximum transmission of the bandpass was 80%, the FWHM is measured as the width of the bandpass at 40% transmission.
66
117
67
-
## Common Band Names
118
+
###Common Band Names
68
119
The band's common_name is the name that is commonly used to refer to that band's spectral properties. The table below shows the common name based on the average band range for the band numbers of several popular instruments.
69
120
70
121
| Common Name | Band Range (μm) | Landsat 5 | Landsat 7 | Landsat 8 | Sentinel 2 | MODIS |
@@ -81,3 +132,6 @@ The band's common_name is the name that is commonly used to refer to that band's
81
132
|lwir11 | 10.5 - 11.5 | | | 10 | | 31
82
133
|lwir12 | 11.5 - 12.5 | | | 11 | | 32
83
134
135
+
### Sample data
136
+
137
+
See the [examples/](examples/) folder for a full landsat definition.
0 commit comments