-
Notifications
You must be signed in to change notification settings - Fork 189
asset definition extension added #552
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
Merged
Merged
Changes from all commits
Commits
Show all changes
11 commits
Select commit
Hold shift + click to select a range
d476a99
asset definition extension added
matthewhanson 93d3b5b
update changelog
matthewhanson 534bd06
Merge branch 'dev' of github.com:radiantearth/stac-spec into asset_de…
matthewhanson 164a05b
asset def ext - remove prefix and add note on other fields
matthewhanson 006f862
asset def ext: update json schema and example
matthewhanson 418c7df
Fixed JSON Schema, improved/fixed links in README.
m-mohr d9bd6c0
Merge branch 'dev' of github.com:radiantearth/stac-spec into asset_de…
matthewhanson 9ee1be0
updated readme
matthewhanson 3535655
Merge branch 'asset_definition' of github.com:radiantearth/stac-spec …
matthewhanson e18781d
Merge branch 'dev' into asset_definition
cholmes 094c109
Fixed example
m-mohr File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,39 @@ | ||
| # Asset Definition Specification | ||
|
|
||
| **Extension [Maturity Classification](../README.md#extension-maturity): Proposal** | ||
|
|
||
| A Collection extension to provide details about assets that are available in member Items. | ||
|
|
||
| - [Example](examples/example-landsat8.json) | ||
| - [JSON Schema](json-schema/schema.json) | ||
|
|
||
| This extension serves two purposes: | ||
|
|
||
| 1. Provide a human-readable definition of assets available in any Items belonging to this Collection so that the user can determine the key(s) of assets they are interested in. | ||
| 2. Provide a way to programmatically determine what assets are available in any member Item. Otherwise a random Item needs to be examined to determine assets available, but a random Item may not be representative of the set. | ||
|
|
||
| ## Collection fields | ||
|
|
||
| This extension introduces a single new field, `assets` at the top level of a collection. | ||
| An Asset Object defined at the Collection level is nearly the same as the [Asset Object in Items](../../item-spec/item-spec.md#asset-object), except for two differences. | ||
| The `href` field is not required, because collections don't point to any data by themselves. | ||
| Additioanlly the remaining fields, `title` and `type` are required in the Asset Definition, in order for it to adequately describe Item assets. | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Minor type on 'Additionally' |
||
|
|
||
| | Field Name | Type | Description | | ||
| | ------------------ | ------ | ------------------------------------------------------------ | | ||
| | assets | Map<string, [Asset Object](#asset-object)> | **REQUIRED.** A dictionary of assets that can be found in member Items | | ||
|
|
||
| ### Asset Object | ||
|
|
||
| An asset is an object that contains details about the datafiles that will be included in member Items. Assets included at the Collection level do not imply that all assets are available from all Items. However, it is recommended that the Asset Definition is a complete set of all assets that may be available from any member Items. | ||
m-mohr marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
|
||
| | Field Name | Type | Description | | ||
| | ---------- | ------ | ------------------------------------------------------------------------------------- | | ||
| | title | string | **REQUIRED.** The displayed title for clients and users. This should provide enough information to a user to understand what the asset is | | ||
| | type | string | **REQUIRED.** [Media type](#media-types) of the asset. | ||
|
|
||
| Other custom fields, or fields from other extensions may also be included in the Asset object. | ||
|
|
||
| ## Implementations | ||
|
|
||
| - AWS Public Dataset catalogs, [landsat-8](http://landsat-stac.s3.amazonaws.com/landsat-8-l1/catalog.json) and [sentinel-2](http://sentinel-stac.s3.amazonaws.com/sentinel-2-l1c/catalog.json) define an Asset definition at the collection level. | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,248 @@ | ||
| { | ||
| "id": "landsat-8-l1", | ||
| "title": "Landsat 8 L1", | ||
| "description": "Landat 8 imagery radiometrically calibrated and orthorectified using gound points and Digital Elevation Model (DEM) data to correct relief displacement.", | ||
| "keywords": [ | ||
| "landsat", | ||
| "earth observation", | ||
| "usgs" | ||
| ], | ||
| "version": "0.1.0", | ||
| "stac_version": "0.8.0", | ||
| "extent": { | ||
| "spatial": { | ||
| "bbox": [ | ||
| [ | ||
| -180, | ||
| -90, | ||
| 180, | ||
| 90 | ||
| ] | ||
| ] | ||
| }, | ||
| "temporal": { | ||
| "interval": [ | ||
| [ | ||
| "2013-06-01T00:00:00Z", | ||
| null | ||
| ] | ||
| ] | ||
| } | ||
| }, | ||
| "providers": [ | ||
| { | ||
| "name": "USGS", | ||
| "roles": [ | ||
| "producer" | ||
| ], | ||
| "url": "https://landsat.usgs.gov/" | ||
| }, | ||
| { | ||
| "name": "Planet Labs", | ||
| "roles": [ | ||
| "processor" | ||
| ], | ||
| "url": "https://github.com/landsat-pds/landsat_ingestor" | ||
| }, | ||
| { | ||
| "name": "AWS", | ||
| "roles": [ | ||
| "host" | ||
| ], | ||
| "url": "https://landsatonaws.com/" | ||
| }, | ||
| { | ||
| "name": "Development Seed", | ||
| "roles": [ | ||
| "processor" | ||
| ], | ||
| "url": "https://github.com/sat-utils/sat-api" | ||
| } | ||
| ], | ||
| "license": "PDDL-1.0", | ||
| "properties": { | ||
| "eo:gsd": 15, | ||
| "eo:platform": "landsat-8", | ||
| "eo:instrument": "OLI_TIRS", | ||
| "eo:off_nadir": 0, | ||
| "eo:bands": [ | ||
| { | ||
| "name": "B1", | ||
| "common_name": "coastal", | ||
| "gsd": 30, | ||
| "center_wavelength": 0.44, | ||
| "full_width_half_max": 0.02 | ||
| }, | ||
| { | ||
| "name": "B2", | ||
| "common_name": "blue", | ||
| "gsd": 30, | ||
| "center_wavelength": 0.48, | ||
| "full_width_half_max": 0.06 | ||
| }, | ||
| { | ||
| "name": "B3", | ||
| "common_name": "green", | ||
| "gsd": 30, | ||
| "center_wavelength": 0.56, | ||
| "full_width_half_max": 0.06 | ||
| }, | ||
| { | ||
| "name": "B4", | ||
| "common_name": "red", | ||
| "gsd": 30, | ||
| "center_wavelength": 0.65, | ||
| "full_width_half_max": 0.04 | ||
| }, | ||
| { | ||
| "name": "B5", | ||
| "common_name": "nir", | ||
| "gsd": 30, | ||
| "center_wavelength": 0.86, | ||
| "full_width_half_max": 0.03 | ||
| }, | ||
| { | ||
| "name": "B6", | ||
| "common_name": "swir16", | ||
| "gsd": 30, | ||
| "center_wavelength": 1.6, | ||
| "full_width_half_max": 0.08 | ||
| }, | ||
| { | ||
| "name": "B7", | ||
| "common_name": "swir22", | ||
| "gsd": 30, | ||
| "center_wavelength": 2.2, | ||
| "full_width_half_max": 0.2 | ||
| }, | ||
| { | ||
| "name": "B8", | ||
| "common_name": "pan", | ||
| "gsd": 15, | ||
| "center_wavelength": 0.59, | ||
| "full_width_half_max": 0.18 | ||
| }, | ||
| { | ||
| "name": "B9", | ||
| "common_name": "cirrus", | ||
| "gsd": 30, | ||
| "center_wavelength": 1.37, | ||
| "full_width_half_max": 0.02 | ||
| }, | ||
| { | ||
| "name": "B10", | ||
| "common_name": "lwir11", | ||
| "gsd": 100, | ||
| "center_wavelength": 10.9, | ||
| "full_width_half_max": 0.8 | ||
| }, | ||
| { | ||
| "name": "B11", | ||
| "common_name": "lwir12", | ||
| "gsd": 100, | ||
| "center_wavelength": 12, | ||
| "full_width_half_max": 1 | ||
| } | ||
| ] | ||
| }, | ||
| "assets": { | ||
| "index": { | ||
| "type": "text/html", | ||
| "title": "HTML index page" | ||
| }, | ||
| "thumbnail": { | ||
| "title": "Thumbnail image", | ||
| "type": "image/jpeg" | ||
| }, | ||
| "B1": { | ||
| "type": "image/vnd.stac.geotiff", | ||
| "eo:bands": [ | ||
| 0 | ||
| ], | ||
| "title": "Band 1 (coastal)" | ||
| }, | ||
| "B2": { | ||
| "type": "image/vnd.stac.geotiff", | ||
| "eo:bands": [ | ||
| 1 | ||
| ], | ||
| "title": "Band 2 (blue)" | ||
| }, | ||
| "B3": { | ||
| "type": "image/vnd.stac.geotiff", | ||
| "eo:bands": [ | ||
| 2 | ||
| ], | ||
| "title": "Band 3 (green)" | ||
| }, | ||
| "B4": { | ||
| "type": "image/vnd.stac.geotiff", | ||
| "eo:bands": [ | ||
| 3 | ||
| ], | ||
| "title": "Band 4 (red)" | ||
| }, | ||
| "B5": { | ||
| "type": "image/vnd.stac.geotiff", | ||
| "eo:bands": [ | ||
| 4 | ||
| ], | ||
| "title": "Band 5 (nir)" | ||
| }, | ||
| "B6": { | ||
| "type": "image/vnd.stac.geotiff", | ||
| "eo:bands": [ | ||
| 5 | ||
| ], | ||
| "title": "Band 6 (swir16)" | ||
| }, | ||
| "B7": { | ||
| "type": "image/vnd.stac.geotiff", | ||
| "eo:bands": [ | ||
| 6 | ||
| ], | ||
| "title": "Band 7 (swir22)" | ||
| }, | ||
| "B8": { | ||
| "type": "image/vnd.stac.geotiff", | ||
| "eo:bands": [ | ||
| 7 | ||
| ], | ||
| "title": "Band 8 (pan)" | ||
| }, | ||
| "B9": { | ||
| "type": "image/vnd.stac.geotiff", | ||
| "eo:bands": [ | ||
| 8 | ||
| ], | ||
| "title": "Band 9 (cirrus)" | ||
| }, | ||
| "B10": { | ||
| "type": "image/vnd.stac.geotiff", | ||
| "eo:bands": [ | ||
| 9 | ||
| ], | ||
| "title": "Band 10 (lwir)" | ||
| }, | ||
| "B11": { | ||
| "type": "image/vnd.stac.geotiff", | ||
| "eo:bands": [ | ||
| 10 | ||
| ], | ||
| "title": "Band 11 (lwir)" | ||
| }, | ||
| "ANG": { | ||
| "title": "Angle coefficients file", | ||
| "type": "text/plain" | ||
| }, | ||
| "MTL": { | ||
| "title": "original metadata file", | ||
| "type": "text/plain" | ||
| }, | ||
| "BQA": { | ||
| "title": "Band quality data", | ||
| "type": "image/vnd.stac.geotiff" | ||
| } | ||
| }, | ||
| "links": [] | ||
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,48 @@ | ||
| { | ||
| "$schema": "http://json-schema.org/draft-07/schema#", | ||
| "$id": "stac-extension-asset.json#", | ||
| "title": "Asset Definition Extension Specification", | ||
| "description": "STAC Asset Definition Extension to a STAC Collection", | ||
| "allOf": [ | ||
| { | ||
| "$ref": "../../../collection-spec/json-schema/collection.json" | ||
| }, | ||
| { | ||
| "$ref": "#/definitions/assets" | ||
| } | ||
| ], | ||
| "definitions": { | ||
| "assets": { | ||
| "title": "Asset schemas", | ||
| "type": "object", | ||
| "required": [ | ||
| "assets" | ||
| ], | ||
| "properties": { | ||
| "assets": { | ||
| "type": "object", | ||
| "additionalProperties": { | ||
| "$ref": "#/definitions/asset" | ||
| } | ||
| } | ||
| } | ||
| }, | ||
| "asset": { | ||
| "type": "object", | ||
| "required": [ | ||
| "title", | ||
| "type" | ||
| ], | ||
| "properties": { | ||
| "title": { | ||
| "title": "Asset title", | ||
| "type": "string" | ||
| }, | ||
| "type": { | ||
| "title": "Asset type", | ||
| "type": "string" | ||
| } | ||
| } | ||
| } | ||
| } | ||
| } |
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we should include more 'why' - what are the use cases for an implementor to make use of this. Not sure if this is the exact right place. But a bit more here would be good, and maybe flesh out more of it down below.