Skip to content

Commit 82b0fd5

Browse files
author
Phil Varner
authored
Merge pull request #19 from stac-api-extensions/pv/housekeeping
fix link to Part 3 and update software support for cql2
2 parents a3e7934 + 380a4b4 commit 82b0fd5

File tree

1 file changed

+16
-10
lines changed

1 file changed

+16
-10
lines changed

README.md

Lines changed: 16 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@
8383
The Filter extension provides an expressive mechanism for searching based on Item attributes.
8484

8585
This extension references behavior defined in the
86-
[OGC API - Features - Part 3: Filtering and the Common Query Language (CQL2)](https://github.com/opengeospatial/ogcapi-features/tree/master/extensions/cql) and [Common Query Language (CQL2)
86+
[OGC API - Features - Part 3: Filtering and the Common Query Language (CQL2)](https://github.com/opengeospatial/ogcapi-features/tree/master/extensions/filtering) and [Common Query Language (CQL2)
8787
](https://github.com/opengeospatial/ogcapi-features/blob/master/cql2/README.md)
8888
specifications. As of November 2021, these specifications are still in draft status, but rapidly converging on
8989
finalized behavior. Several behaviors have changed since the
@@ -234,20 +234,24 @@ implementing CQL2 Text. From there, other comparison operators can be implemente
234234
dynamic Queryables schema.
235235

236236
Formal definitions and grammars for CQL2 can be found in the
237-
[OAFeat CQL spec](https://github.com/opengeospatial/ogcapi-features/tree/master/cql2) includes a BNF grammar
238-
for CQL2 Text and both a JSON Schema and an OpenAPI specification for CQL2 JSON. The standalone files are:
239-
237+
[OAFeat CQL spec](https://github.com/opengeospatial/ogcapi-features/tree/master/cql2) includes
238+
a BNF grammar for CQL2 Text and both a JSON Schema and an OpenAPI specification for CQL2 JSON.
239+
The standalone files are:
240+
240241
- [cql.bnf](https://github.com/opengeospatial/ogcapi-features/blob/master/extensions/cql/standard/schema/cql.bnf)
241242
- [cql.json](https://github.com/opengeospatial/ogcapi-features/blob/master/extensions/cql/standard/schema/cql.json)
242243
- [cql.yml](https://github.com/opengeospatial/ogcapi-features/blob/master/extensions/cql/standard/schema/cql.yml)
243244

244245
These projects have or are developing CQL2 support:
245246

246-
- [pgstac](https://github.com/stac-utils/pgstac) supports CQL2 JSON
247-
- [pygeofilter](https://github.com/geopython/pygeofilter) has support for CQL2 JSON and for the older ECQL standard that
247+
- [stac-fastapi-pgstac](https://github.com/stac-utils/stac-fastapi-pgstac) has support for
248+
CQL2 Text and CQL2 JSON, via using [pygeofilter](https://github.com/geopython/pygeofilter)
249+
to translate CQL2 Text to CQL2 JSON and processing the CQL2 JSON with
250+
[pgstac](https://github.com/stac-utils/pgstac)
251+
- [pygeofilter](https://github.com/geopython/pygeofilter) handles both CQL2 Text and CQL2 JSON,
252+
including the ability to convert from CQL2 Text to CQL2 JSON
248253
- [xtraplatform-spatial](https://github.com/interactive-instruments/xtraplatform-spatial) has support for CQL2 Text and provides an [ANTLR 4 grammer](https://github.com/interactive-instruments/xtraplatform-spatial/tree/master/xtraplatform-cql/src/main/antlr/de/ii/xtraplatform/cql/infra)
249254
- [Geotools](https://github.com/geotools/geotools) has support for [CQL2 text](https://github.com/geotools/geotools/tree/main/modules/library/cql/src/main/java/org/geotools/filter/text/cql2)
250-
- [Franklin](https://github.com/azavea/franklin) is working on it in [this PR](https://github.com/azavea/franklin/pull/750).
251255

252256
Note that the [xbib CQL library (JVM)](https://github.com/xbib/cql) is the OASIS Contextual Query Language, not
253257
OGC CQL, and should not be used to implement this extension, as they are significantly different query languages.
@@ -256,9 +260,11 @@ not compliant with this extension.
256260

257261
## Queryables
258262

259-
The Queryables mechanism allows a client to discover what terms are available for use when writing filter
260-
expressions. These terms are defined both over the entire catalog (at `/queryables`) and per collection (at `/collections/{collectionId}/queryables`). The decision as to which queryables to define
261-
for the entire catalog is at the discretion of the implementer, and can be anywhere between none and the union of all
263+
The Queryables mechanism allows a client to discover what terms are available for use when
264+
writing filter expressions. These terms are defined both over the entire catalog
265+
(at `/queryables`) and per collection (at `/collections/{collectionId}/queryables`).
266+
The decision as to which queryables to define for the entire catalog is at the discretion
267+
of the implementer, and can be anywhere between none and the union of all
262268
queryables across all collections.
263269

264270
By default, the queryables are the only terms that may be used

0 commit comments

Comments
 (0)