Feature Collections - Queryablesspecstableimplmature
Metadata about the properties of the features in a feature collection that can be used in filter expressions.
Scope
The queryables are represented as a schema where each queryable is a property. The schema for each queryable is automatically derived from the definition of the property in the feature provider. Supported encodings are JSON Schema and HTML.
The following types of properties cannot be queryables:
- objects or arrays of objects;
- properties with multiple sources, i.e., with
coalesce
orconcat
.
If the queryable property is a value, e.g., a string or integer, that is nested in an array, the type of the queryable will be an array of values.
Limitations
The draft of OGC API - Features - Part 3 does not specify how a queryable that is a feature reference which has more variables than the local feature id should be handled. If such a property is a queryable, the current implementation uses the local feature id as the value of the queryable. That is, such queryables are only useful, if the local feature ids are globally unique. As such, the current approach is a temporary solution that may still change in the future, if the behavior is specified in a standard.
Conformance Classes
Feature Collections - Queryables implements all requirements and recommendations of chapter 6 ("Queryables") of the draft OGC API - Features - Part 3: Filtering.
Operations
Resource | Path | Methods | Media Types | Description |
---|---|---|---|---|
Queryables | collections/{collectionId}/queryables | GET | HTML, JSON | The Queryables resource identifies and describes the properties that can be referenced in filter expressions to select specific features that meet the criteria identified in the filter. The response is a JSON Schema document that describes a single JSON object where each property is a queryable. |
Path Parameters
Name | Resources | Description |
---|---|---|
collectionId | Queryables | The identifier of the feature collection. |
Query Parameters
Name | Resources | Description |
---|---|---|
f | Queryables | Select the output format of the response. If no value is provided, the standard HTTP rules apply, i.e., the "Accept" header will be used to determine the format. |
Configuration
Options
Name | Default | Description | Type | Since |
---|---|---|---|---|
buildingBlock | Always QUERYABLES . | string | v3.1 | |
extensionType | Deprecated See buildingBlock . | string | v3.1 | |
enabled | false | Enable the building block? | boolean | v3.1 |
caching | {} | Sets fixed values for HTTP Caching Headers for the resources. | object | v3.1 |
included | [] | The list of properties that can be used in CQL2 filter expressions and/or for which filtering query parameters are provided for a collection. Properties that are not of type OBJECT or OBJECT_ARRAY are eligible as queryables unless isQueryable is set to false for the property. The special value * includes all eligible properties as queryables. By default, no property is queryable (this is for backwards compatibility, in v4.0 the default behaviour will change to all eligible properties). | array | v3.4 |
excluded | [] | The list of properties that would be queryables based on included , but which should not be queryables. | array | v3.4 |
pathSeparator | DOT | The character that is used as the path separator in case of object-valued properties. Either DOT or UNDERSCORE . | string | v3.4 |
enableEndpoint | false | If true , the Queryables endpoint will be enabled. | boolean | v3.4 |
asQueryParameters | true | If true , all queryables with a simple value (string, number or boolean) will be provided query parameters to filter features. | boolean | v3.4 |
Examples
- buildingBlock: QUERYABLES
enabled: true
included:
- *
excluded:
- foo
- bar
pathSeparator: UNDERSCORE
asQueryParameters: false