Class CartesianDistanceFilter

All Implemented Interfaces:
Filter, MultiValuedFilter, BinarySpatialOperator, DistanceBufferOperator, SpatialOperator, FilterType
Direct Known Subclasses:
BeyondImpl, DWithinImpl

public abstract class CartesianDistanceFilter extends GeometryFilterImpl implements 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, and that they are cartesian.

Author:
Chris Holmes, TOPP
TODO:
REVISIT: add units for distance.
  • Constructor Details

  • Method Details

    • setDistance

      public void setDistance(double distance)
      Sets the distance allowed by this filter.
      Parameters:
      distance - the length beyond which this filter is valid or not.
    • getDistance

      public double getDistance()
      Gets the distance allowed by this filter.
      Specified by:
      getDistance in interface DistanceBufferOperator
      Returns:
      distance the length beyond which this filter is valid or not.
    • getDistanceUnits

      public String getDistanceUnits()
      Description copied from interface: DistanceBufferOperator
      Gets the units of measure that can be used to interpret the distance value held by this object. An implementation may throw an exception if these units differ from the units of the coordinate system of its geometry or the feature's geometry.
      Specified by:
      getDistanceUnits in interface DistanceBufferOperator
    • setUnits

      public void setUnits(String units)
    • toString

      public String toString()
      Returns a string representation of this filter.
      Overrides:
      toString in class GeometryFilterImpl
      Returns:
      String representation of the between filter.
    • equals

      public boolean equals(Object oFilter)
      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.
      Overrides:
      equals in class GeometryFilterImpl
      Parameters:
      oFilter - The filter to test equality against.
      Returns:
      True if the objects are equal.
    • hashCode

      public int hashCode()
      Override of hashCode method.
      Overrides:
      hashCode in class GeometryFilterImpl
      Returns:
      a code to hash this object by.