Filter Encoding Reference(过滤器编码参考)
这是GeoServer中实现的过滤器编码语言的参考。 过滤器编码语言使用基于XML的语法。 它由OGC过滤器编码标准定义。
过滤器用于从评估它们的上下文中选择要素或其他对象。 它们的功能类似于SQL“WHERE”子句。 一个过滤器指定一个条件(condition)。
Condition(条件)
condition是单个谓词( Predicate)元素,或逻辑运算符(Logical operators)的条件组合。
Predicate(谓词)
谓词是布尔值表达式,用于计算值之间的关系。 通过使用比较运算符(comparison operator)或空间运算符(spatial operator)指定谓词。 运算符用于将要过滤的要素的属性与其他要素属性或文字数据进行比较。
comparison operator(比较运算符)
比较运算符用于指定非空间属性的条件。
Binary Comparison operators(二元比较运算符)
二元比较运算符包括:
<PropertyIsEqualTo>
<PropertyIsNotEqualTo>
<PropertyIsLessThan>
<PropertyIsLessThanOrEqualTo>
<PropertyIsGreaterThan>
<PropertyIsGreaterThanOrEqualTo>
它们包含以下元素:
元素 | 是否必须? | 描述 |
Expression | Yes | 第一个要比较的值. 一般是一个 <PropertyName> . |
Expression | Yes | 第二个要比较的值 |
二元比较运算符元素可以包含可选的matchCase属性,值为true或false。 如果此属性为true(默认值),则字符串比较区分大小写。 如果属性为false,则字符串比较不检查大小写。
PropertyIsLike operator(PropertyIsLike运算符)
<PropertyIsLike>运算符将字符串属性值与文本模式(正则表达式)匹配。 它包含以下元素:
元素 | 是否必须? | 描述 |
<PropertyName> | Yes | 包含指定要测试的属性名称的字符串 |
<Literal> | Yes | 包含要匹配的模式字符串 |
模式由一系列常规字符和三个特殊模式字符指定。 模式字符由<PropertyIsLike>元素的下面三个必需属性定义:
- wildCard指定匹配零个或多个字符串字符的任何序列的模式字符
- singleChar指定匹配任何单个字符串字符的模式字符
- escapeChar指定可用于转义模式字符的转义字符
太长了,未完待续。。。