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: CHANGELOG.md
+8-6
Original file line number
Diff line number
Diff line change
@@ -33,7 +33,9 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
33
33
- All JSON Schema `$id` values no longer have `#` at the end.
34
34
- Two spatial bounding boxes in a Collection don't make sense and will be reported as invalid by the schema. ([#1243](https://github.com/radiantearth/stac-spec/issues/1243))
35
35
- Clarify in descriptions that start_datetime and end_datetime are inclusive bounds ([#1280](https://github.com/radiantearth/stac-spec/issues/1280))
36
-
- Moved the STAC structural relations in common metadata spec
36
+
- Moved the STAC structural relations into commons
37
+
- Moved general descriptions about Assets and Links into commons
38
+
- Moved common metadata from the item-spec into commons, but kept the JSON schemas in the item-spec for backward compatibility
37
39
38
40
### Deprecated
39
41
@@ -218,7 +220,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
218
220
### Added
219
221
- ItemCollection requires `stac_version` field, `stac_extensions` has also been added
220
222
- A `description` field has been added to Item assets (also Asset definitions extension)
221
-
- Field `mission` to [Common Metadata fields](item-spec/common-metadata.md)
223
+
- Field `mission` to [Common Metadata fields](commons/common-metadata.md)
222
224
- Extensions:
223
225
-[Version Indicators extension](https://github.com/stac-extensions/version/blob/main/README.md), new `version` and `deprecated` fields in STAC Items and Collections
224
226
- Data Cube extension can be used in Collections, added new field `description`
@@ -228,7 +230,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
228
230
- STAC API:
229
231
- Added the [Item and Collection API Version extension](https://github.com/radiantearth/stac-api-spec/tree/master/extensions/version/README.md) to support versioning in the API specification
230
232
- Run `npm run serve` or `npm run serve-ext` to quickly render development versions of the OpenAPI spec in the browser
231
-
-[Basics](item-spec/common-metadata.md#basics) added to Common Metadata definitions with new `description` field for
233
+
-[Basics](commons/common-metadata.md#basics) added to Common Metadata definitions with new `description` field for
232
234
Item properties
233
235
- New fields to the `link` object to facilitate [pagination support for POST requests](https://github.com/radiantearth/stac-api-spec/tree/master/api-spec.md#paging-extension)
234
236
-`data` role, as a suggestion for a common role for data files to be used in case data providers don't come up with their own names and semantics
@@ -240,7 +242,7 @@ Item properties
240
242
- Added field `roles` to Item assets (also Asset definitions extension), to be used similarly to Link `rel`
241
243
- Updated API yaml to clarify bbox filter should be implemented without brackets. Example: `bbox=160.6,-55.95,-170,-25.89`
242
244
- Collection `summaries` merge array fields now
243
-
- Several fields have been moved from extensions or item fields to the [Common Metadata fields](item-spec/common-metadata.md):
245
+
- Several fields have been moved from extensions or item fields to the [Common Metadata fields](commons/common-metadata.md):
244
246
-`eo:platform` / `sar:platform` => `platform`
245
247
-`eo:instrument` / `sar:instrument` => `instruments`, also changed from string to array of strings
-`search` extension renamed to `context` extension. JSON object renamed from `search:metadata` to `context`
265
267
- Removed "next" from the search metadata and query parameter, added POST body and headers to the links for paging support
266
268
- Query Extension - type restrictions on query predicates are more accurate, which may require additional implementation support
267
-
- Item `title` definition moved from core Item fields to [Common Metadata Basics](item-spec/common-metadata.md#basics)
269
+
- Item `title` definition moved from core Item fields to [Common Metadata Basics](commons/common-metadata.md#basics)
268
270
fields. No change is required for STAC Items.
269
271
-`putFeature` can return a `PreconditionFailed` to provide more explicit information when the resource has changed in the server
270
272
-[Sort extension](https://github.com/radiantearth/stac-api-spec/tree/master/extensions/sort) now uses "+" and "-" prefixes for GET requests to denote sort order.
@@ -281,7 +283,7 @@ fields. No change is required for STAC Items.
281
283
-`gsd` and `accuracy` from `eo:bands` in the [EO extension](https://github.com/stac-extensions/eo/blob/main/README.md)
282
284
-`sar:absolute_orbit` and `sar:center_wavelength` fields from the [SAR extension](https://github.com/stac-extensions/sar/blob/main/README.md)
283
285
-`data_type` and `unit` from the `sar:bands` object in the [SAR extension](https://github.com/stac-extensions/sar/blob/main/README.md)
284
-
- Datetime Range (`dtr`) extension. Use the [Common Metadata fields](item-spec/common-metadata.md) instead
286
+
- Datetime Range (`dtr`) extension. Use the [Common Metadata fields](commons/common-metadata.md) instead
285
287
- STAC API:
286
288
-`next` from the search metadata and query parameter
287
289
- In API, removed any mention of using media type `multipart/form-data` and `x-www-form-urlencoded`
Copy file name to clipboardExpand all lines: best-practices.md
+14-13
Original file line number
Diff line number
Diff line change
@@ -195,8 +195,8 @@ instead of thinking through all the ways providers might have chosen to name it.
195
195
In general STAC aims to be oriented around **search**, centered on the core fields that users will want to search on to find
196
196
imagery. The core is space and time, but there are often other metadata fields that are useful. While the specification is
197
197
flexible enough that providers can fill it with tens or even hundreds of fields of metadata, that is not recommended. If
198
-
providers have lots of metadata then that can be linked to in the [Asset Object](item-spec/item-spec.md#asset-object)
199
-
(recommended) or in a [Link Object](item-spec/item-spec.md#link-object). There is a lot of metadata that is only of relevance
198
+
providers have lots of metadata then that can be linked to in the [Asset Object](commons/assets.md#asset-object)
199
+
(recommended) or in a [Link Object](commons/links.md#link-object). There is a lot of metadata that is only of relevance
200
200
to loading and processing data, and while STAC does not prohibit providers from putting those type of fields in their items,
201
201
it is not recommended. For very large catalogs (hundreds of millions of records),
202
202
every additional field that is indexed will cost substantial money, so data providers are advised to just put the fields to be searched in STAC and
@@ -209,7 +209,7 @@ STAC. And it can also be one of the most confusing, especially for data that cov
209
209
is straightforward - it is the capture or acquisition time. But often data is processed from a range of captures - drones usually
210
210
gather a set of images over an hour and put them into a single image, mosaics combine data from several months, and data cubes
211
211
represent slices of data over a range of time. For all these cases the recommended path is to use `start_datetime` and
212
-
`end_datetime` fields from [common metadata](item-spec/common-metadata.md#date-and-time-range). The specification does allow one to set the
212
+
`end_datetime` fields from [common metadata](commons/common-metadata.md#date-and-time-range). The specification does allow one to set the
213
213
`datetime` field to `null`, but it is strongly recommended to populate the single `datetime` field, as that is what many clients
214
214
will search on. If it is at all possible to pick a nominal or representative datetime then that should be used. But sometimes that
215
215
is not possible, like a data cube that covers a time range from 1900 to 2000. Setting the datetime as 1950 would lead to it not
@@ -258,7 +258,7 @@ not spatial. This use case is not currently supported by STAC, as we are focused
258
258
in nature. The [OGC API - Records](https://github.com/opengeospatial/ogcapi-records) is an emerging standard that likely
259
259
will be able to handle a wider range of data than STAC. It builds on [OGC API -
260
260
Features](https://github.com/opengeospatial/ogcapi-features) just like [STAC API](https://github.com/radiantearth/stac-api-spec/)
261
-
does. Using [Collection Assets](collection-spec/collection-spec.md#asset-object) may also provide an option for some
261
+
does. Using [Collection Assets](collection-spec/collection-spec.md#assets) may also provide an option for some
262
262
use cases.
263
263
264
264
### Representing Vector Layers in STAC
@@ -277,14 +277,14 @@ Both are compliant with OGC API - Features, adding richer search capabilities to
277
277
278
278
### Common Use Cases of Additional Fields for Assets
279
279
280
-
As [described in the Item spec](item-spec/item-spec.md#additional-fields-for-assets), it is possible to use fields typically
280
+
As [described in the Item spec](commons/assets.md#additional-fields), it is possible to use fields typically
281
281
found in Item properties at the asset level. This mechanism of overriding or providing Item Properties only in the Assets
282
282
makes discovery more difficult and should generally be avoided. However, there are some core and extension fields for which
283
283
providing them at the Asset level can prove to be very useful for using the data.
284
284
285
285
-`datetime`: Provide individual timestamp on an Item, in case the Item has a `start_datetime` and `end_datetime`,
286
286
but an Asset is for one specific time.
287
-
-`gsd` ([Common Metadata](item-spec/common-metadata.md#instrument)): Specify some assets that represent instruments
287
+
-`gsd` ([Common Metadata](commons/common-metadata.md#instrument)): Specify some assets that represent instruments
288
288
with different spatial resolution than the overall best resolution. Note this should not be used for different
289
289
spatial resolutions due to specific processing of assets - look into the [raster
290
290
extension](https://github.com/stac-extensions/raster) for that use case.
@@ -368,7 +368,7 @@ it. It is relatively easy to [register](https://www.iana.org/form/media-types) a
368
368
369
369
### Asset Roles
370
370
371
-
[Asset roles](item-spec/item-spec.md#asset-roles) are used to describe what each asset is used for. They are particular useful
371
+
[Asset roles](commons/assets.md#roles) are used to describe what each asset is used for. They are particular useful
372
372
when several assets have the same media type, such as when an Item has a multispectral analytic asset, a 3-band full resolution
373
373
visual asset, a down-sampled preview asset, and a cloud mask asset, all stored as Cloud Optimized GeoTIFF (COG) images. It is
374
374
recommended to use at least one role for every asset available, and using multiple roles often makes sense. For example you'd use
@@ -783,25 +783,25 @@ while a value of 15 to 40 would tell them that it's oblique imagery, or 0 to 60
783
783
a Collection with lots of different look angles.
784
784
785
785
- Fields that have only one or a handful of values are also great to summarize. Collections with a single satellite may
786
-
use a single [`gsd`](item-spec/common-metadata.md#instrument) field in the summary, and it's quite useful for users to know
786
+
use a single [`gsd`](commons/common-metadata.md#instrument) field in the summary, and it's quite useful for users to know
787
787
that all data is going to be the same resolution. Similarly it's useful to know the names of all the
788
-
[`platform` values](item-spec/common-metadata.md#instrument) that are used in the Collection.
788
+
[`platform` values](commons/common-metadata.md#instrument) that are used in the Collection.
789
789
790
790
- It is less useful to summarize fields that have numerous different discrete values that can't easily be represented
791
791
in a range. These will mostly be string values, when there aren't just a handful of options. For example if you had a
792
792
'location' field that gave 3 levels of administrative region (like 'San Francisco, California, United States') to help people
793
793
understand more intuitively where a shot was taken. If your Collection has millions of Items, or even hundreds, you don't want
794
794
to include all the different location string values in a summary.
795
795
796
-
- Fields that consist of arrays are more of a judgement call. For example [`instruments`](item-spec/common-metadata.md#instrument)
796
+
- Fields that consist of arrays are more of a judgement call. For example [`instruments`](commons/common-metadata.md#instrument)
797
797
is straightforward and recommended, as the elements of the array are a discrete set of options. On the other hand
0 commit comments