Supported filter languages¶
Data filtering in GeoServer is based on the concepts found in the OGC Filter Encoding Specification.
GeoServer accepts filters encoded in two different languages: Filter Encoding and Common Query Language.
Filter Encoding¶
The Filter Encoding language is an XML-based method for defining filters. XML Filters can be used in the following places in GeoServer:
- in WMS GetMap requests, using the filter parameter
- in WFS GetFeature requests, using the filter parameter
- in SLD Rules, in the Filter element
The Filter Encoding language is defined in the following OGC specifications:
- OGC Filter encoding specification v 1.0, used in WFS 1.0 and SLD 1.0
- OGC Filter encoding specification v 1.1, used in WFS 1.1
CQL/ECQL¶
CQL (Common Query Language) is a plain-text language created for the OGC Catalog specification. GeoServer has adapted it to be an easy-to-use filtering mechanism. GeoServer actually implements a more powerful extension called ECQL (Extended CQL), which allows expressing the full range of filters that OGC Filter 1.1 can encode. ECQL is accepted in many places in GeoServer:
- in WMS GetMap requests, using the cql_filter parameter
- in WFS GetFeature requests, using the cql_filter parameter
- in SLD dynamic symbolizers
The ECQL Reference describes the features of the ECQL language. The CQL and ECQL tutorial shows examples of defining filters.
The CQL and ECQL languages are defined in:
- OpenGIS Catalog Services Specification contains the standard definition of CQL
- ECQL Grammar is the grammar defining the GeoTools ECQL implementation