Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
ee3c42d
Updated extension documentation to clearly define name/prefix
joshfix Feb 12, 2020
58788bd
removed (prefix) from title column in extensions table in the extensi…
joshfix Feb 12, 2020
47ccbb0
renamed extension to
joshfix Feb 12, 2020
4649792
added scope to each extension's readme
joshfix Feb 12, 2020
7068f39
fixed view prefix and datacube typo
joshfix Feb 13, 2020
332f08d
renamed extension Prefix titles to Field Name Prefix
joshfix Feb 13, 2020
bd43a93
moved the json schema for label extension to json-schema subdir
joshfix Feb 13, 2020
a3d79df
Changed EO extension title to Electro-Optical
joshfix Feb 13, 2020
577c844
Merge pull request #739 from joshfix/extension-names
m-mohr Feb 14, 2020
be4833d
Fixed description for sar:pixel_spacing_range
m-mohr Feb 14, 2020
ec2216f
Merge pull request #740 from radiantearth/m-mohr-patch-1
matthewhanson Feb 26, 2020
7b5e6b1
updated examples to not use items endpoint (which implies an api), an…
cholmes Feb 26, 2020
dc7d753
global search and replace versions
matthewhanson Feb 26, 2020
3c40865
revert CHANGELOG
matthewhanson Feb 26, 2020
7abb88c
put explicit catalog.json in the example
cholmes Feb 26, 2020
e1170a0
Merge branch 'dev' into fix-landsat-example-static
cholmes Feb 26, 2020
4985ac6
Update CHANGELOG.md
cholmes Feb 26, 2020
4e7003d
ci: update docker image in circleci
matthewhanson Feb 26, 2020
2af60ea
Fixed typo on https repeat
cholmes Feb 26, 2020
9dd4645
Merge pull request #744 from radiantearth/fix-landsat-example-static
cholmes Feb 26, 2020
5ceeba5
updated CHANGELOG
matthewhanson Feb 26, 2020
09d7d0d
Merge remote-tracking branch 'origin/dev' into update_versions_for_re…
matthewhanson Feb 26, 2020
e91dff3
ci: updated circleci config
matthewhanson Feb 26, 2020
b34b592
fix link in CHANGELOG
matthewhanson Feb 26, 2020
fef19d5
Merge pull request #743 from radiantearth/update_versions_for_release
cholmes Feb 26, 2020
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
7 changes: 4 additions & 3 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,17 +3,18 @@ jobs:
build:
working_directory: ~/stac
docker:
- image: circleci/python:3.6.9
- image: circleci/python:3.7

steps:
- checkout
- run: sudo chown -R circleci:circleci /usr/local/bin
- run: sudo chown -R circleci:circleci /usr/local/lib/python3.6/site-packages
- run: sudo chown -R circleci:circleci /usr/local/lib/python3.7/site-packages
- run:
name: install
command: |
pip install stac-validator
sudo apt-get install curl software-properties-common
sudo apt-get update
sudo apt-get install curl -y software-properties-common
curl -sL https://deb.nodesource.com/setup_13.x | sudo -E bash -
sudo apt-get install -y nodejs
sudo npm install -g remark-cli remark-validate-links
Expand Down
100 changes: 45 additions & 55 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,69 +6,45 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.

## Unreleased

## [v0.9.0-rc2] - 2020-02-12

