org.geotools.filter.spatial
Class BBOX3DImpl

Object
  extended by BBOX3DImpl
All Implemented Interfaces:
Filter, MultiValuedFilter, BBOX, BBOX3D, BinarySpatialOperator, SpatialOperator

public class BBOX3DImpl
extends Object
implements BBOX3D

A 3D BBOX Filter Implementation Supports filtering with BBOXes that have 3D coordinates including a minimum and maximum for the z-axis.

Author:
Niels Charlier

Nested Class Summary
 
Nested classes/interfaces inherited from interface MultiValuedFilter
MultiValuedFilter.MatchAction
 
Field Summary
 
Fields inherited from interface BBOX3D
NAME
 
Fields inherited from interface Filter
EXCLUDE, INCLUDE
 
Constructor Summary
BBOX3DImpl(PropertyName propertyName, ReferencedEnvelope3D env, FilterFactory factory)
           
 
Method Summary
 Object accept(FilterVisitor visitor, Object context)
          Accepts a visitor.
 boolean contains(SimpleFeature feature)
           
 boolean evaluate(Object feature)
          Give an object, this method determines if the test(s) represented by this filter object are passed.
 boolean evaluate(SimpleFeature feature)
           
 ReferencedEnvelope3D get3DEnvelope(Geometry geom)
           
 BoundingBox3D getBounds()
          Return 3D Bounding Box object representing the bounds of the filter
 Expression getExpression1()
          Returns an expression that will be evaluated to determine the first operand to the spatial predicate represented by this operator.
 Expression getExpression2()
          Returns an expression that will be evaluated to determine the second operand to the spatial predicate represented by this operator.
 MultiValuedFilter.MatchAction getMatchAction()
          Flag Controlling MatchAction property When one or more of the operands evaluates to multiple values rather than a single value, which action should be taken?
 double getMaxX()
          Assuming getExpression2() is a literal bounding box access the maximum value for the first ordinate.
 double getMaxY()
          Assuming getExpression2() is a literal bounding box access the maximum value for the second coordinate.
 double getMaxZ()
           
 double getMinX()
          Assuming getExpression2() is a literal bounding box access the minimum value for the first coordinate.
 double getMinY()
          Assuming getExpression2() is a literal bounding box access the minimum value for the second ordinate.
 double getMinZ()
           
 PropertyName getProperty()
           
 String getPropertyName()
          Name of the geometric property that will be used in this spatial operator.
 String getSRS()
          Returns the spatial reference system in which the bounding box coordinates contained by this object should be interpreted.
 boolean isMatchingCase()
           
 String toString()
           
 
Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

BBOX3DImpl

public BBOX3DImpl(PropertyName propertyName,
                  ReferencedEnvelope3D env,
                  FilterFactory factory)
Method Detail

getMaxX

public double getMaxX()
Description copied from interface: BBOX
Assuming getExpression2() is a literal bounding box access the maximum value for the first ordinate.

Specified by:
getMaxX in interface BBOX

getMaxY

public double getMaxY()
Description copied from interface: BBOX
Assuming getExpression2() is a literal bounding box access the maximum value for the second coordinate.

Specified by:
getMaxY in interface BBOX

getMinX

public double getMinX()
Description copied from interface: BBOX
Assuming getExpression2() is a literal bounding box access the minimum value for the first coordinate.

Specified by:
getMinX in interface BBOX

getMinY

public double getMinY()
Description copied from interface: BBOX
Assuming getExpression2() is a literal bounding box access the minimum value for the second ordinate.

Specified by:
getMinY in interface BBOX

getMinZ

public double getMinZ()

getMaxZ

public double getMaxZ()

getProperty

public PropertyName getProperty()

getPropertyName

public String getPropertyName()
Description copied from interface: BBOX
Name of the geometric property that will be used in this spatial operator.

This may be null if the default spatial property is to be used.

Specified by:
getPropertyName in interface BBOX

getSRS

public String getSRS()
Description copied from interface: BBOX
Returns the spatial reference system in which the bounding box coordinates contained by this object should be interpreted.

This string must take one of two forms: either

Specified by:
getSRS in interface BBOX

getBounds

public BoundingBox3D getBounds()
Description copied from interface: BBOX3D
Return 3D Bounding Box object representing the bounds of the filter

Specified by:
getBounds in interface BBOX
Specified by:
getBounds in interface BBOX3D

getExpression1

public Expression getExpression1()
Description copied from interface: BinarySpatialOperator
Returns an expression that will be evaluated to determine the first operand to the spatial predicate represented by this operator. The result of evaluating this expression must be a geometry object.

Specified by:
getExpression1 in interface BinarySpatialOperator

getExpression2

public Expression getExpression2()
Description copied from interface: BinarySpatialOperator
Returns an expression that will be evaluated to determine the second operand to the spatial predicate represented by this operator. The result of evaluating this expression must be a geometry object.

Specified by:
getExpression2 in interface BinarySpatialOperator

accept

public Object accept(FilterVisitor visitor,
                     Object context)
Description copied from interface: Filter
Accepts a visitor.

Implementations of all subinterfaces must have with a method whose content is the following:

return visitor.visit(this, extraData);

Specified by:
accept in interface Filter

get3DEnvelope

public ReferencedEnvelope3D get3DEnvelope(Geometry geom)

evaluate

public boolean evaluate(Object feature)
Description copied from interface: Filter
Give an object, this method determines if the test(s) represented by this filter object are passed.

This ability is used to allow Queries against both Features and and non spatial data (such as Record) and to express constraints on permissable data values.

Specified by:
evaluate in interface Filter
Returns:
true if the test(s) are passed for the provided object

isMatchingCase

public boolean isMatchingCase()

contains

public boolean contains(SimpleFeature feature)

evaluate

public boolean evaluate(SimpleFeature feature)

getMatchAction

public MultiValuedFilter.MatchAction getMatchAction()
Description copied from interface: MultiValuedFilter
Flag Controlling MatchAction property When one or more of the operands evaluates to multiple values rather than a single value, which action should be taken? If there are n values for the left operand and m values for the right operand, there are n * m possible combinations that can be compared, ANY - if any of the possible combinations match, the result is true (aggregated OR) ALL - only if all of the possible combinations match, the result is true (aggregated AND) ONE - only if exactly one of the possible combinations match, the result is true (aggregated XOR)

Specified by:
getMatchAction in interface MultiValuedFilter
Returns:
MatchAction flag

toString

public String toString()
Overrides:
toString in class Object


Copyright © 1996-2014 Geotools. All Rights Reserved.