Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Common metadata: Clarify in descriptions that the fields are not Item-only #1234

Merged
merged 7 commits into from
Nov 20, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -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))
Expand Down
29 changes: 15 additions & 14 deletions item-spec/common-metadata.md
Original file line number Diff line number Diff line change
Expand Up @@ -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)

Expand All @@ -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).

Expand All @@ -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

Expand All @@ -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.
Expand All @@ -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

Expand Down