Skip to content

Commit

Permalink
review: add back bbox and note that bbox and geometry are not yet sup…
Browse files Browse the repository at this point in the history
…ported for filtering
  • Loading branch information
pjhartzell committed Jan 23, 2025
1 parent b3a8f78 commit adc6110
Showing 1 changed file with 16 additions and 7 deletions.
23 changes: 16 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -945,23 +945,32 @@ not advertise any queryables properties (note the empty `properties` field):
### Filter Extension

Stac-server currently implements the Filter Extension such that the `id`, `collection`,
and `geometry` Item fields and all fields in the `properties` object of an Item are always
available as filter terms for a Collection, regardless of whether a Collection defines a
`queryables` field or not. This behavior aligns with a value of `true` for the
`bbox`, and `geometry` Item fields and all fields in the `properties` object of an Item
are always available as filter terms for a Collection, regardless of whether a Collection
defines a `queryables` field or not. This behavior aligns with a value of `true` for the
`additionalProperties` field in the queryables definition. Stac-server currently
_requires_ `additionalProperties` to be `true`; a value of `false`, which would restrict
filtering to only those `properties` defined in a Collection's queryable schema, is not
**requires** `additionalProperties` to be `true`; a value of `false`, which would restrict
filtering to only those `properties` defined in a Collection's queryables schema, is not
supported and will raise an error. Thus, adding a `queryables` field to a Collection is
informative only - it does not change the behavior of a filter.

Note that when creating a filter expression that uses fields from the `properties` object
in an Item, the fields **must not** be prefixed, e.g., use `eo:cloud_cover` instead of
`properties.eo:cloud_cover` in the filter expression. Care must be taken that terms used
in a filter expression exactly match the field names in the Item `properties` object.
There is no validation that filter expression terms are correct, so if you search for a
in a filter expression exactly match the field names in the Item `properties` object;
there is no validation that filter expression terms are correct, so if you search for a
field that doesn't exist in an Item's `properties` object, that Item will never be
matched.

The`id`, `collection`, `bbox`, and `geometry` fields also **must not** be prefixed since
they are top-level Item fields. Note that until the [Basic Spatial Functions with
additional Spatial
Literals](https://docs.ogc.org/is/21-065r2/21-065r2.html#rc_basic-spatial-functions-plus)
and [Array
Functions](https://docs.ogc.org/is/21-065r2/21-065r2.html#_conformance_class_array_functions)
conformance classes are implemented, searching over the `bbox` and `geometry` fields is
not supported.

### Query Extension

Unlike the Filter Extension, the Query Extension does not (yet) define a mechanism to
Expand Down

0 comments on commit adc6110

Please sign in to comment.