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: README.md
+2-2Lines changed: 2 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -95,8 +95,8 @@ It includes things like the spatial and temporal extent of the data, the license
95
95
It enables discovery at a higher level than individual Item objects, providing a simple way to describe sets of data.
96
96
***[Examples](examples/):** The *[examples/](examples/)* folder contains examples for all three specifications, linked together to form two
97
97
complete examples. Each spec and extension links in to highlight particular files that demonstrate key concepts.
98
-
***[Extensions](extensions/):**The *[extensions/](extensions/)* folder is where extensions live. Extensions can extend the
99
-
functionality of the core spec or add fields for specific domains. Each extension has at least one *owner*. You can find extension owners in each extension's README or in the [`CODEOWNERS`](.github/CODEOWNERS) file.
98
+
***[Extensions](extensions/README.md)**describe how STAC can use extensions that extend the functionality of the core spec or
99
+
add fields for specific domains. Extensions can be published anywhere, although the preferred location for public extensions is in the [GitHub `stac-extensions` organization](https://github.com/stac-extensions).
100
100
***Additional documents:** The supporting documents include a complementary [best practices](best-practices.md)
101
101
document, and information on contributing (links in the next section). We also maintain a [changelog](CHANGELOG.md) of
Copy file name to clipboardExpand all lines: best-practices.md
+12-12Lines changed: 12 additions & 12 deletions
Original file line number
Diff line number
Diff line change
@@ -247,12 +247,12 @@ providing them at at the Asset level can prove to be very useful for using the d
247
247
-`datetime`: Provide individual timestamp on an Item, in case the Item has a `start_datetime` and `end_datetime`, but an Asset is for one specific time.
248
248
-`gsd` ([Common Metadata](item-spec/common-metadata.md#instrument)): Specify some assets with different spatial resolution
249
249
than the overall best resolution.
250
-
-`eo:bands` ([EO extension](extensions/eo/)): Provide spectral band information, and order of bands, within an individual asset.
251
-
-`proj:epsg`/`proj:wkt2`/`proj:projjson` ([projection extension](extensions/projection/)): Specify different projection for some assets. If the projection is different
250
+
-`eo:bands` ([EO extension](https://github.com/stac-extensions/eo/)): Provide spectral band information, and order of bands, within an individual asset.
251
+
-`proj:epsg`/`proj:wkt2`/`proj:projjson` ([projection extension](https://github.com/stac-extensions/projection/)): Specify different projection for some assets. If the projection is different
252
252
for all assets it should probably not be provided as an Item property. If most assets are one projection, and there is
253
253
a single reprojected version (such as a Web Mercator preview image), it is sensible to specify the main projection in the
254
254
Item and the alternate projection for the affected asset(s).
255
-
-`proj:shape`/`proj:transform` ([projection extension](extensions/projection/)): If assets have different spatial resolutions and slightly different exact bounding boxes, specify these per asset to indicate the size of the asset in pixels and its exact GeoTransform in the native projection.
255
+
-`proj:shape`/`proj:transform` ([projection extension](https://github.com/stac-extensions/projection/)): If assets have different spatial resolutions and slightly different exact bounding boxes, specify these per asset to indicate the size of the asset in pixels and its exact GeoTransform in the native projection.
256
256
-`sar:polarizations` ([sar extension](https://github.com/stac-extensions/sar)): Provide the polarization content and ordering of a specific asset, similar to `eo:bands`.
257
257
-`sar:product_type` ([sar extension](https://github.com/stac-extensions/sar)): If mixing multiple product types within a single Item, this can be used to specify the product_type for each asset.
258
258
@@ -338,9 +338,9 @@ actual role requirements.
338
338
| land-water | Best Practice | Points to a file that indicates whether a pixel is assessed as being land or water. |
339
339
| water-mask | Best Practice | Points to a file that indicates whether a pixel is assessed as being water (e.g. flooding map). | iso-19139 | Best Practice | Points to an [ISO 19139](https://www.iso.org/standard/67253.html) metadata xml file |
340
340
| iso-19115 | Best Practice | Points to an [ISO 19115](https://www.iso.org/standard/53798.html) metadata file |
341
-
| reflectance, temperature, saturation, cloud, cloud-shadow |[EO Extension](extensions/eo/README.md#best-practices)| See the [table](extensions/eo/README.md#best-practices) in EO for more information, and the definitive list of roles related to EO. |
342
-
| incidence-angle, azimuth, sun-azimuth, sun-elevation, terrain-shadow, terrain-occlusion, terrain-illumination |[View Extension](extensions/view/README.md#best-practices)| See the [table](extensions/view/README.md#best-practices) in View for more information, and the definitive list of roles related to viewing angles. |
343
-
| local-incidence-angle, noise-power, amplitude, magnitude, sigma0, beta0, gamma0, date-offset, covmat, prd |[SAR Extension](https://github.com/stac-extensions/sar/README.md#best-practices)| See the [table](https://github.com/stac-extensions/sar/README.md#best-practices) in SAR for more information. , and the definitive list of roles related to SAR. |
341
+
| reflectance, temperature, saturation, cloud, cloud-shadow |[EO Extension](https://github.com/stac-extensions/eo/blob/main/README.md#best-practices)| See the [table](https://github.com/stac-extensions/eo/blob/main/README.md#best-practices) in EO for more information, and the definitive list of roles related to EO. |
342
+
| incidence-angle, azimuth, sun-azimuth, sun-elevation, terrain-shadow, terrain-occlusion, terrain-illumination |[View Extension](https://github.com/stac-extensions/view/blob/main/README.md#best-practices)| See the [table](https://github.com/stac-extensions/view/blob/main/README.md#best-practices) in View for more information, and the definitive list of roles related to viewing angles. |
343
+
| local-incidence-angle, noise-power, amplitude, magnitude, sigma0, beta0, gamma0, date-offset, covmat, prd |[SAR Extension](https://github.com/stac-extensions/sar/blob/main/README.md#best-practices)| See the [table](https://github.com/stac-extensions/sar/blob/main/README.md#best-practices) in SAR for more information. , and the definitive list of roles related to SAR. |
344
344
345
345
Some of the particular asset roles also have some best practices:
346
346
@@ -489,7 +489,7 @@ Some general thinking on what to summarize is as follows:
489
489
490
490
* Any field that is a range of data (like numbers or dates) is a great candidate to summarize, to give people a sense what values
491
491
the data might be. For example in overhead imagery, a
492
-
[`view:off_nadir`](extensions/view/README.md#item-properties-and-item-asset-fields) with a range of 0 to 3 would tell people this
492
+
[`view:off_nadir`](https://github.com/stac-extensions/view/blob/main/README.md#item-properties-and-item-asset-fields) with a range of 0 to 3 would tell people this
493
493
imagery is all pretty much straight down, while a value of 15 to 40 would tell them that it's oblique imagery, or 0 to 60 that it's
494
494
a Collection with lots of different look angles.
495
495
@@ -506,12 +506,12 @@ to include all the different location string values in a summary.
506
506
507
507
* Fields that consist of arrays are more of a judgement call. For example [`instruments`](item-spec/common-metadata.md#instrument)
508
508
is straightforward and recommended, as the elements of the array are a discrete set of options. On the other hand
509
-
[`proj:transform`](extensions/projection/README.md#projtransform) makes no sense to summarize, as the union of all the values
509
+
[`proj:transform`](https://github.com/stac-extensions/projection/blob/main/README.md#projtransform) makes no sense to summarize, as the union of all the values
510
510
in the array are meaningless, as each Item is describing its transform, so combining them would just be a bunch of random numbers.
511
511
So if the values contained in the array are independently meaningful (not interconnected) and there aren't hundreds of potential
512
512
values then it is likely a good candidate to summarize.
513
513
514
-
We do highly recommend including an [`eo:bands`](extensions/eo/README.md#eobands) summary if your Items implement `eo:bands`,
514
+
We do highly recommend including an [`eo:bands`](https://github.com/stac-extensions/eo/blob/main/README.md#eobands) summary if your Items implement `eo:bands`,
515
515
especially if it represents just one satellite or constellation. This should be a union of all the potential bands that you
516
516
have in assets. It is ok to only add the summary at the Collection level without putting an explicit `eo:bands` summary at the
517
517
`properties` level of an Item, since that is optional. This gives users of the Collection a sense of the sensor capabilities without
@@ -540,7 +540,7 @@ cases should utilize a catalog that follows the listed principles:
540
540
***Only relative href's in structural `links`**: The full catalog structure of links down to sub-catalogs and Items, and their
541
541
links back to their parents and roots, should be done with relative URL's. The structural rel types include `root`, `parent`,
542
542
`child`, `item`, and `collection`. Other links can be absolute, especially if they describe a resource that makes less sense in
543
-
the catalog, like [sci:doi](extensions/scientific/README.md#item-and-collection-fields),
543
+
the catalog, like [sci:doi](https://github.com/stac-extensions/scientific/blob/main/README.md#item-and-collection-fields),
544
544
`derived_from` or even `license` (it can be nice to include the license in the catalog, but some licenses live at a canonical
545
545
online location which makes more sense to refer to directly). This enables the full catalog to be downloaded or
546
546
copied to another location and to still be valid. This also implies no `self` link, as that link must be absolute.
@@ -623,10 +623,10 @@ catalogs to preserve previous versions of the documents and link them together.
623
623
624
624
In order to achieve this, the static catalog must make sure that for every record created, a copy of the record is also
625
625
created in a separate location and it is named with the version id adopted by the catalog. See
626
-
[here](https://github.com/stac-extensions/version/README.md#version-id) for recommendations on versioning schema.
626
+
[here](https://github.com/stac-extensions/version/blob/main/README.md#version-id) for recommendations on versioning schema.
627
627
628
628
The main record should also provide a link to the versioned record following the linking patterns described
629
-
[here](https://github.com/stac-extensions/version/README.md#relation-types). For every update to the record, the same
629
+
[here](https://github.com/stac-extensions/version/blob/main/README.md#relation-types). For every update to the record, the same
630
630
cycle is repeated:
631
631
632
632
1. Add link from the updated record to the previous version
| stac_version | string |**REQUIRED.** The STAC version the Catalog implements. STAC versions can be mixed, but please keep the [recommended best practices](../best-practices.md#mixing-stac-versions) in mind. |
46
46
| type | string |**REQUIRED.** Set to `Catalog` if this Catalog only implements the Catalog spec. |
47
+
| stac_version | string |**REQUIRED.** The STAC version the Catalog implements. |
47
48
| stac_extensions |\[string]| A list of extension identifiers the Catalog implements. |
48
49
| id | string |**REQUIRED.** Identifier for the Catalog. |
49
50
| title | string | A short descriptive one-line title for the Catalog. |
@@ -53,10 +54,16 @@ also a valid STAC Catalog.
53
54
54
55
### Additional Field Information
55
56
57
+
#### stac_version
58
+
59
+
In general, STAC versions can be mixed, but please keep the [recommended best practices](../best-practices.md#mixing-stac-versions) in mind.
60
+
56
61
#### stac_extensions
57
62
58
-
A list of extensions the Catalog implements. This does NOT declare the extensions of children or Items. The list contains URLs to the JSON Schema files it can be validated against. For [core extensions](../extensions/README.md#core-stac-extensions), a "shortcut" can be used. This means you can specify the folder name of the extension, for example `view` for the View extension. If the versions of the extension and the Catalog diverge, you can specify the URL of the JSON schema file.
59
-
This list must only contain extensions that extend the Catalog itself, see the the 'Scope' column in the list of extensions.
63
+
A list of extensions the Catalog implements.
64
+
This list must only contain extensions that extend the Catalog itself, see the the 'Scope' column in the list of
65
+
extensions. This does NOT declare the extensions of child Catalog, Collection, or Item
66
+
objects. The list contains URLs to the JSON Schema files it can be validated against.
60
67
61
68
### Link Object
62
69
@@ -112,7 +119,7 @@ The following table lists the Media Types to use for STAC structures.
| stac_version | string |**REQUIRED.** The STAC version the Collection implements. STAC versions can be mixed, but please keep the [recommended best practices](../best-practices.md#mixing-stac-versions) in mind. |
25
46
| type | string |**REQUIRED.** Must be set to `Collection` to be a valid Collection. |
47
+
| stac_version | string |**REQUIRED.** The STAC version the Collection implements. |
26
48
| stac_extensions |\[string]| A list of extension identifiers the Collection implements. |
27
49
| id | string |**REQUIRED.** Identifier for the Collection that is unique across the provider. |
28
50
| title | string | A short descriptive one-line title for the Collection. |
@@ -37,24 +59,28 @@ specified in [*OGC API - Features*](https://ogcapi.ogc.org/features/), but they
37
59
38
60
### Additional Field Information
39
61
40
-
#### id
62
+
#### stac_version
41
63
42
-
It is important that Collection identifiers are unique across the provider. And providers should strive as much as possible to make
43
-
their Collection ids 'globally' unique, prefixing any common information with a unique string. This could be the provider's name if
44
-
it is a fairly unique name, or their name combined with the domain they operate in.
64
+
In general, STAC versions can be mixed, but please keep the [recommended best practices](../best-practices.md#mixing-stac-versions) in mind.
45
65
46
66
#### stac_extensions
47
67
48
-
A list of extensions the Collection implements. This does NOT declare the extensions of child Catalogs or Items. The list
49
-
contains URLs to the JSON Schema files it can be validated against. For official
50
-
[extensions](../extensions/README.md#core-stac-extensions), a "shortcut" can be used. This means you can specify the folder
51
-
name of the extension, for example `view` for the View extension. If the versions of the extension and
52
-
the Collection diverge, you can specify the URL of the JSON schema file. This list must only contain extensions that extend
53
-
the Collection itself, see the the 'Scope' column in the list of extensions. If an extension has influence on multiple parts
68
+
A list of extensions the Collection implements.
69
+
This list must only contain extensions that extend the Collection itself, see the the 'Scope' column in the list of
70
+
extensions. This does NOT declare the extensions of child Collection or Item
71
+
objects. The list contains URLs to the JSON Schema files it can be validated against.
72
+
73
+
If an extension has influence on multiple parts
54
74
of the whole STAC structure, it must be listed in all affected parts (e.g. Collection and Item for the `datacube` extension).
55
-
If a structure such as the summaries extension provide fields in their JSON structure, these extensions must not be listed
75
+
If a structure, such as the summaries extension, provides fields in their JSON structure, these extensions must not be listed
56
76
here as they don't extend the Collection itself. For example, if a Collection includes the field `sat:platform` in the
57
-
summaries, the Collection still does not list the `sat` extension in the `stac_extensions` field.
77
+
summaries, the Collection should not list the `sat` extension in the `stac_extensions` field.
78
+
79
+
#### id
80
+
81
+
It is important that Collection identifiers are unique across the provider. And providers should strive as much as possible to make
82
+
their Collection ids 'globally' unique, prefixing any common information with a unique string. This could be the provider's name if
83
+
it is a fairly unique name, or their name combined with the domain they operate in.
0 commit comments