|
2 | 2 |
|
3 | 3 | - **OpenAPI specification:** [openapi.yaml](openapi.yaml) (todo) |
4 | 4 | - **Conformance URIs:** |
5 | | - - <https://api.stacspec.org/v1.0.0-rc.1/collection-search> |
6 | 5 | - <https://api.stacspec.org/v1.0.0-rc.1/core> |
| 6 | + - <https://api.stacspec.org/v1.0.0-rc.1/collection-search> |
| 7 | + - <http://www.opengis.net/spec/ogcapi-common-2/1.0/req/simple-query> |
7 | 8 | - **[Maturity Classification](../README.md#maturity-classification):** Proposal |
8 | 9 | - **Dependencies**: |
9 | | -- [STAC API - Collections](https://github.com/radiantearth/stac-api-spec/tree/main/ogcapi-features) |
10 | | -- [STAC API - Core](https://github.com/radiantearth/stac-api-spec/blob/main/core) |
| 10 | + - [STAC API - Core](https://github.com/radiantearth/stac-api-spec/blob/main/core) |
| 11 | + - [STAC API - Collections](https://github.com/radiantearth/stac-api-spec/tree/main/ogcapi-features) |
| 12 | + - [OGC API - Common - Part 2: Geospatial Data](https://portal.ogc.org/files/99149) |
| 13 | + - [OGC API - Records - Part 2: Collections](https://github.com/opengeospatial/ogcapi-records/tree/master/extensions/collections) |
11 | 14 |
|
12 | 15 | A search endpoint provides the ability to query |
13 | 16 | STAC [Collections](https://github.com/radiantearth/stac-spec/blob/master/collection-spec/README.md) |
14 | 17 | objects across collections. |
15 | 18 | It retrieves a group of Collection objects that match the provided parameters and provides them as |
16 | 19 | the `GET /collections` endpoint does. |
17 | 20 |
|
18 | | -The Item Search endpoint intentionally defines only a limited group of operations. It is expected that |
19 | | -most behavior will be defined in [Extensions](#extensions). These extensions can be composed by an implementer to |
20 | | -cover only the set of functionality the implementer requires. |
21 | | - |
22 | | -Implementing `GET /search/collections` is **required**, `POST /search/collections` is optional, but recommended. |
23 | | - |
24 | | -## Link Relations |
| 21 | +The Collection Search endpoint by default doesn't provide any query parameters to filter and all |
| 22 | +additional behavior will be defined in [Extensions](#extensions). These extensions can be composed |
| 23 | +by an implementer to cover only the set of functionality the implementer requires. |
25 | 24 |
|
26 | | -This conformance class also requires implementation of the link relations in the STAC API - Core conformance class. |
| 25 | +This extension is based on *[OGC API - Common - Part 2: Geospatial Data](https://portal.ogc.org/files/99149#rc-simple-query-section)* and *[OGC API - Records - Part 2: Collections](https://github.com/opengeospatial/ogcapi-records/tree/master/extensions/collections)* |
| 26 | +and selectively implements a subset of their "requirements classes". |
27 | 27 |
|
28 | | -The following Link relations must exist in the Landing Page (root). |
| 28 | +All functionality is only defined for `GET /collections` in *OGC API - Records - Part 2: Collections*. |
29 | 29 |
|
30 | | -| **rel** | **href** | **Description** | |
31 | | -| ------------------- | --------------------- | --------------------------- | |
32 | | -| `collection-search` | `/search/collections` | URI for the Search endpoint | |
| 30 | +*Note:* STAC may add behavior for `POST /collections` in the future, but due to a potential conflict |
| 31 | +with the Transaction Extension, specific rules for content negotiation might be required. |
33 | 32 |
|
34 | | -This `collection-search` link relation must have a `type` of `application/json`. If no `method` attribute is |
35 | | -specified, it is assumed to represent a GET request. If the server supports both GET and POST requests, two links should be included, one with a `method` of `GET` one with a `method` of `POST`. |
| 33 | +## Pagination |
36 | 34 |
|
37 | | -Other links with relation `collection-search` may be included that advertise other content types the server may respond |
38 | | -with, but these other types are not part of the STAC API requirements. |
| 35 | +Pagination for collections works exactly as it defined for Collections in general. |
| 36 | +See [Collection Pagination](https://github.com/radiantearth/stac-api-spec/blob/main/ogcapi-features/README.md#collection-pagination) |
| 37 | +for details. |
39 | 38 |
|
40 | 39 | ## Query Parameters and Fields |
41 | 40 |
|
42 | 41 | ### Basics |
43 | 42 |
|
44 | | -A basic set of query parameters can be implemented based on |
45 | | -[OGC API - Commons - Part 2](https://portal.ogc.org/files/99149#rc-simple-query-section): |
| 43 | +A basic set of query parameters MUST be implemented. |
| 44 | +These are aligned with the corresponding parameters in STAC API - Features: |
46 | 45 | - `bbox` |
47 | 46 | - `datetime` |
48 | 47 | - `limit` |
49 | 48 |
|
50 | | -Conformance classes: |
51 | | -- `http://www.opengis.net/spec/ogcapi-common-2/1.0/req/simple-query` |
52 | | -- `https://api.stacspec.org/v1.0.0-rc.1/collection-search#simple` |
| 49 | +Requirement class in *OGC API - Common - Part 2: Geospatial Data*: [Simple Query](https://portal.ogc.org/files/99149#rc-simple-query-section) |
53 | 50 |
|
54 | | -These are basically the same as defined by OGC API - Features for Items. |
| 51 | +### Extensions |
55 | 52 |
|
56 | | -### Query (STACQL) |
| 53 | +#### Query (STACQL) |
57 | 54 |
|
58 | 55 | The query extension for STACQL support can be implemented, too. It works as it does for Items. |
59 | 56 | See <https://github.com/stac-api-extensions/query> for details. |
60 | 57 |
|
61 | | -Conformance class: `https://api.stacspec.org/v1.0.0-rc.1/collection-search#query` |
| 58 | +- Requirement class in *OGC API - Records - Part 2: Collections*: n/a |
| 59 | +- Conformance class: `https://api.stacspec.org/v1.0.0-rc.1/collection-search#query` |
62 | 60 |
|
63 | | -### Filter (CQL) |
| 61 | +#### Filter (CQL) |
64 | 62 |
|
65 | 63 | The filter extension for CQL support can be implemented, too. It works as it does for Items. |
66 | 64 | See <https://github.com/stac-api-extensions/filter> for details. |
67 | 65 |
|
68 | | -Conformance class: `https://api.stacspec.org/v1.0.0-rc.1/collection-search#filter` |
| 66 | +- Requirement class in *OGC API - Records - Part 2: Collections*: CQL Filter |
| 67 | +- Conformance classes: |
| 68 | + - `https://api.stacspec.org/v1.0.0-rc.1/collection-search#filter` |
| 69 | + - `http://www.opengis.net/spec/ogcapi-records-1/1.0/req/cql-filter` |
69 | 70 |
|
70 | | -### Pagination |
71 | | - |
72 | | -Pagination works for Collections exactly as it works for Items. |
73 | | - |
74 | | -Conformance class: None |
75 | | - |
76 | | -### Sorting |
| 71 | +#### Sorting |
77 | 72 |
|
78 | 73 | The sort extension can be implemented, too. It works as it does for Items. |
79 | 74 | See <https://github.com/stac-api-extensions/sort> for details. |
80 | 75 |
|
81 | | -Conformance class: `https://api.stacspec.org/v1.0.0-rc.1/collection-search#sort` |
| 76 | +- Requirement class in *OGC API - Records - Part 2: Collections*: Sorting |
| 77 | +- Conformance classes: |
| 78 | + - `https://api.stacspec.org/v1.0.0-rc.1/collection-search#sort` |
| 79 | + - `http://www.opengis.net/spec/ogcapi-records-1/1.0/req/sorting` |
82 | 80 |
|
83 | | -### Fields |
| 81 | +#### Fields |
84 | 82 |
|
85 | 83 | The fields extension can be implemented, too. It works as it does for Items. |
86 | 84 | See <https://github.com/stac-api-extensions/fields> for details. |
87 | 85 |
|
88 | | -Conformance class: `https://api.stacspec.org/v1.0.0-rc.1/collection-search#fields` |
| 86 | +- Requirement class in *OGC API - Records - Part 2: Collections*: n/a |
| 87 | +- Conformance class: `https://api.stacspec.org/v1.0.0-rc.1/collection-search#fields` |
89 | 88 |
|
90 | | -### Context |
| 89 | +#### Context |
91 | 90 |
|
92 | 91 | The context extension can be implemented, too. It works as it does for Items. |
93 | 92 | See <https://github.com/stac-api-extensions/context> for details. |
94 | 93 |
|
95 | | -Conformance class: `https://api.stacspec.org/v1.0.0-rc.1/collection-search#context` |
96 | | - |
97 | | -These extensions provide additional functionality that enhances Item Search. |
| 94 | +- Requirement class in *OGC API - Records - Part 2: Collections*: n/a |
| 95 | +- Conformance class: `https://api.stacspec.org/v1.0.0-rc.1/collection-search#context` |
0 commit comments