Extracts bounds from filters that pertain to a given attribute.
Extracts bounds from filters that pertain to a given attribute. Bounds will be merged where possible.
filter to evaluate
attribute name to consider
attribute type
a sequence of bounds, if any
Extracts geometries from a filter into a sequence of OR'd geometries
Extracts geometries from a filter into a sequence of OR'd geometries
filter to evaluate
attribute to consider
intersect AND'd geometries or return them all note if not intersected, 'and/or' distinction will be lost
geometry bounds from spatial filters
Extracts intervals from a filter.
Extracts intervals from a filter. Intervals will be merged where possible - the resulting sequence is considered to be a union (i.e. OR)
filter to evaluate
attribute to consider
intersect extracted values together, or return them all note if not intersected, 'and/or' distinction will be lost
a sequence of intervals, if any. disjoint intervals will result in Seq((null, null))
Flattens nested ands and ors.
Flattens nested ands and ors.
Example: AND(1, AND(2, 3)) -> AND(1, 2, 3)
filter
Simplifies filters to make them easier to process.
Simplifies filters to make them easier to process.
Current simplifications:
1) Extracts out common parts in an OR clause to simplify further processing.
Example: OR(AND(1, 2), AND(1, 3), AND(1, 4)) -> AND(1, OR(2, 3, 4))
2) N/A - add more simplifications here as needed
filter
Returns the intersection of this geometry with the world polygon
Returns the intersection of this geometry with the world polygon
Note: may return the geometry itself if it is already covered by the world
geometry
Creates a new filter with valid bounds and attribute
Creates a new filter with valid bounds and attribute
spatial op
simple feature type
valid op