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
null
- Filter.INCLUDES will result in a "world" envelope with range Double.NEGATIVE_INFINITY to
Double.POSITIVE_INFINITY for each axis.
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
Constructor Summary |
protected |
ExtractBoundsFilterVisitor()
This FilterVisitor is stateless - use ExtractBoundsFilterVisitor.BOUNDS_VISITOR. |
Method Summary |
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(DWithin filter,
Object data)
|
Object |
visit(Equals filter,
Object data)
|
Object |
visit(ExcludeFilter 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(Overlaps filter,
Object data)
|
Object |
visit(Touches filter,
Object data)
|
Object |
visit(Within filter,
Object data)
|
Methods inherited from class NullFilterVisitor |
visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visitNullFilter |
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(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
Copyright © 1996-2009 Geotools. All Rights Reserved.