Skip to content

Commit ed7f3f1

Browse files
authored
Merge pull request #128 from philvarner/filter-extension
Filter Extension
2 parents 0f5e1b0 + 8e08794 commit ed7f3f1

File tree

17 files changed

+2019
-51
lines changed

17 files changed

+2019
-51
lines changed

.circleci/rc.yaml

+9-12
Original file line numberDiff line numberDiff line change
@@ -4,17 +4,15 @@ plugins:
44
# Apply some recommended defaults for consistency
55
- remark-preset-lint-consistent
66
- remark-preset-lint-recommended
7-
# No HTML for security - can't activate yet due to STAC logo in README.md
8-
# - lint-no-html
7+
- lint-no-html
98
# General formatting
10-
# - - remark-lint-emphasis-marker
11-
# - '*'
9+
- - remark-lint-emphasis-marker
10+
- '*'
1211
- remark-lint-hard-break-spaces
1312
- remark-lint-blockquote-indentation
1413
- remark-lint-no-consecutive-blank-lines
15-
# Detect overly long lines - be liberal for now and don't restrict to 80 yet
16-
# - - remark-lint-maximum-line-length
17-
# - 150
14+
- - remark-lint-maximum-line-length
15+
- 150
1816
# Code
1917
- remark-lint-fenced-code-flag
2018
- remark-lint-fenced-code-marker
@@ -23,24 +21,23 @@ plugins:
2321
- 'fenced'
2422
# Headings
2523
- remark-lint-heading-increment
26-
- remark-lint-no-duplicate-headings
2724
- remark-lint-no-multiple-toplevel-headings
2825
- remark-lint-no-heading-punctuation
2926
- - remark-lint-maximum-heading-length
3027
- 70
3128
- - remark-lint-heading-style
3229
- atx
30+
- - remark-lint-no-shortcut-reference-link
31+
- false
3332
# Lists
3433
- remark-lint-list-item-bullet-indent
3534
- remark-lint-ordered-list-marker-style
3635
- remark-lint-ordered-list-marker-value
3736
- remark-lint-checkbox-character-style
38-
# - - remark-lint-unordered-list-marker-style
39-
# - '-'
37+
- - remark-lint-unordered-list-marker-style
38+
- '-'
4039
- - remark-lint-list-item-indent
4140
- space
4241
# Tables
4342
- remark-lint-table-pipes
44-
# - remark-lint-table-pipe-alignment # Wait for https://github.com/remarkjs/remark-lint/issues/226
45-
# Urls
4643
- remark-lint-no-literal-urls

CHANGELOG.md

+2
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1111
- Added recommendation to enable CORS for public APIs
1212

