Filters {@linkplain org.opengis.feature.Feature features} according their properties. A filter expression is a construct used to constraints the property values of an object type for the purpose of identifying a subset of object instances to be operated upon in some manner.

The following is adapted from the OpenGIS® Filter Encoding Implementation Specification:

- 02-059 1.0 Filter Encoding
- 04-095 1.1 Filter Encoding Implementation Specification

### Comparison operators

A comparison operator is used to form expressions that evaluate the mathematical comparison between two arguments. If the arguments satisfy the comparison then the expression {@linkplain org.opengis.filter.Filter#evaluate evaluates} to {@code true}. Otherwise the expression evaluates to {@code false}.

In addition to the standard set ({@code =},{@code <},{@code >},{@code >=},{@code <=},{@code <>}) of comparison operators, this package defines the elements {@link org.opengis.filter.PropertyIsLike}, {@link org.opengis.filter.PropertyIsBetween} and {@link org.opengis.filter.PropertyIsNull}.

### Logical operators

A logical operator can be used to combine one or more conditional expressions. The logical operator {@link org.opengis.filter.And} evaluates to {@code true} if all the combined expressions evaluate to {@code true}. The operator {@link org.opengis.filter.Or} operator evaluates to {@code true} is any of the combined expressions evaluate to {@code true}. The {@link org.opengis.filter.Not} operator reverses the logical value of an expression. The elements {@code And}, {@code Or} and {@code Not} can be used to combine scalar, spatial and other logical expressions to form more complex compound expressions.

### Identity

Identity can be checked using {@link org.opengis.filter.Id}, selected objects will are matched against a set of {@link org.opengis.filter.identiy.Identifier}.