Package org.geotools.filter.spatial
Class BBOXImpl
-
- All Implemented Interfaces:
Filter,MultiValuedFilter,BBOX,BinarySpatialOperator,SpatialOperator,FilterType
public class BBOXImpl extends AbstractPreparedGeometryFilter implements BBOX
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class AbstractPreparedGeometryFilter
AbstractPreparedGeometryFilter.Literals
-
Nested classes/interfaces inherited from interface MultiValuedFilter
MultiValuedFilter.MatchAction
-
-
Field Summary
-
Fields inherited from class AbstractPreparedGeometryFilter
cacheValue, leftPreppedGeom, literals, rightPreppedGeom
-
Fields inherited from class GeometryFilterImpl
matchAction
-
Fields inherited from class BinaryComparisonAbstract
expression1, expression2
-
Fields inherited from class AbstractFilter
LOGGER
-
Fields inherited from interface FilterType
ALL, BETWEEN, COMPARE_EQUALS, COMPARE_GREATER_THAN, COMPARE_GREATER_THAN_EQUAL, COMPARE_LESS_THAN, COMPARE_LESS_THAN_EQUAL, COMPARE_NOT_EQUALS, FID, GEOMETRY_BBOX, GEOMETRY_BEYOND, GEOMETRY_CONTAINS, GEOMETRY_CROSSES, GEOMETRY_DISJOINT, GEOMETRY_DWITHIN, GEOMETRY_EQUALS, GEOMETRY_INTERSECTS, GEOMETRY_OVERLAPS, GEOMETRY_TOUCHES, GEOMETRY_WITHIN, LIKE, LOGIC_AND, LOGIC_NOT, LOGIC_OR, NONE, NULL
-
-
Constructor Summary
Constructors Constructor Description BBOXImpl(Expression name, double minx, double miny, double maxx, double maxy, String srs)BBOXImpl(Expression name, double minx, double miny, double maxx, double maxy, String srs, MultiValuedFilter.MatchAction matchAction)BBOXImpl(Expression e1, Expression e2)BBOXImpl(Expression e1, Expression e2, MultiValuedFilter.MatchAction matchAction)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description Objectaccept(FilterVisitor visitor, Object extraData)Accepts a visitor.protected booleanbasicEvaluate(Geometry left, Geometry right)Performs the calculation on the two geometries.static PolygonboundingPolygon(Envelope env)Generate bounding polygon for provided envelope.booleanevaluateInternal(Geometry left, Geometry right)Performs the calculation on the two geometries.BoundingBoxgetBounds()Return Bounding Box object representing the bounds of the filter @Return Bounds of FiltervoidsetExpression1(Expression expression)voidsetExpression2(Expression expression)voidsetPropertyName(String propertyName)-
Methods inherited from class GeometryFilterImpl
equals, evaluate, getGeometries, getMatchAction, hashCode, toString
-
Methods inherited from class BinaryComparisonAbstract
comparable, eval, eval, getExpression1, getExpression2, isMatchingCase
-
Methods inherited from class AbstractFilter
isCompareFilter, isGeometryDistanceFilter, isGeometryFilter, isLogicFilter, isMathFilter, isSimpleFilter
-
Methods inherited from class FilterAbstract
accepts, eval, eval
-
Methods inherited from interface BinarySpatialOperator
getExpression1, getExpression2
-
Methods inherited from interface MultiValuedFilter
getMatchAction
-
-
-
-
Constructor Detail
-
BBOXImpl
public BBOXImpl(Expression e1, Expression e2)
-
BBOXImpl
public BBOXImpl(Expression name, double minx, double miny, double maxx, double maxy, String srs)
-
BBOXImpl
public BBOXImpl(Expression e1, Expression e2, MultiValuedFilter.MatchAction matchAction)
-
BBOXImpl
public BBOXImpl(Expression name, double minx, double miny, double maxx, double maxy, String srs, MultiValuedFilter.MatchAction matchAction)
-
-
Method Detail
-
setPropertyName
public void setPropertyName(String propertyName)
-
evaluateInternal
public boolean evaluateInternal(Geometry left, Geometry right)
Description copied from class:GeometryFilterImplPerforms the calculation on the two geometries.- Specified by:
evaluateInternalin classGeometryFilterImpl- Parameters:
left- the geometry on the left of the equations (the geometry obtained from evaluating Expression1)right- the geometry on the right of the equations (the geometry obtained from evaluating Expression2)- Returns:
- true if the filter evaluates to true for the two geometries
-
basicEvaluate
protected boolean basicEvaluate(Geometry left, Geometry right)
Description copied from class:AbstractPreparedGeometryFilterPerforms the calculation on the two geometries. This is used to calculate the cached value in the case that both geometries are Literals. But in practice it is useful to extract this functionality into its own method.- Specified by:
basicEvaluatein classAbstractPreparedGeometryFilter- Parameters:
left- the geometry on the left of the equations (the geometry obtained from evaluating Expression1)right- the geometry on the right of the equations (the geometry obtained from evaluating Expression2)- Returns:
- true if the filter evaluates to true for the two geometries
-
accept
public Object accept(FilterVisitor visitor, Object extraData)
Description copied from interface:FilterAccepts a visitor.Implementations of all subinterfaces must have with a method whose content is the following:
return visitor.visit(this, extraData);
-
setExpression1
public void setExpression1(Expression expression)
- Overrides:
setExpression1in classAbstractPreparedGeometryFilter
-
setExpression2
public void setExpression2(Expression expression)
- Overrides:
setExpression2in classAbstractPreparedGeometryFilter
-
boundingPolygon
public static Polygon boundingPolygon(Envelope env)
Generate bounding polygon for provided envelope.For a ReferenedEnvelope the CoordinateReferenceSystem wil be preserved.
- Parameters:
env- The envelope to set as the bounds.- Throws:
IllegalFilterException- If the box can not be created.- TODO:
- Currently sets the SRID to null, which can cause problems with JTS when it comes to doing spatial tests
-
getBounds
public BoundingBox getBounds()
Description copied from interface:BBOXReturn Bounding Box object representing the bounds of the filter @Return Bounds of Filter
-
-