Supported filter languages(支持的过滤语言)
GeoServer中的数据过滤是基于OGC过滤器编码规范中的概念。
GeoServer接受以两种不同语言编码的过滤器:过滤器编码(Filter Encoding)和通用查询语言(CQL/ECQL,Common Query Language)。
Filter Encoding(过滤器编码)
过滤器编码语言是一种用于定义过滤器的基于XML的方法。 XML过滤器可以在GeoServer的下列地方使用:
- 在WMS GetMap请求中,使用filter参数
- 在WFS GetFeature请求中,使用filter参数
- 在SLD规则中的Filter元素中
过滤器编码语言由OGC过滤器编码标准定义:
- Filter Encoding 1.0用于WFS 1.0和SLD 1.0
- Filter Encoding 1.1用于WFS 1.1
- Filter Encoding 2.0用于WFS 2.0
CQL/ECQL(通用查询语言/扩展通用查询语言)
CQL(通用查询语言)是为OGC目录规范创建的纯文本语言。 GeoServer已将其改编为易于使用的过滤机制。 GeoServer实际上实现了一个更强大的扩展,叫做ECQL(扩展CQL),它可以表达OGC Filter 1.1能够编码的所有过滤器。 在GeoServer的许多地方都接受ECQL:
- 在WMS GetMap请求中,使用cql_filter参数
- 在WFS GetFeature请求中,使用cql_filter参数
- 在SLD动态符号化器中
ECQL参考描述了ECQL语言的功能。 CQL和ECQL教程显示了定义过滤器的示例。
CQL和ECQL语言定义如下:
- OpenGIS目录服务规范包含CQL的标准定义
- ECQL语法是定义GeoTools ECQL实现的语法