Skip to content
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

fix URI for Collections, and make other assorted typo and wordsmithing changes extracted from the browseable/children PR #234

Merged
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
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
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

### Fixed

- Collection conformance class URI should be `https://api.stacspec.org/v1.0.0-beta.XXX/collections` instead
of `http://stacspec.org/spec/api/1.0.0-beta.XXX/extensions/collections`
- definition of Item object was missing `properties` as an attribute

## [v1.0.0-beta.4] - 2020-10-05
Expand Down
3 changes: 3 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,9 @@ The *[ogcapi-features](ogcapi-features)* folder describes how a STAC API can ful
Features](http://docs.opengeospatial.org/is/17-069r3/17-069r3.html) to expose individual `items` endpoints for search of
each STAC collection. It also includes extensions that can be used to further enhance OAFeat.

**STAC API - Collections:**
philvarner marked this conversation as resolved.
Show resolved Hide resolved
The *[collections](collections)* folder describes how a STAC API can advertise the Collections it contains.

**Extensions:**
The *[extensions](extensions.md) document* describes how STAC incubates new functionality, and it links to the existing
extensions that can be added to enrich the functionality of a STAC API. Each has an OpenAPI yaml, but some of the yaml
Expand Down
7 changes: 4 additions & 3 deletions collections/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,16 +7,17 @@
- [Example](#example)

- **OpenAPI specification:** [openapi.yaml](openapi.yaml) ([rendered version](https://api.stacspec.org/v1.0.0-beta.5/collections))
- **Conformance URI:** <http://stacspec.org/spec/api/1.0.0-beta.5/extensions/collections>
- **Conformance URI:** <https://api.stacspec.org/v1.0.0-beta.5/collections>
philvarner marked this conversation as resolved.
Show resolved Hide resolved
- **Extension [Maturity Classification](../extensions.md#extension-maturity):** Pilot
- **Dependencies**: [STAC API - Core](../core)

A STAC API can return information about all STAC [Collections](../stac-spec/collection-spec/collection-spec.md) available using a link
from the landing page that uses the `data` rel, which links to an endpoint called `/collections`. Individual STAC collections can be accessed
from the landing page that uses the `data` rel, which links to an endpoint called `/collections`.
Individual STAC collections can be accessed
by providing the Collection `id` as a path past that endpoint: `/collections/{collectionId}`.

**NOTE**: *This conformance class is directly based on the [Features Collection](http://docs.opengeospatial.org/is/17-069r3/17-069r3.html#_collections_)
section of OAFeat, which is in the process of becoming a 'building block in [OGC API - Common - Part 2: Geospatial
section of OAFeat, which is in the process of becoming a 'building block' in [OGC API - Common - Part 2: Geospatial
Data](http://docs.opengeospatial.org/DRAFTS/20-024.html) as the [Collections requirements
class](http://docs.opengeospatial.org/DRAFTS/20-024.html#rc_collections-section). Once the Common version is released we will
aim to align with it. But it still seems to be in flux.*
Expand Down
47 changes: 4 additions & 43 deletions collections/openapi.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,18 +3,18 @@ info:
title: STAC API - Collections
version: '1.0.0-beta.5'
description: >-
This is an OpenAPI definition of the SpatioTemporal Asset Catalog API - Core
specification. This is a subset of the STAC API - Collections specification.
This is an OpenAPI definition of the SpatioTemporal Asset Catalog API - Collections
specification. This is a subset of the STAC API - Features specification.
contact:
name: STAC Specification
url: 'http://stacspec.org'
license:
name: Apache License 2.0
url: 'http://www.apache.org/licenses/LICENSE-2.0'
tags:
- name: Features
- name: Collections
description: |-
All endpoints related to OGC API - Features - Part 1: Core
All endpoints related to STAC API - Collections
paths:
'/':
get:
Expand Down Expand Up @@ -61,14 +61,6 @@ paths:
rel: service-doc
type: text/html
title: the API documentation
- href: 'http://data.example.org/sentinel-1'
rel: child
type: application/json
title: Sentinel 1 Catalog
- href: 'http://data.example.org/sentinel-2'
rel: child
type: application/json
title: Sentinel 2 Catalog
- href: 'http://data.example.org/conformance'
rel: conformance
type: application/json
Expand All @@ -77,20 +69,6 @@ paths:
rel: data
type: application/json
title: Information about the feature collections
'/conformance':
philvarner marked this conversation as resolved.
Show resolved Hide resolved
get:
tags:
- Features
summary: information about specifications that this API conforms to
description: |-
A list of all conformance classes specified in a standard that the
server conforms to.
operationId: getConformanceDeclaration
responses:
'200':
$ref: '#/components/responses/ConformanceDeclaration'
'500':
$ref: '#/components/responses/ServerError'
'/collections':
get:
tags:
Expand Down Expand Up @@ -147,23 +125,6 @@ components:
items:
$ref: '../core/commons.yaml#/components/schemas/collection'
responses:
ConformanceDeclaration:
description: |-
The URIs of all conformance classes supported by the server.

To support "generic" clients that want to access multiple
OGC API Features implementations - and not "just" a specific
API / server, the server declares the conformance
classes it implements and conforms to.
content:
application/json:
schema:
$ref: '../core/commons.yaml#/components/schemas/conformanceClasses'
example:
conformsTo:
- 'http://www.opengis.net/spec/ogcapi-features-1/1.0/conf/core'
- 'http://www.opengis.net/spec/ogcapi-features-1/1.0/conf/oas30'
- 'http://www.opengis.net/spec/ogcapi-features-1/1.0/conf/geojson'
Collections:
description: |-
The feature collections shared by this API.
Expand Down
6 changes: 3 additions & 3 deletions extensions.md
Original file line number Diff line number Diff line change
Expand Up @@ -53,11 +53,11 @@ This is the list of all extensions that are contained in the stac-api-spec repos
| Extension Name | Scope* | Description | Maturity |
| --------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------- |
| [Fields](item-search/README.md#fields) | [Item Search](item-search/) request | Adds parameter to control which fields are returned in the response. | *Pilot* |
| [Filter](item-search/README.md#filter) | [Item Search](item-search/) and [STAC - Features API](ogcapi-features) `/items` requests | Adds parameter to search Item and Collection properties. | *Pilot* |
| [Filter](item-search/README.md#filter) | [Item Search](item-search/) and [STAC API - Features](ogcapi-features) `/items` requests | Adds parameter to search Item and Collection properties. | *Pilot* |
| [Context](item-search/README.md#context) | [Item Search](item-search/) response ([ItemCollection](fragments/itemcollection/README.md)) | Adds search related metadata (context) to ItemCollection. | *Proposal* |
| [Sort](item-search/README.md#sort) | [Item Search](item-search/) request | Adds Parameter to control sorting of returns results. | *Pilot* |
| [Transaction](ogcapi-features/extensions/transaction/README.md) | [STAC - Features API](ogcapi-features) POST on `/items` endpoint, DELETE/PUT on `/items/{itemId}` endpoint | Adds PUT and DELETE endpoints for the creation, editing, and deleting of Item objects. | *Pilot* |
| [Items and Collections API Version](ogcapi-features/extensions/version/README.md) | [STAC - Features API](ogcapi-features) on `/items` endpoint | Adds GET versions resource to Collection and Item endpoints and provides semantics for a versioning scheme for Collection and Item objects. | *Proposal* |
| [Transaction](ogcapi-features/extensions/transaction/README.md) | [STAC API - Features](ogcapi-features) POST on `/items` endpoint, DELETE/PUT on `/items/{itemId}` endpoint | Adds PUT and DELETE endpoints for the creation, editing, and deleting of Item objects. | *Pilot* |
| [Items and Collections API Version](ogcapi-features/extensions/version/README.md) | [STAC API - Features](ogcapi-features) on `/items` endpoint | Adds GET versions resource to Collection and Item endpoints and provides semantics for a versioning scheme for Collection and Item objects. | *Proposal* |
| [Query](item-search/README.md#query) | [Item Search](item-search/) request | Adds parameter to search Item and Collection properties. | *Pilot*, scheduled to be *Deprecated* |

### Conformance classes of extensions
Expand Down
2 changes: 1 addition & 1 deletion fragments/context/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ object when the ItemCollection is the result of a search, for example, from call

This fragment may be bound to either or both of
[Item Search](../../item-search) (`/search` endpoint) or
[STAC Features](../../ogcapi-features) (`/collections/{collection_id}/items` endpoint) by
[STAC Features](../../ogcapi-features) (`/collections/{collectionId}/items` endpoint) by
advertising the relevant conformance class.

**Note**: OGC API Features - Part 1 has its own way returning `numberMatched` and `numberReturned` at the top level, instead of in a context
Expand Down
2 changes: 1 addition & 1 deletion fragments/fields/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ fragment provides a mechanism for clients to request that servers to explicitly

This fragment may be bound to either or both of
[Item Search](../../item-search) (`/search` endpoint) or
[STAC Features](../../ogcapi-features) (`/collections/{collection_id}/items` endpoint) by
[STAC Features](../../ogcapi-features) (`/collections/{collectionId}/items` endpoint) by
advertising the relevant conformance class.

When used in a POST request with `Content-Type: application/json`, this adds an attribute `fields` with
Expand Down
2 changes: 0 additions & 2 deletions fragments/filter/openapi.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,6 @@ tags:
description: Part of STAC API - Core definition
- name: STAC API - Features
description: Part of STAC API - Features definition
- name: STAC API - Collections
description: Part of STAC API - Collections definition
- name: STAC API - Filter Extension
description: Part of STAC API - Filter extension definition

Expand Down
3 changes: 2 additions & 1 deletion fragments/query/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,8 @@
- **Dependents:**
- [Item Search](../../item-search)

The `query` parameter adds additional filters for searching on the properties of Item objects.
The `query` parameter adds additional filters for searching on the properties of Item objects. The JSON syntax for
these filters is known as "STACQL" (pronounced `stack-cue-el`).

The syntax for the `query` filter is:

Expand Down
2 changes: 1 addition & 1 deletion fragments/sort/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ implementations should return an error when attempting to sort over a field that

This fragment may be bound to either or both of
[Item Search](../../item-search) (`/search` endpoint) or
[STAC Features](../../ogcapi-features) (`/collections/{collection_id}/items` endpoint) by
[STAC Features](../../ogcapi-features) (`/collections/{collectionId}/items` endpoint) by
advertising the relevant conformance class.

Fields may be sorted in ascending or descending order. The syntax between GET requests and POST requests with a JSON
Expand Down
9 changes: 5 additions & 4 deletions item-search/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,8 +37,8 @@ The Item Search endpoint intentionally defines only a limited group of operation
most behavior will be defined in [Extensions](#extensions). These extensions can be composed by an implementer to
cover only the set of functionality the implementer requires. For example, the query capability defined by
Item Search is limited, and only adds cross-collection and spatial intersects query operators to the capabilities
already defined by OAFeat. For example, the Query Extension (soon to be superseded by the Filter Extension)
provides a more expressive set of operators.
already defined by OAFeat. For example, the Query Extension and Filter Extension
provide a more expressive set of operators.

Implementing `GET /search` is **required**, `POST /search` is optional, but recommended.

Expand Down Expand Up @@ -227,8 +227,9 @@ See the [paging examples](examples.md#paging-examples) for additional insight.

## HTTP Request Methods and Content Types

The STAC API follow a RESTful model. A core principal of this is the use of HTTP Request Methods ("verbs") and
the `Content-Type` header to drive behavior on resources ("nouns"). This section describes how these are used with the `/search` endpoint
STAC APIs follow the modern web API practices of using HTTP Request Methods ("verbs") and
the `Content-Type` header to drive behavior on resources ("nouns").
This section describes how these are used with the `/search` endpoint.

### GET

Expand Down
Loading