1313
### Changed
14+
- Added Filter extension to integrate OAFeat Part 3 CQL
1415
- Passing the `ids` parameter to an item search does not deactivate other query parameters [#125](https://github.com/radiantearth/stac-api-spec/pull/125)
1516
- The first extent in a Collection is always the overall extent, followed by more specific extents. [opengeospatial/ogcapi-features#520](https://github.com/opengeospatial/ogcapi-features/pull/520)
1617

1718
### Deprecated
19+
- Query extension is now deprecated. Replaced by the Filter extension using OGC CQL
1820

1921
### Removed
2022

core/README.md

+11-9
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,8 @@
1010
- **Extension [Maturity Classification](../extensions.md#extension-maturity):** Pilot
1111
- **Dependencies**: None
1212

13-
The base of a STAC API is its landing page. This resource is the starting point to discover what behaviors the API supports via the `conformsTo` values and link relations.
13+
The base of a STAC API is its landing page. This resource is the starting point to discover what behaviors
14+
the API supports via the `conformsTo` values and link relations.
1415
This behavior in a RESTful API is known as
1516
[Hypermedia as the Engine of Application State (HATEOAS)](https://en.wikipedia.org/wiki/HATEOAS).
1617
STAC API relies heavily on hypermedia for API resource navigation.
@@ -29,7 +30,8 @@ client must inspect the the `rel` (relationship) to understand what capabilities
2930
Note the `conformsTo` JSON object follows exactly the structure of OGC API - Features [declaration of conformance
3031
classes](http://docs.opengeospatial.org/is/17-069r3/17-069r3.html#_declaration_of_conformance_classes), except is available directly under
3132
the landing page. This is a slight break from how OGC API does things, as STAC feels it is important for clients to be able to understand
32-
conformance in a single request. Implementers choosing to also implement the OGC API - Features and/or STAC API - Features conformance classes must also implment the `/conformance` endpoint.
33+
conformance in a single request. Implementers choosing to also implement the OGC API - Features and/or
34+
STAC API - Features conformance classes must also implment the `/conformance` endpoint.
3335

3436
This particular catalog provides the ability to browse down to child STAC Collection objects through its `child` links, and also provides the search
3537
endpoint to be able to search across items in its collections. Note though that none of those links are required, other servers may provide
@@ -47,13 +49,13 @@ API endpoints from OAFeat or STAC API to be implemented, so the following links
4749

4850
When implementing the STAC API Core conformance class, it it recommended to implement these Link relations.
4951

50-
| **`rel`** | **href to** | **From** | **Description** |
51-
|-----------|--------------------------------------------|--------------------|------------------------------------------------------------------|
52-
| `root` | The root URI | STAC Core | Reference to self URI |
53-
| `self` | The root URI | OAFeat | Reference to self URI |
54-
| `service-desc` | The OpenAPI service description | OAFeat OpenAPI | Uses the `application/vnd.oai.openapi+json;version=3.0` media type to refer to the OpenAPI 3.0 document that defines the service's API |
55-
| `service-doc` | An HTML service description | OAFeat OpenAPI | Uses the `text/html` media type to refer to a human-consumable description of the service |
56-
| `child` | The child STAC Catalogs & Collections | STAC Core | Provides curated paths to get to STAC Collection and Item objects |
52+
| **`rel`** | **href to** | **From** | **Description** |
53+
| -------------- | ------------------------------------- | -------------- | -------------------------------------------------------------------------------------------------------------------------------------- |
54+
| `root` | The root URI | STAC Core | Reference to self URI |
55+
| `self` | The root URI | OAFeat | Reference to self URI |
56+
| `service-desc` | The OpenAPI service description | OAFeat OpenAPI | Uses the `application/vnd.oai.openapi+json;version=3.0` media type to refer to the OpenAPI 3.0 document that defines the service's API |
57+
| `service-doc` | An HTML service description | OAFeat OpenAPI | Uses the `text/html` media type to refer to a human-consumable description of the service |
58+
| `child` | The child STAC Catalogs & Collections | STAC Core | Provides curated paths to get to STAC Collection and Item objects |
5759

5860
It is also valid to have `item` links from the landing page, but most STAC API services are used to
5961
serve up a large number of features, so they typically

extensions.md

+15-12
Original file line numberDiff line numberDiff line change
@@ -50,28 +50,31 @@ are scoped against ogcapi-features*.
5050

5151
This is the list of all extensions that are contained in the stac-api-spec repository.
5252

53-
| Extension Name | Scope* | Description | Maturity |
54-
|-----------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------|------------|
55-
| [Fields](item-search/README.md#fields) | [Item Search](item-search/) request | Adds parameter to control which fields are returned in the response. | *Pilot* |
56-
| [Query](item-search/README.md#query) | [Item Search](item-search/) request | Adds parameter to search Item and Collection properties. | *Pilot* |
53+
| Extension Name | Scope* | Description | Maturity |
54+
|----------------|--------|-------------|----------|
55+
| [Fields](item-search/README.md#fields) | [Item Search](item-search/) request | Adds parameter to control which fields are returned in the response. | *Pilot* |
56+
| [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* |
5757
| [Context](item-search/README.md#context) | [Item Search](item-search/) response ([ItemCollection](fragments/itemcollection/README.md)) | Adds search related metadata (context) to ItemCollection. | *Proposal* |
5858
| [Sort](item-search/README.md#sort) | [Item Search](item-search/) request | Adds Parameter to control sorting of returns results. | *Pilot* |
5959
| [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* |
6060
| [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* |
61+
| [Query](item-search/README.md#query) | [Item Search](item-search/) request | Adds parameter to search Item and Collection properties. | *Deprecated* |
6162

6263
### Conformance classes of extensions
6364

6465
Each extension has its own conformance URI, which is used in the `conformsTo` response of the landing page to let clients know what capabilities
6566
the service supports. This are listed at the top of each extension description, but the full table is given here for ease of reference.
6667

67-
| Extension Name | Conformance URI |
68-
|-----------------------------------------------------------------------------------|----------------------------------------------------------------------------|
69-
| [Fields](item-search/README.md#fields) | <https://api.stacspec.org/v1.0.0-beta.1/item-search#fields> |
70-
| [Query](item-search/README.md#query) | <https://api.stacspec.org/v1.0.0-beta.1/item-search#query> |
71-
| [Context](item-search/README.md#context) | <https://api.stacspec.org/v1.0.0-beta.1/item-search#context> |
72-
| [Sort](item-search/README.md#sort) | <https://api.stacspec.org/v1.0.0-beta.1/item-search#sort> |
73-
| [Transaction](ogcapi-features/extensions/transaction/README.md) | <https://api.stacspec.org/v1.0.0-beta.1/ogcapi-features/extensions/transaction> |
74-
| [Items and Collections API Version](ogcapi-features/extensions/version/README.md) | <https://api.stacspec.org/v1.0.0-beta.1/ogcapi-features/extensions/version> |
68+
| Extension Name | Conformance Class URIs |
69+
|---------------|-------------------------|
70+
| [Fields](item-search/README.md#fields) | <https://api.stacspec.org/v1.0.0-beta.1/item-search#fields> |
71+
| [Filter](item-search/README.md#filter) | <https://api.stacspec.org/v1.0.0-beta.1/item-search#filter:filter><br/><https://api.stacspec.org/v1.0.0-beta.1/item-search#filter:simple-cql><br/><https://api.stacspec.org/v1.0.0-beta.1/item-search#filter:item-search-filter><br/><https://api.stacspec.org/v1.0.0-beta.1/item-search#filter:cql-text><br/><https://api.stacspec.org/v1.0.0-beta.1/item-search#filter:cql-json> |
72+
| [Context](item-search/README.md#context) | <https://api.stacspec.org/v1.0.0-beta.1/item-search#context> |
73+
| [Sort](item-search/README.md#sort) | <https://api.stacspec.org/v1.0.0-beta.1/item-search#sort> |
74+
| [Transaction](ogcapi-features/extensions/transaction/README.md) | <https://api.stacspec.org/v1.0.0-beta.1/ogcapi-features/extensions/transaction> |
75+
| [Items and Collections API Version](ogcapi-features/extensions/version/README.md) | <https://api.stacspec.org/v1.0.0-beta.1/ogcapi-features/extensions/version> |
76+
| [Query](item-search/README.md#query) | <https://api.stacspec.org/v1.0.0-beta.1/item-search#query> |
77+
7578

7679
## Third-party / vendor extensions
7780

fragments/context/README.md

+1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
# STAC API - Context Fragment
22

33
- **OpenAPI specification:** [openapi.yaml](openapi.yaml)
4+
- **Conformance Class:** <https://api.stacspec.org/v1.0.0-beta.1/item-search#context>
45
- **Fragment [Maturity Classification](../../extensions.md#extension-maturity):** Pilot
56
- **Dependents:**
67
- [Item Search](../../item-search)

fragments/fields/README.md

+1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
# STAC API - Fields Fragment
22

33
- **OpenAPI specification:** [openapi.yaml](openapi.yaml)
4+
- **Conformance Class:** <https://api.stacspec.org/v1.0.0-beta.1/item-search#fields>
45
- **Fragment [Maturity Classification](../../extensions.md#extension-maturity):** Pilot
56
- **Dependents:**
67
- [Item Search](../../item-search)

0 commit comments

Comments
 (0)