Skip to content

Commit

Permalink
Merge branch 'dev' for 0.5.1 release
Browse files Browse the repository at this point in the history
  • Loading branch information
cholmes committed Jul 6, 2018
2 parents 75d6739 + d05e420 commit 086e6b7
Show file tree
Hide file tree
Showing 10 changed files with 113 additions and 71 deletions.
4 changes: 2 additions & 2 deletions api-spec/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ pageable links to iterate through any results past that limit.

The definitive specification for STAC is the [OpenAPI](http://openapis.org) 3.0 yaml document. This is available
in several forms. The most straightforward for an implementor new to STAC is the [STAC-standalone.yaml](STAC-standalone.yaml).
This gives a complete service with the main STAC endpoint. See the [online documentation](https://app.swaggerhub.com/apis/cholmesgeo/STAC-standalone/0.4.1) for the api rendered interactively.
This gives a complete service with the main STAC endpoint. See the [online documentation](https://app.swaggerhub.com/apis/cholmesgeo/STAC-standalone/) for the api rendered interactively.

An OpenAPI 2.0 (swagger) version is also available ([WFS3core+STAC-swagger2.yaml](WFS3core+STAC-swagger2.yaml)), which can be useful for autogenerating client and server code.

Expand All @@ -62,7 +62,7 @@ decision was made to integrate STAC with the [WFS 3 specification](https://githu
they are quite similar in spirit and intention. It is anticipated that most STAC implementations will also implement
WFS, and indeed most additional functionality that extends STAC will be done as WFS extensions.

This folder thus also provides an [openapi fragment](STAC-fragment.yaml), as well as an [example service](https://app.swaggerhub.com/apis/cholmesgeo/STAC_WFS-example/0.4.1) ([yaml](WFS3core+STAC.yaml))
This folder thus also provides an [openapi fragment](STAC-fragment.yaml), as well as an [example service](https://app.swaggerhub.com/apis/cholmesgeo/STAC_WFS-example/) ([yaml](WFS3core+STAC.yaml))
for those interested in what a server that implements both STAC and WFS would look like. Those interested in learning more
can read the [deeper discussion of WFS integration](wfs-stac.md).

Expand Down
51 changes: 30 additions & 21 deletions api-spec/STAC-fragment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -263,13 +263,28 @@ components:
properties:
$ref: '#/components/schemas/itemProperties'
links:
type: array
items:
$ref: '#/components/schemas/link'
type: object
additionalProperties:
type: object
required:
- href
- rel
properties:
href:
type: string
rel:
type: string
assets:
type: array
items:
$ref: '#/components/schemas/asset'
type: object
additionalProperties:
type: object
required:
- href
properties:
href:
type: string
name:
type: string
example:
type: Feature
id: CS3-20160503_132130_04
Expand All @@ -296,25 +311,19 @@ components:
provider: 'http://www.cool-sat.com'
license: CC-BY-4.0
links:
- rel: self
href: http://cool-sat.com/catalog/collections/cs/items/CS3-20160503_132130_04.json
self:
rel: self
href: >-
http://cool-sat.com/catalog/collections/cs/items/CS3-20160503_132130_04.json
assets:
analytic:
name: 4-Band Analytic
href: http://cool-sat.com/catalog/collections/cs/items/CS3-20160503_132130_04/analytic.tif
thumbnail:
href: >-
http://cool-sat.com/catalog/collections/cs/items/CS3-20160503_132130_04/analytic.tif
thumbnail:
name: thumbnail
href: 'http://cool-sat.com/catalog/collections/cs/items/CS3-20160503_132130_04/thumb.png'
asset:
type: object
required:
- href
properties:
href:
type: string
name:
type: string
example: prev
href: >-
http://cool-sat.com/catalog/collections/cs/items/CS3-20160503_132130_04/thumb.png
itemProperties:
type: object
required:
Expand Down
19 changes: 14 additions & 5 deletions api-spec/STAC-standalone-swagger2.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
swagger: '2.0'
info:
title: The SpatioTemporal Asset Catalog API (standalone)
version: 0.4.1
version: 0.5.1
description: >-
This is an OpenAPI definition of the core SpatioTemporal Asset Catalog API
specification. Any service that implements this endpoint to allow search of
Expand Down Expand Up @@ -354,9 +354,17 @@ definitions:
properties:
$ref: '#/definitions/itemProperties'
links:
type: array
items:
$ref: '#/definitions/link'
type: object
additionalProperties:
type: object
required:
- href
- rel
properties:
href:
type: string
rel:
type: string
assets:
type: object
additionalProperties:
Expand Down Expand Up @@ -394,7 +402,8 @@ definitions:
provider: 'http://www.cool-sat.com'
license: CC-BY-4.0
links:
- rel: self
self:
rel: self
href: >-
http://cool-sat.com/catalog/collections/cs/items/CS3-20160503_132130_04.json
assets:
Expand Down
19 changes: 14 additions & 5 deletions api-spec/STAC-standalone.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
openapi: 3.0.1
info:
title: The SpatioTemporal Asset Catalog API (standalone)
version: 0.4.1
version: 0.5.1
description: >-
This is an OpenAPI definition of the core SpatioTemporal Asset Catalog API
specification. Any service that implements this endpoint to allow search of
Expand Down Expand Up @@ -398,9 +398,17 @@ components:
properties:
$ref: '#/components/schemas/itemProperties'
links:
type: array
items:
$ref: '#/components/schemas/link'
type: object
additionalProperties:
type: object
required:
- href
- rel
properties:
href:
type: string
rel:
type: string
assets:
type: object
additionalProperties:
Expand Down Expand Up @@ -438,7 +446,8 @@ components:
provider: 'http://www.cool-sat.com'
license: CC-BY-4.0
links:
- rel: self
self:
rel: self
href: >-
http://cool-sat.com/catalog/collections/cs/items/CS3-20160503_132130_04.json
assets:
Expand Down
2 changes: 1 addition & 1 deletion api-spec/WFS3core+STAC-swagger2.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
swagger: '2.0'
info:
title: STAC API integrated with OGC Web Feature Service standard
version: 0.4.1
version: 0.5.1
description: >-
This is an example OpenAPI specification of a SpatioTemporal Asset Catalog
API that also implements the OGC Web Feature Service 3.0 specification
Expand Down
19 changes: 14 additions & 5 deletions api-spec/WFS3core+STAC.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
openapi: 3.0.1
info:
title: STAC API integrated with OGC Web Feature Service standard
version: 0.4.1
version: 0.5.1
description: >-
This is an example OpenAPI specification of a SpatioTemporal Asset Catalog
API that also implements the OGC Web Feature Service 3.0 specification
Expand Down Expand Up @@ -743,9 +743,17 @@ components:
properties:
$ref: '#/components/schemas/itemProperties'
links:
type: array
items:
$ref: '#/components/schemas/link'
type: object
additionalProperties:
type: object
required:
- href
- rel
properties:
href:
type: string
rel:
type: string
assets:
type: object
additionalProperties:
Expand Down Expand Up @@ -783,7 +791,8 @@ components:
provider: 'http://www.cool-sat.com'
license: CC-BY-4.0
links:
- rel: self
self:
rel: self
href: >-
http://cool-sat.com/catalog/collections/cs/items/CS3-20160503_132130_04.json
assets:
Expand Down
5 changes: 3 additions & 2 deletions extensions/stac-collection-spec.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ A group of STAC `Item` objects from a single source can share a lot of common me
| element | type info | name | description |
|----------------------|---------------------------|-------------------------|---------------------------------------------------------------------------------------------|
| c:id | string | Collection ID | Machine readable ID for the collection
| c:name | string | Collection Name (optional) | A name given to the Collection, used for display
| c:name | string (optional) | Collection Name | A name given to the Collection, used for display
| c:description | string (optional) | Collection Description | A human readable description of the collection

A `Collection` does not have many specific fields, as it may contain any fields that are in the core spec as well as any other extension. This provides maximum flexibility to data providers, as some the set of common metadata fields can vary between different types of data. For instance, Landsat and Sentinel data always has a eo:off_nadir value of 0, because those satellites are always pointed downward (i.e., nadir), while satellite that can be pointed will have varying eo:off_nadir values.
Expand Down Expand Up @@ -61,6 +61,7 @@ The fields from the `Collection` record can be merged with an `Item` record to g
{
"id": "SCENE_001",
"properties": {
"c:id": "my_collection",
"datetime": "2017-01-01T00:00:00Z",
"geometry": {...}
},
Expand Down Expand Up @@ -188,4 +189,4 @@ This is an example `Collection` for Landsat-8 imagery and uses the [EO extension
"fwhm": 1.0
}
}
```
```
58 changes: 31 additions & 27 deletions json-spec/examples/CBERS_4_MUX_20170528_090_084_L2.json
Original file line number Diff line number Diff line change
@@ -1,48 +1,48 @@
{
"id": "CBERS_4_MUX_20180622_090_084_L2",
"id": "CBERS_4_MUX_20170528_090_084_L2",
"type": "Feature",
"bbox": [
23.501111,
13.70101,
24.848708,
14.987979
23.465111,
13.700498,
24.812825,
14.98818
],
"geometry": {
"type": "MultiPolygon",
"coordinates": [
[
[
[
23.499976,
13.891246
23.463987,
13.891487
],
[
24.603838,
13.724193
24.567134,
13.723733
],
[
24.847219,
14.787097
24.811268,
14.786396
],
[
23.738252,
14.954887
23.703021,
14.95489
],
[
23.499976,
13.891246
23.463987,
13.891487
]
]
]
]
},
"properties": {
"datetime": "2018-06-22T08:49:01Z",
"datetime": "2017-05-28T09:01:17Z",
"provider": "INPE",
"eo:collection": "default",
"eo:sun_azimuth": 64.4101,
"eo:sun_elevation": 66.0029,
"eo:off_nadir": -0.00805415,
"eo:sun_azimuth": 66.2923,
"eo:sun_elevation": 70.3079,
"eo:off_nadir": -0.00744884,
"eo:epsg": 32627,
"cbers:data_type": "L2",
"cbers:path": 90,
Expand All @@ -51,55 +51,59 @@
"links": {
"self": {
"rel": "self",
"href": "https://cbers-stac.s3.amazonaws.com/CBERS4/MUX/090/084/CBERS_4_MUX_20180622_090_084_L2.json"
"href": "https://cbers-stac.s3.amazonaws.com/CBERS4/MUX/090/084/CBERS_4_MUX_20170528_090_084_L2.json"
},
"catalog": {
"rel": "catalog",
"href": "https://cbers-stac.s3.amazonaws.com/CBERS4/MUX/090/catalog.json"
},
"cx:collection": {
"collection": {
"rel": "collection",
"href": "https://cbers-stac.s3.amazonaws.com/collections/CBERS_4_MUX_L2_collection.json"
}
},
"assets": {
"thumbnail": {
"href": "https://s3.amazonaws.com/cbers-meta-pds/CBERS4/MUX/090/084/CBERS_4_MUX_20180622_090_084_L2/CBERS_4_MUX_20180622_090_084.jpg",
"href": "https://s3.amazonaws.com/cbers-meta-pds/CBERS4/MUX/090/084/CBERS_4_MUX_20170528_090_084_L2/CBERS_4_MUX_20170528_090_084.jpg",
"required": true,
"type": "jpeg"
},
"metadata": {
"href": "s3://cbers-pds/CBERS4/MUX/090/084/CBERS_4_MUX_20180622_090_084_L2/CBERS_4_MUX_20180622_090_084_L2_BAND6.xml",
"href": "s3://cbers-pds/CBERS4/MUX/090/084/CBERS_4_MUX_20170528_090_084_L2/CBERS_4_MUX_20170528_090_084_L2_BAND6.xml",
"required": true,
"type": "xml"
},
"B5": {
"href": "s3://cbers-pds/CBERS4/MUX/090/084/CBERS_4_MUX_20180622_090_084_L2/CBERS_4_MUX_20180622_090_084_L2_BAND5.tif",
"href": "s3://cbers-pds/CBERS4/MUX/090/084/CBERS_4_MUX_20170528_090_084_L2/CBERS_4_MUX_20170528_090_084_L2_BAND5.tif",
"type": "GeoTIFF",
"format": "COG",
"required": true,
"eo_bands": [
"5"
]
},
"B6": {
"href": "s3://cbers-pds/CBERS4/MUX/090/084/CBERS_4_MUX_20180622_090_084_L2/CBERS_4_MUX_20180622_090_084_L2_BAND6.tif",
"href": "s3://cbers-pds/CBERS4/MUX/090/084/CBERS_4_MUX_20170528_090_084_L2/CBERS_4_MUX_20170528_090_084_L2_BAND6.tif",
"type": "GeoTIFF",
"format": "COG",
"required": true,
"eo_bands": [
"6"
]
},
"B7": {
"href": "s3://cbers-pds/CBERS4/MUX/090/084/CBERS_4_MUX_20180622_090_084_L2/CBERS_4_MUX_20180622_090_084_L2_BAND7.tif",
"href": "s3://cbers-pds/CBERS4/MUX/090/084/CBERS_4_MUX_20170528_090_084_L2/CBERS_4_MUX_20170528_090_084_L2_BAND7.tif",
"type": "GeoTIFF",
"format": "COG",
"required": true,
"eo_bands": [
"7"
]
},
"B8": {
"href": "s3://cbers-pds/CBERS4/MUX/090/084/CBERS_4_MUX_20180622_090_084_L2/CBERS_4_MUX_20180622_090_084_L2_BAND8.tif",
"href": "s3://cbers-pds/CBERS4/MUX/090/084/CBERS_4_MUX_20170528_090_084_L2/CBERS_4_MUX_20170528_090_084_L2_BAND8.tif",
"type": "GeoTIFF",
"format": "COG",
"required": true,
"eo_bands": [
"8"
Expand Down
5 changes: 3 additions & 2 deletions json-spec/examples/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,13 +18,14 @@ stac-item specification.
[Landsat on AWS](https://landsatonaws.com/) public data set could be a STAC static catalog. It includes the 'collection'
concept, which is explained more in the [/extensions/examples/ folder](../extensions/examples/).

**NAIP** The [NAIP sample](naip-sample.md) is a similar example to Landsat8, but focused on the NAIP dataset, which
**NAIP** The [NAIP sample](naip-sample.json) is a similar example to Landsat8, but focused on the NAIP dataset, which
is a bit different as it's aerial imagery instead of satellites. It demonstrates a few different patterns of how
an implementation can be approached.

**Planet** The [Planet sample](planet-sample.md) is an adaption of Planet's [Data API](https://www.planet.com/docs/reference/data-api/)
**Planet** The [Planet sample](planet-sample.json) is an adaption of Planet's [Data API](https://www.planet.com/docs/reference/data-api/)
returned JSON, with minor tweaks to have it fit in to a STAC Item.

**CBERS** The [CBERS sample](CBERS_4_MUX_20170528_090_084_L2.json) is copied from [CBERS static STAC catalog](https://cbers-stac.s3.amazonaws.com/catalog.json).

## Example Discussion

Expand Down
Loading

0 comments on commit 086e6b7

Please sign in to comment.