org.geotools.filter
Interface GeometryDistanceFilter

All Superinterfaces:
org.opengis.filter.spatial.BinarySpatialOperator, org.opengis.filter.spatial.DistanceBufferOperator, Filter, org.opengis.filter.Filter, FilterType, GeometryFilter, org.opengis.filter.spatial.SpatialOperator
All Known Implementing Classes:
CartesianDistanceFilter

public interface GeometryDistanceFilter
extends GeometryFilter, org.opengis.filter.spatial.DistanceBufferOperator

Defines geometry filters with a distance element.

These filters are defined in the filter spec by the DistanceBufferType, which contains an additioinal field for a distance. The two filters that use the distance buffer type are Beyond and DWithin.

From the spec: The spatial operators DWithin and Beyond test whether the value of a geometric property is within or beyond a specified distance of the specified literal geometric value. Distance values are expressed using the Distance element.

For now this code does not take into account the units of distance, we will assume that the filter units are the same as the geometry being filtered.

Version:
$Id: GeometryDistanceFilter.java 18021 2006-02-14 20:36:18Z jdeolive $
Author:
Chris Holmes, TOPP
Task:
REVISIT: add units for distance. Should it just be a string? Or should it actually resolve the definition?

Field Summary
 
Fields inherited from interface org.geotools.filter.Filter
ALL, NONE
 
Fields inherited from interface org.geotools.filter.FilterType
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, NULL
 
Method Summary
 boolean contains(Feature feature)
          Deprecated. use org.opengis.filter.Filter#evaluate(Feature)
 boolean equals(java.lang.Object obj)
          Returns true if the passed in object is the same as this filter.
 double getDistance()
          Deprecated. use DistanceBufferOperator.getDistance()
 void setDistance(double distance)
          Sets the distance allowed by this filter.
 
Methods inherited from interface org.geotools.filter.GeometryFilter
addLeftGeometry, addRightGeometry, getLeftGeometry, getRightGeometry
 
Methods inherited from interface org.geotools.filter.Filter
accept, and, evaluate, getFilterType, not, or
 
Methods inherited from interface org.opengis.filter.Filter
accept, evaluate
 
Methods inherited from interface org.opengis.filter.spatial.BinarySpatialOperator
getExpression1, getExpression2
 
Methods inherited from interface org.opengis.filter.spatial.DistanceBufferOperator
getDistanceUnits
 

Method Detail

equals

public boolean equals(java.lang.Object obj)
Returns true if the passed in object is the same as this filter. Checks to make sure the filter types are the same as well as all three of the values.

Parameters:
obj - The filter to test equality against.
Returns:
True if the objects are equal.

setDistance

public void setDistance(double distance)
                 throws IllegalFilterException
Sets the distance allowed by this filter.

Parameters:
distance - the length beyond which this filter is valid or not.
Throws:
IllegalFilterException - for problems setting the distance.

contains

public boolean contains(Feature feature)
Deprecated. use org.opengis.filter.Filter#evaluate(Feature)

Determines whether or not a given feature is 'inside' this filter.

Specified by:
contains in interface GeometryFilter
Parameters:
feature - Specified feature to examine.
Returns:
Flag confirming whether or not this feature is inside the filter.

getDistance

public double getDistance()
Deprecated. use DistanceBufferOperator.getDistance()

Gets the distance allowed by this filter.

Specified by:
getDistance in interface org.opengis.filter.spatial.DistanceBufferOperator
Returns:
distance the length beyond which this filter is valid or not.


Copyright © GeoTools. All Rights Reserved.