You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
-[STAC API - Item Search](https://github.com/radiantearth/stac-api-spec/tree/v1.0.0-rc.1/item-search)
10
10
-[STAC API - Features](https://github.com/radiantearth/stac-api-spec/tree/v1.0.0-rc.1/ogcapi-features)
11
11
12
-
STAC API by default returns every attribute in an item. However, Item objects can have hundreds of fields, or incredibly large
13
-
geometries, and even smaller Item objects can get big when millions are requested but not all information is used. This
14
-
fragment provides a mechanism for clients to request that servers to explicitly include or exclude certain fields.
12
+
By default, STAC API endpoints that return Item objects return every field of those Items. However,
13
+
Item objects can have hundreds of fields, or large
14
+
geometries, and even smaller Item objects can add up when large numbers of them are in results. Frequently, not all
15
+
fields in an Item are used, so this
16
+
specification provides a mechanism for clients to request that servers to explicitly include or exclude certain fields.
15
17
16
-
This fragment may be bound to either or both of
18
+
This behavior may be bound to either or both of
17
19
[STAC API - Item Search](https://github.com/radiantearth/stac-api-spec/tree/v1.0.0-rc.1/item-search) (`/search` endpoint) or
18
-
[STAC API - Features](https://github.com/radiantearth/stac-api-spec/tree/v1.0.0-rc.1/ogcapi-features) (`/collections/{collectionId}/items` endpoint) by
19
-
advertising the relevant conformance class.
20
+
[STAC API - Features](https://github.com/radiantearth/stac-api-spec/tree/v1.0.0-rc.1/ogcapi-features)
21
+
(`/collections/{collectionId}/items` endpoint) by advertising the relevant conformance class.
20
22
21
23
When used in a POST request with `Content-Type: application/json`, this adds an attribute `fields` with
22
24
an object value to the core JSON search request body. The `fields` object contains two attributes with string array
23
25
values, `include` and `exclude`.
24
26
25
-
When used with GET or POST with `Content-Type: application/x-www-form-urlencoded` or
26
-
`Content-Type: multipart/form-data`, the semantics are the same, except the syntax is a single parameter `fields` with
27
+
When used with GET, the semantics are the same, except the syntax is a single parameter `fields` with
27
28
a comma-separated list of attribute names, where `exclude` values are those prefixed by a `-` and `include` values are
28
29
those with no prefix, e.g., `-geometry`, or `id,-geometry,properties`.
29
30
@@ -39,8 +40,8 @@ Implementations are also not required to implement semantics for nested values w
39
40
exclude attributes of that object, e.g., include `properties` but exclude `properties.datetime`.
40
41
41
42
No error must be returned if a specified field has no value for it in the catalog. For example, if the attribute
42
-
"properties.eo:cloud_cover" is specified but there is no cloud cover value for an Item or the API does not even
43
-
support the EO Extension, a successful HTTP response must be returned and the Item entities will not contain that
43
+
"properties.eo:cloud_cover" is specified but there is no cloud cover value for an Item, a successful HTTP response
44
+
must be returned and the Item entities will not contain that
44
45
attribute.
45
46
46
47
If no `fields` are specified, the response is **must** be a valid
@@ -50,7 +51,13 @@ and `geometry` are excluded, the entity will not even be a valid GeoJSON Feature
50
51
will not be a valid STAC Item.
51
52
52
53
Implementations may return attributes not specified, e.g., id, but must avoid anything other than a minimal entity
53
-
representation.
54
+
representation.
55
+
56
+
This specification does not yet require the implementation of an "-ables" endpoint (like CQL2 does for queryables)
57
+
that defines the names of the
58
+
fields that can be selected, so implementations must provide this out-of-band. Implementers may choose to require
59
+
fields in Item Properties to be prefixed with `properties.` or not, or support use of both the prefixed and non-prefixed
0 commit comments