Add CQL fillter and filter-crs query parameters #130
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR adds query parameters
filter
andfilter-crs
, with filters expressed in the CQL text language.Note: the CQL language parser is a direct copy from
pg_featureserv
. Ideally these will be kept in synch going forward.CQL Support
CQL expressions supported are:
id
,name
)'foo'
,'A text value'
)12
,98.678
)+
,-
,*
,/
and%
(modulo).<
,<=
,>
,>=
,=
,<>
)property [NOT] BETWEEN a AND B
property [NOT] IN ( value-list )
property [NOT] (LIKE | ILIKE) pattern
pattern
can include%
wildcardsproperty [NOT] IS NULL
AND
,OR
,NOT
and(...)
)Geometry Literals
Spatial Predicates
INTERSECTS
- tests whether two geometries intersectDISJOINT
- tests whether two geometries have no points in commonCONTAINS
- tests whether a geometry contains anotherWITHIN
- tests whether a geometry is within anotherEQUALS
- tests whether two geometries are topologically equalCROSSES
- tests whether the geometries crossOVERLAPS
- tests whether the geometries overlapTOUCHES
- tests whether the geometries touchDWITHIN
- tests whether two geometries are within a given distanceExamples
Not included (yet)
pg_featureserv
)