CQL support


The support to CQL is limited to Simple CQL filter and thus it allows to query with the following predicates:

  • comparison predicates

  • spatial predicates

  • temporal predicates


At the moment pygeoapi supports only the CQL dialect with the JSON encoding CQL-JSON.


As of now the available providers supported for CQL filtering are limited to only Elasticsearch.


The following type of queries are supported right now:

  • between predicate query

  • Logical and query with between and eq expression

  • Spatial query with bbox


A between example for a specific property through an HTTP POST request:

curl --location --request POST 'http://localhost:5000/collections/nhsl_hazard_threat_all_indicators_s_bc/items?f=json&limit=50&filter-lang=cql-json' \
--header 'Content-Type: application/query-cql-json' \
--data-raw '{
  "between": {
    "value": { "property": "properties.MHn_Intensity" },
    "lower": 0.59,
    "upper": 0.60