Skip to content

Commit

Permalink
Common metadata: Clarify in descriptions that the fields are not Item…
Browse files Browse the repository at this point in the history
…-only (#1234)

* Clarify in various field descriptions that the fields do not only apply to Items

---------

Co-authored-by: Emmanuel Mathot <[email protected]>
m-mohr and emmanuelmathot authored Nov 20, 2023
1 parent 5499a74 commit 68fe319
Showing 2 changed files with 19 additions and 16 deletions.
6 changes: 4 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -14,8 +14,10 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.

### Changed

- Validate common metadata also in Catalogs, Collections and Links.
- Common metadata: If a description is given, require that it is not empty
- Common Metadata:
- Clarify in various field descriptions that the fields do not only apply to Items
- Validate the fields also in Catalogs, Collections and Links
- If a description is given, require that it is not empty
- Clarified that trailing slashes in URIs are significant. ([#1212](https://github.com/radiantearth/stac-spec/discussions/1212))
- All JSON Schema `$id` values no longer have `#` at the end.
- 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))
29 changes: 15 additions & 14 deletions item-spec/common-metadata.md
Original file line number Diff line number Diff line change
@@ -30,7 +30,7 @@ For example, `datetime` is required in STAC Items.

## Basics

Descriptive fields to give a basic overview of a STAC Item.
Descriptive fields to give a basic overview of a STAC entity (e.g. Catalog, Collection, Item, Asset).

- [JSON Schema](json-schema/basics.json)

@@ -46,11 +46,11 @@ Descriptive fields to give a basic overview of a STAC Item.

Fields to provide additional temporal information such as ranges with a start and an end datetime stamp.

| Field Name | Type | Description |
| ---------- | ------------ | -------------------------------------------------------------------------------- |
| datetime | string\|null | See the [Item Spec Fields](item-spec.md#properties-object) for more information. |
| created | string | Creation date and time of the corresponding data (see below), in UTC. |
| updated | string | Date and time the corresponding data (see below) was updated last, in UTC. |
| Field Name | Type | Description |
| ---------- | ------------ | ------------------------------------------------------------------------------------------ |
| datetime | string\|null | See the [Item Spec Fields](item-spec.md#properties-object) for more information. |
| created | string | Creation date and time of the corresponding STAC entity or Asset (see below), in UTC. |
| updated | string | Date and time the corresponding STAC entity or Asset (see below) was updated last, in UTC. |

All timestamps MUST be formatted according to [RFC 3339, section 5.6](https://tools.ietf.org/html/rfc3339#section-5.6).

@@ -64,18 +64,18 @@ Having those fields in the Assets or Links, they refer to the actual data linked

### Date and Time Range

While a STAC Item can have a nominal datetime describing the capture, these properties allow an Item to have a range
While a STAC entity (e.g. an Item) can have a nominal datetime describing the capture, these properties allow a STAC entity to have a range
of capture dates and times. An example of this is the [MODIS 16 day vegetation index product](https://lpdaac.usgs.gov/products/mod13q1v006/).

**Important:** Using one of the fields REQUIRES inclusion of the other field as well to enable a user to search STAC records by the provided times.
So if you use `start_datetime` you need to add `end_datetime` and vice-versa.
Both fields are also REQUIRED if the `datetime` field is set to `null`.
The datetime property in a STAC Item and these fields are not mutually exclusive.

| Field Name | Type | Description |
| -------------- | ------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| start_datetime | string | The first or start date and time for the Item, in UTC. It is formatted as `date-time` according to [RFC 3339, section 5.6](https://tools.ietf.org/html/rfc3339#section-5.6). |
| end_datetime | string | The last or end date and time for the Item, in UTC. It is formatted as `date-time` according to [RFC 3339, section 5.6](https://tools.ietf.org/html/rfc3339#section-5.6). |
| Field Name | Type | Description |
| -------------- | ------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| start_datetime | string | The first or start date and time for the resource, in UTC. It is formatted as `date-time` according to [RFC 3339, section 5.6](https://tools.ietf.org/html/rfc3339#section-5.6). |
| end_datetime | string | The last or end date and time for the resource, in UTC. It is formatted as `date-time` according to [RFC 3339, section 5.6](https://tools.ietf.org/html/rfc3339#section-5.6). |

## Licensing

@@ -91,6 +91,7 @@ Information about the license(s) of the data, which is not necessarily the same
**license**: License(s) of the data that the STAC entity provides.

The license(s) can be provided as:

1. [SPDX License identifier](https://spdx.org/licenses/)
2. [SPDX License expression](https://spdx.github.io/spdx-spec/v2.3/SPDX-license-expressions/)
3. String with the value `other` if the license is not on the SPDX license list.
@@ -105,9 +106,9 @@ the data is private, and consumers have not been granted any explicit right to u

### Relation types

| Type | Description |
| ------- | ---------------------------------------------------------------------------------------------------------------- |
| license | The license URL(s) for the Item SHOULD be specified if the `license` field is **not** a SPDX license identifier. |
| Type | Description |
| ------- | -------------------------------------------------------------------------------------------------------------------- |
| license | The license URL(s) for the resource SHOULD be specified if the `license` field is **not** a SPDX license identifier. |

## Provider

0 comments on commit 68fe319

Please sign in to comment.