Skip to content
This repository was archived by the owner on Jul 30, 2024. It is now read-only.

Commit 67150d6

Browse files
author
Phil Varner
authored
migrate spec from stac-spec repo (#1)
* migrate spec from stac-spec repo * add PR template * fix package template reference; remove rc.1 suffix * fix references to core stac in schema * update schema text * update schema
1 parent 748e12f commit 67150d6

File tree

9 files changed

+420
-281
lines changed

9 files changed

+420
-281
lines changed

.github/pull_request_template.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
**Related Issue(s):** #
2+
3+
4+
**Proposed Changes:**
5+
6+
1.
7+
2.
8+
9+
**PR Checklist:**
10+
11+
- [ ] This PR is made against the `dev` branch (all proposed changes except releases should be against `dev`, not main).
12+
- [ ] This PR has **no** breaking changes.
13+
- [ ] I have added my changes to the CHANGELOG **or** a CHANGELOG entry is not required.

.remarkignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
/CHANGELOG.md

CHANGELOG.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
66

77
## [Unreleased]
88

9+
- Added clarification about how collection-level asset object properties do
10+
not remove the need for item-level asset object properties in the `item-assets` extension ([#880](https://github.com/radiantearth/stac-spec/pull/880))
11+
912
### Added
1013

1114
### Changed
@@ -17,3 +20,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1720
### Fixed
1821

1922
[Unreleased]: <https://github.com/stac-extensions/template/compare/v1.0.0...HEAD>
23+
24+
## [v1.0.0-beta.1] - 2020-05-29
25+
26+
### Changed
27+
28+
- `asset` extension renamed to `item-assets` and renamed `assets` field in Collections to `item_assets`
29+
- `item-assets` extension only requires any two fields to be available, not the two specific fields `title` and `type`

README.md

Lines changed: 49 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,50 +1,67 @@
1-
# Template Extension Specification
1+
# Item Assets Extension Specification
22

3-
- **Title:** Template
4-
- **Identifier:** <https://stac-extensions.github.io/template/v1.0.0/schema.json>
5-
- **Field Name Prefix:** template
6-
- **Scope:** Item, Collection
3+
- **Title:** Item Assets
4+
- **Identifier:** <https://stac-extensions.github.io/item-assets/v1.0.0/schema.json>
5+
- **Field Name Prefix:** n/a
6+
- **Scope:** Collection
77
- **Extension [Maturity Classification](https://github.com/radiantearth/stac-spec/tree/master/extensions/README.md#extension-maturity):** Proposal
8-
- **Owner**: @your-gh-handles @person2
8+
- **Owner**: @matthewhanson
99

10-
This document explains the Template Extension to the [SpatioTemporal Asset Catalog](https://github.com/radiantearth/stac-spec) (STAC) specification.
11-
This is the place to add a short introduction.
10+
This document explains the Item Assets Extension to the
11+
[SpatioTemporal Asset Catalog](https://github.com/radiantearth/stac-spec) (STAC) specification.
12+
13+
This extension serves two purposes:
14+
15+
1. Provide a human-readable definition of assets available in any Items
16+
belonging to this Collection so that the user can determine the key(s)
17+
of assets they are interested in.
18+
2. Provide a way to programmatically determine what assets are available
19+
in any member Item. Otherwise a random Item needs to be examined to
20+
determine assets available, but a random Item may not be representative of the set.
1221

1322
- Examples:
14-
- [Item example](examples/item.json): Shows the basic usage of the extension in a STAC Item
15-
- [Collection example](examples/collection.json): Shows the basic usage of the extension in a STAC Collection
23+
- [Landsat-8 Collection Example](examples/example-landsat8.json): Shows the basic usage of the extension in a STAC Collection
1624
- [JSON Schema](json-schema/schema.json)
1725
- [Changelog](./CHANGELOG.md)
1826

19-
## Item Properties and Collection Fields
27+
## Collection Fields
2028

21-
| Field Name | Type | Description |
22-
| -------------------- | ------------------------- | ----------- |
23-
| template:new_field | string | **REQUIRED**. Describe the required field... |
24-
| template:xyz | [XYZ Object](#xyz-object) | Describe the field... |
25-
| template:another_one | \[number] | Describe the field... |
29+
This extension introduces a single new field, `item_assets` at the top level of a Collection.
30+
An Asset Object defined at the Collection level is nearly the same as the
31+
[Asset Object in Items](https://github.com/radiantearth/stac-spec/tree/v1.0.0-rc.1/item-spec/item-spec.md#asset-object), except for two differences.
32+
The `href` field is not required, because Collections don't point to any data by themselves, but at least two other fields must be present.
2633

27-
### Additional Field Information
34+
| Field Name | Type | Description |
35+
| ----------- | ------------------------------------------ | ----------- |
36+
| item_assets | Map<string, [Asset Object](#asset-object)> | **REQUIRED.** A dictionary of assets that can be found in member Items |
2837

29-
#### template:new_field
38+
### Asset Object
3039

31-
This is a much more detailed description of the field `template:new_field`...
40+
An asset is an object that contains details about the datafiles that will be included in member Items.
41+
Assets included at the Collection level do not imply that all assets are available from all Items.
42+
However, it is recommended that the Asset Definition is a complete set of all assets that may be available from any member Items.
3243

33-
### XYZ Object
44+
| Field Name | Type | Description |
45+
| ----------- | --------- | ----------- |
46+
| title | string | The displayed title for clients and users. |
47+
| description | string | A description of the Asset providing additional details, such as how it was processed or created. [CommonMark 0.29](http://commonmark.org/) syntax MAY be used for rich text representation. |
48+
| type | string | [Media type](https://github.com/radiantearth/stac-spec/tree/v1.0.0-rc.1/catalog-spec/catalog-spec.md#media-types) of the asset. |
49+
| roles | \[string] | The [semantic roles](https://github.com/radiantearth/stac-spec/tree/v1.0.0-rc.1/item-spec/item-spec.md#asset-role-types) of the asset, similar to the use of `rel` in links. |
3450

35-
This is the introduction for the purpose and the content of the XYZ Object...
51+
Other custom fields, or fields from other extensions may also be included in the Asset object.
3652

37-
| Field Name | Type | Description |
38-
| ----------- | ------ | ----------- |
39-
| x | number | **REQUIRED**. Describe the required field... |
40-
| y | number | **REQUIRED**. Describe the required field... |
41-
| z | number | **REQUIRED**. Describe the required field... |
53+
Any property that exists for a Collection-level asset object must also exist in the corresponding assets object in
54+
each Item. If a collection's asset object contains properties that are not explicitly stated in the Item's asset
55+
object then that property does not apply to the item's asset. Item asset objects at the Collection-level can
56+
describe any of the properties of an asset, but those assets properties and values must also reside in the item's
57+
asset object. To consolidate item-level asset object properties in an API setting, consider storing the STAC Item
58+
objects without the larger properties internally as 'invalid' STAC items, and merge in the desired properties at
59+
serving time from the Collection-level.
4260

43-
## Relation types
61+
At least two fields (e.g. `title` and `type`) are required to be provided, in order for it to adequately describe Item assets.
62+
The two fields must not necessarily be taken from the list above and may include any custom field.
4463

45-
The following types should be used as applicable `rel` types in the
46-
[Link Object](https://github.com/radiantearth/stac-spec/tree/master/item-spec/item-spec.md#link-object).
64+
## Implementations
4765

48-
| Type | Description |
49-
| ------------------- | ----------- |
50-
| fancy-rel-type | This link points to a fancy resource. |
66+
- AWS Public Dataset catalogs, [landsat-8](http://landsat-stac.s3.amazonaws.com/landsat-8-l1/catalog.json)
67+
- and [sentinel-2](http://sentinel-stac.s3.amazonaws.com/sentinel-2-l1c/catalog.json) define an Asset definition at the Collection level.

examples/collection.json

Lines changed: 0 additions & 71 deletions
This file was deleted.

0 commit comments

Comments
 (0)