Skip to content

Commit

Permalink
Implemented changes discussed in the last meeting (removing host, mak…
Browse files Browse the repository at this point in the history
…ring datasets required etc.)

Related issues: #225, #194, #148, #136, #78, #36.
  • Loading branch information
m-mohr committed Oct 5, 2018
1 parent 9f3a5f3 commit 9ec7183
Show file tree
Hide file tree
Showing 14 changed files with 33 additions and 124 deletions.
1 change: 0 additions & 1 deletion catalog-spec/catalog-spec.md
Original file line number Diff line number Diff line change
Expand Up @@ -149,6 +149,5 @@ The following types are commonly used as `rel` types in the Link Object of a Dat
| parent | URL to the parent [STAC Catalog](../catalog-spec/). Non-root catalogs should include a link to their parent. |
| child | URL to a child [STAC Catalog](../catalog-spec/). |
| item | URL to a [STAC Item](../item-spec/). |
| license | The license URL for the catalog SHOULD be specified if the `license` field is set to `proprietary`. If there is no public license URL available, it is RECOMMENDED to supplement the STAC catalog with the license text in a separate file and link to this file. |

**Note:** A link to at least one `item` or `child` catalog is _required_.
25 changes: 5 additions & 20 deletions dataset-spec/dataset-spec.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,9 @@ Implementations are encouraged, however, as good effort will be made to not chan
| title | string | A short descriptive one-line title for the dataset. |
| description | string | **REQUIRED.** Detailed multi-line description to fully explain the entity. [CommonMark 0.28](http://commonmark.org/) syntax MAY be used for rich text representation. |
| keywords | [string] | List of keywords describing the dataset. |
| version | string | Version of the dataset. [Semantic Versioning (SemVer)](https://semver.org/) SHOULD be followed. |
| version | string | Version of the dataset. |
| license | string | **REQUIRED.** Dataset's license(s) as a SPDX [License identifier](https://spdx.org/licenses/) or [expression](https://spdx.org/spdx-specification-21-web-version#h.jxpfx0ykyb60) or `proprietary` if the license is not on the SPDX license list. Proprietary licensed data SHOULD add a link to the license text, see the `license` relation type. |
| provider | [Provider Object] | A list of data providers, the organizations which influenced the content of the dataset. Providers should be listed in chronological order with the most recent provider being the last element of the list. |
| host | Host Object | Storage provider, the organization that hosts the dataset. |
| provider | [Provider Object] | A list of providers, which may include all organizations capturing or processing the data or the hosting provider. Providers should be listed in chronological order with the most recent provider being the last element of the list. |
| extent | [Extent Object] | **REQUIRED.** Spatial and temporal extents. |
| links | [Link Object] | **REQUIRED.** A list of references to other documents. |

Expand Down Expand Up @@ -52,28 +51,14 @@ The coordinate reference system of the values is WGS84 longitude/latitude.

### Provider Object

The object provides information about a provider. A provider is any of the organizations that created or processed the content of the dataset and therefore influenced the data offered by this dataset.
The object provides information about a provider. A provider is any of the organizations that captured or processed the content of the dataset and therefore influenced the data offered by this dataset. May also include information about the final storage provider hosting the data.

| Field Name | Type | Description |
| ---------- | ------ | ------------------------------------------------------------ |
| name | string | **REQUIRED.** The name of the organization or the individual. |
| type | string | The type of provider. Any of `producer`, `processor` or `host`. |
| url | string | Homepage of the provider. |

### Host Object

The objects provides information about the storage provider hosting the data.

**Note:** The idea of storage profiles is currently [discussed](https://github.com/radiantearth/stac-spec/issues/148). Therefore, scheme, id and region may be removed from the final spec once this concept is introduced to STAC.

| Field Name | Type | Description |
| -------------- | ------- | ------------------------------------------------------------ |
| name | string | **REQUIRED.** The name of the organization or the individual hosting the data. |
| description | string | Detailed description to explain the hosting details. [CommonMark 0.28](http://commonmark.org/) syntax MAY be used for rich text representation. |
| scheme | string | **REQUIRED.** The protocol/scheme used to access the data. Any of: `S3`, `GCS`, `URL`, `OTHER` |
| id | string | **REQUIRED.** Host-specific identifier such as an URL or asset id. |
| region | string | Provider specific region where the data is stored. |
| requester_pays | boolean | `true` if requester pays, `false` if host pays. Defaults to `false`. |

### Link Object

This object describes a relationship with another entity. Data providers are advised to be liberal with links.
Expand All @@ -97,7 +82,7 @@ The following types are commonly used as `rel` types in the Link Object of a Dat
| item | URL to a [STAC Item](../item-spec/). |
| license | The license URL for the dataset SHOULD be specified if the `license` field is set to `proprietary`. If there is no public license URL available, it is RECOMMENDED to supplement the STAC catalog with the license text in a separate file and link to this file. |

**Note:** The [catalog specification](../catalog-spec/catalog-spec.md) requires a link to at least one `item` or `child` catalog. This is _not_ a requirement for datasets, but _recommended_.
**Note:** The [catalog specification](../catalog-spec/catalog-spec.md) requires a link to at least one `item` or `child` catalog. This is _not_ a requirement for datasets, but _strongly recommended_.

## Extensions

Expand Down
1 change: 1 addition & 0 deletions dataset-spec/examples/sentinel2.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
"provider": [
{
"name": "European Union/ESA/Copernicus",
"type": "producer",
"url": "https://sentinel.esa.int/web/sentinel/user-guides/sentinel-2-msi"
}
],
Expand Down
52 changes: 10 additions & 42 deletions dataset-spec/json-schema/dataset.json
Original file line number Diff line number Diff line change
Expand Up @@ -45,9 +45,18 @@
"items": {
"properties": {
"name": {
"title": "Organization Name",
"title": "Organization name",
"type": "string"
},
"type": {
"title": "Organization type",
"type": "string",
"enum": [
"producer",
"processor",
"host"
]
},
"url": {
"title": "Organization homepage",
"type": "string",
Expand All @@ -56,47 +65,6 @@
}
}
},
"host": {
"required": [
"name",
"scheme",
"id"
],
"properties": {
"name": {
"title": "Organization name",
"type": "string"
},
"description": {
"title": "Description",
"type": "string"
},
"scheme": {
"title": "Scheme",
"type": "string",
"enum": [
"S3",
"GCS",
"URL",
"OTHER"
]
},
"id": {
"title": "Identifirer",
"type": "string"
},
"region": {
"title": "Region",
"type": "string"
},
"requester_pays": {
"title": "Requester Pays",
"type": "boolean",
"default": false
}
},
"additionalProperties": true
},
"extent": {
"title": "Extents",
"type": "object",
Expand Down
6 changes: 2 additions & 4 deletions item-spec/examples/CBERS_4_MUX_20170528_090_084_L2.json
Original file line number Diff line number Diff line change
Expand Up @@ -38,8 +38,6 @@
},
"properties": {
"datetime": "2017-05-28T09:01:17Z",
"provider": "INPE",
"eo:collection": "default",
"eo:sun_azimuth": 66.2923,
"eo:sun_elevation": 70.3079,
"eo:off_nadir": -0.00744884,
Expand All @@ -54,11 +52,11 @@
"href": "https://cbers-stac.s3.amazonaws.com/CBERS4/MUX/090/084/CBERS_4_MUX_20170528_090_084_L2.json"
},
{
"rel": "catalog",
"rel": "parent",
"href": "https://cbers-stac.s3.amazonaws.com/CBERS4/MUX/090/catalog.json"
},
{
"rel": "collection",
"rel": "dataset",
"href": "https://cbers-stac.s3.amazonaws.com/collections/CBERS_4_MUX_L2_collection.json"
}
],
Expand Down
6 changes: 2 additions & 4 deletions item-spec/examples/digitalglobe-sample.json
Original file line number Diff line number Diff line change
Expand Up @@ -80,17 +80,15 @@
"dg:platform": "WORLDVIEW02",
"dg:product_level": "LV1B",
"dg:product": "WORLDVIEW02_LV1B",
"datetime": "2015-11-09T18:04:46.000Z",
"provider": "DigitalGlobe",
"license": "(C) COPYRIGHT 2016 DigitalGlobe, Inc., Longmont CO USA 80503"
"datetime": "2015-11-09T18:04:46.000Z"
},
"links": [
{
"rel": "self",
"href": "https://s3.amazonaws.com/digitalglobe-catalog-spec/collections/dg_worldview02_LV1B/103001004B316600_P002_MUL"
},
{
"rel": "collection",
"rel": "dataset",
"href": "https://s3.amazonaws.com/digitalglobe-catalog-spec/collections/dg_worldview02_LV1B.json"
}
]
Expand Down
5 changes: 1 addition & 4 deletions item-spec/examples/landsat8-sample.json
Original file line number Diff line number Diff line change
Expand Up @@ -34,8 +34,6 @@

"properties": {
"datetime": "2014-06-02T09:22:02Z",
"provider": "USGS",
"license": "PDDL-1.0",
"c:id": "L1T",
"c:name": "Landsat L1T",
"c:description": "Landat 8 imagery that is radiometrically calibrated and orthorectified using ground points and Digital Elevation Model (DEM) data to correct relief displacement.",
Expand All @@ -61,8 +59,7 @@
"links": [
{ "rel":"self", "href": "http://landsat-pds.s3.amazonaws.com/L8/153/025/LC81530252014153LGN00/LC81530252014153LGN00.json"},
{ "rel":"alternate", "href": "https://landsatonaws.com/L8/153/025/LC81530252014153LGN00", "type": "html"},
{ "rel":"catalog", "href": "http://landsat-pds.s3.amazonaws.com/L8/catalog.json"},
{ "rel":"collection", "href": "http://landsat-pds.s3.amazonaws.com/L8/L1T-collection.json"}
{ "rel":"dataset", "href": "http://landsat-pds.s3.amazonaws.com/L8/L1T-collection.json"}
],

"assets" :{
Expand Down
1 change: 0 additions & 1 deletion item-spec/examples/planet-sample.json
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,6 @@
"id": "20171110_121030_1013",
"properties": {
"datetime": "2017-11-10T12:10:30.535417Z",
"provider": "Planet",
"eo:cloud_cover": 23,
"eo:gsd": 4,
"eo:sun_azimuth": 101.8,
Expand Down
4 changes: 1 addition & 3 deletions item-spec/examples/sample-full.json
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,6 @@
},
"properties": {
"datetime": "2016-05-03T13:22:30.040Z",
"provider": "http://www.cool-sat.com",
"license": "CC-BY-4.0",
"eo:sun_azimuth": 168.7,
"eo:cloud_cover": 0.12,
"eo:off_nadir": 1.4,
Expand All @@ -35,7 +33,7 @@
"links": [
{"rel": "self", "href": "http://cool-sat.com/catalog/CS3-20160503_132130_04/CS3-20160503_132130_04.json"},
{"rel": "thumbnail", "href":"thumbnail.png"},
{"rel": "catalog", "href": "http://cool-sat.com/catalog/"},
{"rel": "dataset", "href": "http://cool-sat.com/catalog/"},
{"rel": "acquisition", "href": "http://cool-sat.com/catalog/acquisitions/20160503_56"}
],
"assets": {
Expand Down
7 changes: 3 additions & 4 deletions item-spec/examples/sample.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,11 @@
]
},
"properties": {
"datetime": "2016-05-03T13:21:30.040Z",
"provider": "http://www.cool-sat.com",
"license": "CC-BY-4.0"
"datetime": "2016-05-03T13:21:30.040Z"
},
"links": [
{ "rel": "self", "href": "http://cool-sat.com/catalog/CS3-20160503_132130_04/CS3-20160503_132130_04.json"}
{ "rel": "self", "href": "http://cool-sat.com/catalog/CS3-20160503_132130_04/CS3-20160503_132130_04.json"},
{ "rel": "dataset", "href": "http://cool-sat.com/catalog.json"}
],
"assets": {
"analytic": {
Expand Down
6 changes: 5 additions & 1 deletion item-spec/examples/sentinel2-sample.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,11 @@
"links": [
{
"rel": "self",
"href": "s3://sentinel-s2-l2a-catalog/tiles/35/V/MK/2018/6/5/0/catalog.json"
"href": "s3://sentinel-s2-l2a-catalog/tiles/35/V/MK/2018/6/5/0/sentinel2-sample.json"
},
{
"rel": "dataset",
"href": "s3://sentinel-s2-l2a-catalog/catalog.json"
}
],
"bbox": [
Expand Down
6 changes: 2 additions & 4 deletions item-spec/item-spec.md
Original file line number Diff line number Diff line change
Expand Up @@ -64,8 +64,6 @@ custom fields.
| Field Name | Type | Name | Description |
| ---------- | ------ | ------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| datetime | string | Date and Time | **REQUIRED.** The searchable date and time of the assets, in UTC. It is formatted according to [RFC 3339, section 5.6](https://tools.ietf.org/html/rfc3339#section-5.6). |
| provider | string | Provider | Provider name |
| license | string | Data License | Items' license(s) as a SPDX [License identifier](https://spdx.org/licenses/) or [expression](https://spdx.org/spdx-specification-21-web-version#h.jxpfx0ykyb60) or `proprietary` if the license is not on the SPDX license list. Proprietary licensed data SHOULD add a link to the license text, see the `license` relation type. |

**datetime** is likely the acquisition (in the case of single camera type captures) or the 'nominal'
or representative time in the case of assets that are combined together. Though time can be a
Expand Down Expand Up @@ -98,7 +96,7 @@ The following types are commonly used as `rel` types in the Link Object of an It
| self | **REQUIRED.** _Absolute_ URL to the item file itself. This is required, to represent the location that the file can be found online. This is particularly useful when in a download package that includes metadata, so that the downstream user can know where the data has come from. |
| root | URL to the root [STAC Catalog](../catalog-spec/) or [Dataset](../dataset-spec/). |
| parent | URL to the parent [STAC Catalog](../catalog-spec/) or [Dataset](../dataset-spec/). |
| license | The license URL for the item SHOULD be specified if the `license` field is set to `proprietary`. If there is no public license URL available, it is RECOMMENDED to supplement the STAC catalog with the license text in a separate file and link to this file. |
| dataset | **REQUIRED.** URL to a [STAC Dataset](../dataset-spec/). |

#### Relative vs Absolute links

Expand All @@ -110,7 +108,7 @@ link is required to be absolute.

#### Datasets

Items are *strongly recommended* to provide a link to a dataset definition.
Items are *required* to provide a link to a dataset definition.

### Asset Object

Expand Down
35 changes: 0 additions & 35 deletions item-spec/json-schema/stac-item.json
Original file line number Diff line number Diff line change
Expand Up @@ -64,22 +64,6 @@
"description": "The searchable date/time of the assets, in UTC (Formatted in RFC 3339) ",
"type": "string",
"format": "date-time"
},
"provider": {
"title": "Provider",
"description": "Provider name and contact",
"oneOf": [
{
"type": "string"
},
{
"$ref": "#/definitions/entity"
}
]
},
"license": {
"title": "Data license",
"description": "Data license name based on SPDX License List"
}
}
}
Expand Down Expand Up @@ -118,25 +102,6 @@
"type": "string"
}
}
},
"entity": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"email": {
"type": "string",
"format": "email"
},
"phone": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri"
}
}
}
}
}
2 changes: 1 addition & 1 deletion validation/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -53,5 +53,5 @@ This example runs the validation for the scientific extension, please change the
To run the validation for an item file:

```bash
npm run validate_item -- -d ../item-spec/sample.json
npm run validate_item -- -d ../item-spec/examples/sample.json
```

0 comments on commit 9ec7183

Please sign in to comment.