### Added
- [Basics](item-spec/common-metadata.md#basics) added to Common Metadata definitions with new `description` field for
Item properties
- New fields to the `link` object to facilitate [pagination support for POST requests](api-spec/api-spec.md#paging-extension)
- Data role, as a suggestion for a common role for data files to be used in case data providers don't come up with their own names and semantics
- Clarification text on HTTP verbs in STAC API
- [View Geometry Extension](extensions/view/README.md)

### Changed
- Item `title` definition moved from core Item fields to [Common Metadata Basics](item-spec/common-metadata.md#basics)
fields. No change is required for STAC Items.
- `putFeature` can return a `PreconditionFailed` to provide more explicit information when the resource has changed in the server
- [Sort extension](api-spec/extensions/sort) now uses "+" and "-" prefixes for GET requests to denote sort order.
- Clarified how `/search` links must be added to `/` and changed that links to both GET and POST must be provided now that the method can be specified in links.
- Moved angle definitions between extensions `view` and `sat`
- `sat:off_nadir_angle` -> `view:off_nadir`
- `sat:azimuth_angle` -> `view:azimuth`
- `sat:incidence_angle` -> `view:incidence_angle`
- `sat:sun_azimuth_angle` -> `view:sun_azimuth`
- `sat:sun_elevation_angle` -> `view:sun_elevation`


### Removed
- In API, removed any mention of using media type `multipart/form-data` and `x-www-form-urlencoded`

### Fixed
- Fixed Item JSON Schema now `allOf` optional Common Metadata properties are evaluated
- Clarified usage of optional Common Metadata fields for STAC Items
- Clarified usage of paging options, especially in relation to what OGC API - Features offers
- Allow Commonmark in asset description, as it's allowed everywhere else
- Put asset description in the API
- Fixed API spec regarding license expressions
- Added missing schema in the API Version extension

## [v0.9.0-rc1] - 2020-01-06
## [v0.9.0] - 2020-02-26

### Added
- ItemCollection requires `stac_version` field, `stac_extensions` has also been added
- A `description` field has been added to Item assets (also Asset definitions extension)
- Field `mission` to [Common Metadata fields](item-spec/common-metadata.md).
- Field `mission` to [Common Metadata fields](item-spec/common-metadata.md)
- Extensions:
- [Version Indicators extension](extensions/version/README.md), adds `version` and `deprecated` fields to STAC Items and Collections
- [Version Indicators extension](extensions/version/README.md), new `version` and `deprecated` fields in STAC Items and Collections
- Data Cube extension can be used in Collections, added new field `description`
- Added `description` and `roles` fields to the Asset in the [Asset Extension](extensions/asset/README.md)
- Projection Extension to describe Items with Assets that have an associated geospatial projection
- [Asset Extension](extensions/asset/README.md): new `description` and `roles` fields
- New [Projection Extension](extensions/projection/README.md) to describe Items with Assets that have an associated geospatial projection
- New [View Geometry Extension](extensions/view/README.md)
- STAC API:
- Added the [Item and Collection API Version extension](api-spec/extensions/version/README.md) to support versioning in the API specification
- Run `npm run serve` or `npm run serve-ext` to quickly render development versions of the OpenAPI spec in the browser
- [Basics](item-spec/common-metadata.md#basics) added to Common Metadata definitions with new `description` field for
Item properties
- New fields to the `link` object to facilitate [pagination support for POST requests](api-spec/api-spec.md#paging-extension)
- `data` role, as a suggestion for a common role for data files to be used in case data providers don't come up with their own names and semantics
- Clarification text on HTTP verbs in STAC API

### Changed
- Support for [CommonMark 0.29 instead of CommonMark 0.28](https://spec.commonmark.org/0.29/changes.html)
- Collection field `property` and the merge ability moved to a new extension 'Commons'
- Added attribute `roles` to Item assets (also Asset definitions extension), to be used similarly to Link `rel`
- Updated API yaml to clarify bbox filter should be implemented without brackets. Example: `bbox=160.6,-55.95,-170,-25.89`
- Collection `summaries` merge array fields now.
- Collection `summaries` merge array fields now
- Several fields have been moved from extensions or item fields to the [Common Metadata fields](item-spec/common-metadata.md):
- `eo:platform` / `sar:platform` => `platform`
- `eo:instrument` / `sar:instrument` => `instruments`, also changed from string to array of strings
- `eo:constellation` / `sar:constellation` => `constellation`
- `dtr:start_datetime` => `start_datetime`
- `dtr:end_datetime` => `end_datetime`
- `eo:platform` / `sar:platform` => `platform`
- `eo:instrument` / `sar:instrument` => `instruments`, also changed from string to array of strings
- `eo:constellation` / `sar:constellation` => `constellation`
- `dtr:start_datetime` => `start_datetime`
- `dtr:end_datetime` => `end_datetime`
- Moved angle definitions from extensions `eo` and new `view` extension
- `eo:off_nadir` -> `view:off_nadir`
- `eo:azimuth` -> `view:azimuth`
- `eo:incidence_angle` -> `view:incidence_angle`
- `eo:sun_azimuth` -> `view:sun_azimuth`
- `eo:sun_elevation` -> `view:sun_elevation`
- Extensions:
- Data Cube extension: Changed allowed formats (removed PROJ string, added PROJJSON / WKT2) for reference systems
- [Checksum extension](extensions/checksum/README.md) is now using self-identifiable hashes ([Multihash](https://github.com/multiformats/multihash))
Expand All @@ -80,28 +56,43 @@ fields. No change is required for STAC Items.
- Fields extension has a simplified format for GET parameters
- `search` extension renamed to `context` extension. JSON object renamed from `search:metadata` to `context`
- Removed "next" from the search metadata and query parameter, added POST body and headers to the links for paging support
- Query Extension - type restrictions on query predicates are more accurate, which may require additional implementation support.
- Query Extension - type restrictions on query predicates are more accurate, which may require additional implementation support
- Item `title` definition moved from core Item fields to [Common Metadata Basics](item-spec/common-metadata.md#basics)
fields. No change is required for STAC Items.
- `putFeature` can return a `PreconditionFailed` to provide more explicit information when the resource has changed in the server
- [Sort extension](api-spec/extensions/sort) now uses "+" and "-" prefixes for GET requests to denote sort order.
- Clarified how `/search` links must be added to `/` and changed that links to both GET and POST must be provided now that the method can be specified in links

### Removed
- `version` field in STAC Collections. Use [Version Extension](extensions/version/README.md) instead
- `summaries` field from Catalogs. Use Collections instead
- Asset Types (pre-defined values for the keys of individual assets, *not* media types) in Items. Use the asset's `roles` instead.
- `license` field doesn't allow SPDX expressions any longer. Use `various` and links instead.
- Asset Types (pre-defined values for the keys of individual assets, *not* media types) in Items. Use the asset's `roles` instead
- `license` field doesn't allow SPDX expressions any longer. Use `various` and links instead
- Extensions:
- `eo:platform`, `eo:instrument`, `eo:constellation` from EO extension, and `sar:platform`, `sar:instrument`, `sar:constellation` from the [SAR extension](extensions/sar/README.md)
- Removed from EO extension field `eo:epsg` in favor of `proj:epsg`
- `gsd` and `accuracy` from `eo:bands` in the [EO extension](extensions/eo/README.md)
- `sar:absolute_orbit` and `sar:center_wavelength` fields from the [SAR extension](extensions/sar/README.md)
- `data_type` and `unit` from the `sar:bands` object in the [SAR extension](extensions/sar/README.md)
- Datetime Range (`dtr`) extension. Use the [Common Metadata fields](item-spec/common-metadata.md) instead.
- Datetime Range (`dtr`) extension. Use the [Common Metadata fields](item-spec/common-metadata.md) instead
- STAC API:
- `next` from the search metadata and query parameter
- In API, removed any mention of using media type `multipart/form-data` and `x-www-form-urlencoded`

### Fixed

- The `license` field in Item and Collection spec explicitly mentions that the value `proprietary` without a link means that the data is private.
- Clarified how to fill `stac_extensions`.
- The `license` field in Item and Collection spec explicitly mentions that the value `proprietary` without a link means that the data is private
- Clarified how to fill `stac_extensions`
- More clarifications; typos fixed
- Fixed Item JSON Schema now `allOf` optional Common Metadata properties are evaluated
- Clarified usage of optional Common Metadata fields for STAC Items
- Clarified usage of paging options, especially in relation to what OGC API - Features offers
- Allow Commonmark in asset description, as it's allowed everywhere else
- Put asset description in the API
- Fixed API spec regarding license expressions
- Added missing schema in the API Version extension
- Fixed links in the Landsat example in the collection-spec


## [v0.8.1] - 2019-11-01

Expand Down Expand Up @@ -311,8 +302,7 @@ Thanks @hgs-msmith, @matthewhanson, @hgs-trutherford, @rouault, @joshfix, @alkam


[Unreleased]: https://github.com/radiantearth/stac-spec/compare/master...dev
[v0.9.0-rc2]: https://github.com/radiantearth/stac-spec/compare/v0.9.0-rc1...v0.9.0-rc2
[v0.9.0-rc1]: https://github.com/radiantearth/stac-spec/compare/v0.8.0...v0.9.0-rc1
[v0.9.0]: https://github.com/radiantearth/stac-spec/compare/v0.8.1...v0.9.0
[v0.8.1]: https://github.com/radiantearth/stac-spec/compare/v0.8.0...v0.8.1
[v0.8.0]: https://github.com/radiantearth/stac-spec/compare/v0.7.0...v0.8.0
[v0.7.0]: https://github.com/radiantearth/stac-spec/compare/v0.6.2...v0.7.0
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ The minimal amount is specified right now, but best practices should emerge with
## Current version and branches

The [master branch](https://github.com/radiantearth/stac-spec/tree/master) is the 'stable' version of the spec. It is currently version
**0.9.0-rc2** of the specification. The
**0.9.0** of the specification. The
[dev](https://github.com/radiantearth/stac-spec/tree/dev) branch is where active development takes place, and may have inconsistent examples.
Whenever dev stabilizes a release is cut and we merge dev in to master. So master should be stable at any given time.
It is possible that there may be small releases in quick succession, especially if they are nice improvements that do
Expand Down
10 changes: 5 additions & 5 deletions api-spec/STAC-extensions.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 + Extensions
version: 0.9.0-rc2
version: 0.9.0
license:
name: Apache License 2.0
url: 'http://www.apache.org/licenses/LICENSE-2.0'
Expand Down Expand Up @@ -786,7 +786,7 @@ components:
- type: string
- type: number
example:
stac_version: 0.9.0-rc2
stac_version: 0.9.0
stac_extensions: []
id: Sentinel-2
title: 'Sentinel-2 MSI: MultiSpectral Instrument, Level-1C'
Expand Down Expand Up @@ -1610,7 +1610,7 @@ components:
stac_version:
title: STAC version
type: string
example: 0.9.0-rc2
example: 0.9.0
stac_extensions:
title: STAC extensions
type: array
Expand Down Expand Up @@ -1696,7 +1696,7 @@ components:
assets:
$ref: '#/components/schemas/itemAssets'
example:
stac_version: 0.9.0-rc2
stac_version: 0.9.0
stac_extensions:
- eo
- view
Expand Down Expand Up @@ -2106,7 +2106,7 @@ components:
rel: search
type: application/json
title: Search across feature collections
stac_version: 0.9.0-rc2
stac_version: 0.9.0
id: naip
text/html:
schema:
Expand Down
10 changes: 5 additions & 5 deletions api-spec/STAC.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
version: 0.9.0-rc2
version: 0.9.0
license:
name: Apache License 2.0
url: 'http://www.apache.org/licenses/LICENSE-2.0'
Expand Down Expand Up @@ -490,7 +490,7 @@ components:
- type: string
- type: number
example:
stac_version: 0.9.0-rc2
stac_version: 0.9.0
stac_extensions: []
id: Sentinel-2
title: 'Sentinel-2 MSI: MultiSpectral Instrument, Level-1C'
Expand Down Expand Up @@ -1311,7 +1311,7 @@ components:
stac_version:
title: STAC version
type: string
example: 0.9.0-rc2
example: 0.9.0
stac_extensions:
title: STAC extensions
type: array
Expand Down Expand Up @@ -1378,7 +1378,7 @@ components:
assets:
$ref: '#/components/schemas/itemAssets'
example:
stac_version: 0.9.0-rc2
stac_version: 0.9.0
stac_extensions:
- eo
- view
Expand Down Expand Up @@ -1554,7 +1554,7 @@ components:
rel: search
type: application/json
title: Search across feature collections
stac_version: 0.9.0-rc2
stac_version: 0.9.0
id: naip
text/html:
schema:
Expand Down
10 changes: 5 additions & 5 deletions api-spec/openapi/STAC.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
version: 0.9.0-rc2
version: 0.9.0
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 @@ -200,7 +200,7 @@ components:
content:
application/json:
example:
stac_version: 0.9.0-rc2
stac_version: 0.9.0
id: naip
title: NAIP Imagery
description: Catalog of NAIP Imagery.
Expand Down Expand Up @@ -291,7 +291,7 @@ components:
- type: string
- type: number
example:
stac_version: 0.9.0-rc2
stac_version: 0.9.0
stac_extensions: []
id: Sentinel-2
title: 'Sentinel-2 MSI: MultiSpectral Instrument, Level-1C'
Expand Down Expand Up @@ -660,7 +660,7 @@ components:
stac_version:
title: STAC version
type: string
example: 0.9.0-rc2
example: 0.9.0
stac_extensions:
title: STAC extensions
type: array
Expand Down Expand Up @@ -737,7 +737,7 @@ components:
assets:
$ref: '#/components/schemas/itemAssets'
example:
stac_version: 0.9.0-rc2
stac_version: 0.9.0
stac_extensions:
- eo
- view
Expand Down
2 changes: 1 addition & 1 deletion api-spec/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion api-spec/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "api-spec",
"version": "0.9.0-rc2",
"version": "0.9.0",
"description": "Generate STAC openapi defintions from fragments.",
"repository": "https://github.com/radiantearth/stac-spec",
"license": "Apache-2.0",
Expand Down
20 changes: 10 additions & 10 deletions catalog-spec/catalog-spec.md
Original file line number Diff line number Diff line change
Expand Up @@ -93,14 +93,14 @@ guidance for good recommendations when implementing.

## Catalog fields

| Element | Type | Description |
| ------------ | ------------- | ------------------------------------------------------------ |
| stac_version | string | **REQUIRED.** The STAC version the catalog implements. STAC versions can be mixed, but please keep the [recommended best practices](../best-practices.md#mixing-stac-versions) in mind. |
| stac_extensions | [string] | A list of extensions the Catalog implements. |
| id | string | **REQUIRED.** Identifier for the catalog. |
| title | string | A short descriptive one-line title for the catalog. |
| description | string | **REQUIRED.** Detailed multi-line description to fully explain the catalog. [CommonMark 0.29](http://commonmark.org/) syntax MAY be used for rich text representation. |
| links | [[Link Object](#link-object)] | **REQUIRED.** A list of references to other documents. |
| Element | Type | Description |
| --------------- | ------------- | ------------------------------------------------------------ |
| stac_version | string | **REQUIRED.** The STAC version the catalog implements. STAC versions can be mixed, but please keep the [recommended best practices](../best-practices.md#mixing-stac-versions) in mind. |
| stac_extensions | [string] | A list of extension identifiers the Catalog implements. |
| id | string | **REQUIRED.** Identifier for the catalog. |
| title | string | A short descriptive one-line title for the catalog. |
| description | string | **REQUIRED.** Detailed multi-line description to fully explain the catalog. [CommonMark 0.29](http://commonmark.org/) syntax MAY be used for rich text representation. |
| links | [[Link Object](#link-object)] | **REQUIRED.** A list of references to other documents. |

**stac_extensions**: A list of extensions the Catalog implements. This does NOT declare the extensions of children or Items. The list contains URLs to the JSON Schema files it can be validated against. For official [content extensions](../extensions/README.md#list-of-content-extensions), a "shortcut" can be used. This means you can specify the folder name of the extension, for example `pointcloud` for the Point Cloud extension. This does *not* apply for API extensions. If the versions of the extension and the catalog diverge, you can specify the URL of the JSON schema file.
This list must only contain extensions that extend the Catalog itself, see the the 'Scope' column in the list of extensions.
Expand Down Expand Up @@ -145,7 +145,7 @@ might look something like this:

```json
{
"stac_version": "0.9.0-rc2",
"stac_version": "0.9.0",
"id": "NAIP",
"description": "Catalog of NAIP Imagery",
"links": [
Expand All @@ -163,7 +163,7 @@ A typical '_child_' sub-catalog could look similar:

```json
{
"stac_version": "0.9.0-rc2",
"stac_version": "0.9.0",
"id": "NAIP",
"description": "Catalog of NAIP Imagery - 30087",
"links": [
Expand Down
2 changes: 1 addition & 1 deletion catalog-spec/examples/catalog.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"stac_version": "0.9.0-rc2",
"stac_version": "0.9.0",
"id": "sample",
"description": "This is a very basic sample catalog.",
"links": [
Expand Down
2 changes: 1 addition & 1 deletion catalog-spec/json-schema/catalog.json
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
"stac_version": {
"title": "STAC version",
"type": "string",
"const": "0.9.0-rc2"
"const": "0.9.0"
},
"stac_extensions": {
"title": "STAC extensions",
Expand Down
Loading