The ext_query() is the exported function of the STAC API
query extension. It can be used after a call to stac_search()
function. It allows that additional fields and operators other than those
defined in stac_search() function be used to make a complex filter.
The function accepts multiple filter criteria. Each filter entry is an
expression formed by <field> <operator> <value>, where
<field> refers to a valid item property. Supported <fields>
depends on STAC API service implementation. The users must rely on the
service providers' documentation to know which properties can be used
by this extension.
The ext_query() function allows the following <operators>
==corresponds to 'eq'!=corresponds to 'neq'<corresponds to 'lt'<=corresponds to 'lte'>corresponds to 'gt'>=corresponds to 'gte'\%startsWith\%corresponds to 'startsWith' and implements a string prefix search operator.\%endsWith\%corresponds to 'endsWith' and implements a string suffix search operator.\%contains\%: corresponds to 'contains' and implements a string infix search operator.\%in\%: corresponds to 'in' and implements a vector search operator.
Besides this function, the following S3 generic methods were implemented to get things done for this extension:
The
before_request()for subclassext_queryThe
after_response()for subclassext_query
See source file ext_query.R for an example of how to implement new
extensions.
Value
A rstac_query object with the subclass ext_query containing
all request parameters to be passed to post_request() function.
Examples
if (FALSE) { # \dontrun{
stac("https://brazildatacube.dpi.inpe.br/stac/") %>%
stac_search(collections = "CB4-16D-2") %>%
ext_query("bdc:tile" %in% "007004") %>%
post_request()
} # }
