org.geotools.filter.visitor
Class ExtractBoundsFilterVisitor
Object
NullFilterVisitor
ExtractBoundsFilterVisitor
- All Implemented Interfaces:
- ExpressionVisitor, FilterVisitor
public class ExtractBoundsFilterVisitor
- extends NullFilterVisitor
Extract a maximal envelope from the provided Filter.
The maximal envelope is generated from:
- all the literal geometry instances involved if spatial operations - using
geom.getEnvelopeInternal().
- Filter.EXCLUDES will result in an empty envelope
- Filter.INCLUDES will result in a "world" envelope with range Double.NEGATIVE_INFINITY to
Double.POSITIVE_INFINITY for each axis.
- all other non spatial filters will result in a world envelope
- combinations in and will return the intersection of the envelopes, or an empty envelope
if an exclude is in the mix, or null if the and is mixing non spatial filters
- combinations in or will return the intersection of
Since geometry literals do not contains CRS information we can only produce a ReferencedEnvelope
without CRS information. You can call this function with an existing ReferencedEnvelope
or with your data CRS to correct for this limitation.
ReferencedEnvelope example:
ReferencedEnvelope bbox = (ReferencedEnvelope)
filter.accepts(new ExtractBoundsFilterVisitor(), dataCRS );
You can also call this function with an existing Envelope; if you are building up bounds based on
several filters.
This is a replacement for FilterConsumer.
- Author:
- Jody Garnett
- Module:
modules/library/main (gt-main.jar)
Constructor Summary |
protected |
ExtractBoundsFilterVisitor()
This FilterVisitor is stateless - use ExtractBoundsFilterVisitor.BOUNDS_VISITOR. |
Method Summary |
Object |
visit(Add expression,
Object data)
|
Object |
visit(And filter,
Object data)
|
Object |
visit(BBOX filter,
Object data)
|
Object |
visit(Beyond filter,
Object data)
|
Object |
visit(Contains filter,
Object data)
|
Object |
visit(Crosses filter,
Object data)
|
Object |
visit(Disjoint filter,
Object data)
|
Object |
visit(Divide expression,
Object data)
|
Object |
visit(DWithin filter,
Object data)
|
Object |
visit(Equals filter,
Object data)
|
Object |
visit(ExcludeFilter filter,
Object data)
|
Object |
visit(Function expression,
Object data)
|
Object |
visit(Id filter,
Object data)
|
Object |
visit(IncludeFilter filter,
Object data)
|
Object |
visit(Intersects filter,
Object data)
|
Object |
visit(Literal expression,
Object data)
Please note we are only visiting literals involved in spatial operations. |
Object |
visit(Multiply expression,
Object data)
|
Object |
visit(NilExpression expression,
Object data)
|
Object |
visit(Not filter,
Object data)
|
Object |
visit(Or filter,
Object data)
|
Object |
visit(Overlaps filter,
Object data)
|
Object |
visit(PropertyIsBetween filter,
Object data)
|
Object |
visit(PropertyIsEqualTo filter,
Object data)
|
Object |
visit(PropertyIsGreaterThan filter,
Object data)
|
Object |
visit(PropertyIsGreaterThanOrEqualTo filter,
Object data)
|
Object |
visit(PropertyIsLessThan filter,
Object data)
|
Object |
visit(PropertyIsLessThanOrEqualTo filter,
Object data)
|
Object |
visit(PropertyIsLike filter,
Object data)
|
Object |
visit(PropertyIsNotEqualTo filter,
Object data)
|
Object |
visit(PropertyIsNull filter,
Object data)
|
Object |
visit(PropertyName expression,
Object data)
|
Object |
visit(Subtract expression,
Object data)
|
Object |
visit(Touches filter,
Object data)
|
Object |
visit(Within filter,
Object data)
|
Object |
visitNullFilter(Object data)
|
Methods inherited from class Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
BOUNDS_VISITOR
public static NullFilterVisitor BOUNDS_VISITOR
ExtractBoundsFilterVisitor
protected ExtractBoundsFilterVisitor()
- This FilterVisitor is stateless - use ExtractBoundsFilterVisitor.BOUNDS_VISITOR.
You may also subclass in order to reuse this functionality in your own
FilterVisitor implementation.
visit
public Object visit(ExcludeFilter filter,
Object data)
- Specified by:
visit
in interface FilterVisitor
- Overrides:
visit
in class NullFilterVisitor
visit
public Object visit(IncludeFilter filter,
Object data)
- Specified by:
visit
in interface FilterVisitor
- Overrides:
visit
in class NullFilterVisitor
visit
public Object visit(BBOX filter,
Object data)
- Specified by:
visit
in interface FilterVisitor
- Overrides:
visit
in class NullFilterVisitor
visit
public Object visit(Literal expression,
Object data)
- Please note we are only visiting literals involved in spatial operations.
- Specified by:
visit
in interface ExpressionVisitor
- Overrides:
visit
in class NullFilterVisitor
- Parameters:
literal,
- hopefully a Geometry or Envelopedata
- Incoming BoundingBox (or Envelope or CRS)
- Returns:
- ReferencedEnvelope updated to reflect literal
visit
public Object visit(And filter,
Object data)
- Specified by:
visit
in interface FilterVisitor
- Overrides:
visit
in class NullFilterVisitor
visit
public Object visit(Not filter,
Object data)
- Specified by:
visit
in interface FilterVisitor
- Overrides:
visit
in class NullFilterVisitor
visit
public Object visit(Or filter,
Object data)
- Specified by:
visit
in interface FilterVisitor
- Overrides:
visit
in class NullFilterVisitor
visit
public Object visit(Beyond filter,
Object data)
- Specified by:
visit
in interface FilterVisitor
- Overrides:
visit
in class NullFilterVisitor
visit
public Object visit(Contains filter,
Object data)
- Specified by:
visit
in interface FilterVisitor
- Overrides:
visit
in class NullFilterVisitor
visit
public Object visit(Crosses filter,
Object data)
- Specified by:
visit
in interface FilterVisitor
- Overrides:
visit
in class NullFilterVisitor
visit
public Object visit(Disjoint filter,
Object data)
- Specified by:
visit
in interface FilterVisitor
- Overrides:
visit
in class NullFilterVisitor
visit
public Object visit(DWithin filter,
Object data)
- Specified by:
visit
in interface FilterVisitor
- Overrides:
visit
in class NullFilterVisitor
visit
public Object visit(Equals filter,
Object data)
- Specified by:
visit
in interface FilterVisitor
- Overrides:
visit
in class NullFilterVisitor
visit
public Object visit(Intersects filter,
Object data)
- Specified by:
visit
in interface FilterVisitor
- Overrides:
visit
in class NullFilterVisitor
visit
public Object visit(Overlaps filter,
Object data)
- Specified by:
visit
in interface FilterVisitor
- Overrides:
visit
in class NullFilterVisitor
visit
public Object visit(Touches filter,
Object data)
- Specified by:
visit
in interface FilterVisitor
- Overrides:
visit
in class NullFilterVisitor
visit
public Object visit(Within filter,
Object data)
- Specified by:
visit
in interface FilterVisitor
- Overrides:
visit
in class NullFilterVisitor
visit
public Object visit(Add expression,
Object data)
- Specified by:
visit
in interface ExpressionVisitor
- Overrides:
visit
in class NullFilterVisitor
visit
public Object visit(Divide expression,
Object data)
- Specified by:
visit
in interface ExpressionVisitor
- Overrides:
visit
in class NullFilterVisitor
visit
public Object visit(Function expression,
Object data)
- Specified by:
visit
in interface ExpressionVisitor
- Overrides:
visit
in class NullFilterVisitor
visit
public Object visit(Id filter,
Object data)
- Specified by:
visit
in interface FilterVisitor
- Overrides:
visit
in class NullFilterVisitor
visit
public Object visit(Multiply expression,
Object data)
- Specified by:
visit
in interface ExpressionVisitor
- Overrides:
visit
in class NullFilterVisitor
visit
public Object visit(NilExpression expression,
Object data)
- Specified by:
visit
in interface ExpressionVisitor
- Overrides:
visit
in class NullFilterVisitor
visit
public Object visit(PropertyIsBetween filter,
Object data)
- Specified by:
visit
in interface FilterVisitor
- Overrides:
visit
in class NullFilterVisitor
visit
public Object visit(PropertyIsEqualTo filter,
Object data)
- Specified by:
visit
in interface FilterVisitor
- Overrides:
visit
in class NullFilterVisitor
visit
public Object visit(PropertyIsGreaterThan filter,
Object data)
- Specified by:
visit
in interface FilterVisitor
- Overrides:
visit
in class NullFilterVisitor
visit
public Object visit(PropertyIsGreaterThanOrEqualTo filter,
Object data)
- Specified by:
visit
in interface FilterVisitor
- Overrides:
visit
in class NullFilterVisitor
visit
public Object visit(PropertyIsLessThan filter,
Object data)
- Specified by:
visit
in interface FilterVisitor
- Overrides:
visit
in class NullFilterVisitor
visit
public Object visit(PropertyIsLessThanOrEqualTo filter,
Object data)
- Specified by:
visit
in interface FilterVisitor
- Overrides:
visit
in class NullFilterVisitor
visit
public Object visit(PropertyIsLike filter,
Object data)
- Specified by:
visit
in interface FilterVisitor
- Overrides:
visit
in class NullFilterVisitor
visit
public Object visit(PropertyIsNotEqualTo filter,
Object data)
- Specified by:
visit
in interface FilterVisitor
- Overrides:
visit
in class NullFilterVisitor
visit
public Object visit(PropertyIsNull filter,
Object data)
- Specified by:
visit
in interface FilterVisitor
- Overrides:
visit
in class NullFilterVisitor
visit
public Object visit(PropertyName expression,
Object data)
- Specified by:
visit
in interface ExpressionVisitor
- Overrides:
visit
in class NullFilterVisitor
visit
public Object visit(Subtract expression,
Object data)
- Specified by:
visit
in interface ExpressionVisitor
- Overrides:
visit
in class NullFilterVisitor
visitNullFilter
public Object visitNullFilter(Object data)
- Specified by:
visitNullFilter
in interface FilterVisitor
- Overrides:
visitNullFilter
in class NullFilterVisitor
Copyright © 1996-2009 Geotools. All Rights Reserved.