## org.opengis.filter
Interface FilterFactory2

All Superinterfaces:
  FilterFactory

    public interface FilterFactory2

extends FilterFactory

Allows creation of additional Filter constructs.

Why do we need this? Because not all implementations are going to be using geoapi Geometry. This allows the creation of complient filters with SFSQL Geometry constructs. Consider this a bridge to existing projects allowing GeoAPI to be used.

Since:
  GeoAPI 2.1
Version:
  Implementation specification 1.1

Method Summary
`BBOX` `bbox(Expression geometry, BoundingBox bounds)` Checks if the bounding box of the feature's geometry overlaps the indicated bounds.
`BBOX` `bbox(Expression geometry, double minx, double miny, double maxx, double maxy, String srs)` Checks if the geometry expression overlaps the specified bounding box.
`Beyond` `beyond(Expression geometry1, Expression geometry2, double distance, String units)` Check if all of a geometry is more distant than the given distance from this object's geometry.
`Contains` `contains(Expression geometry1, Expression geometry2)` Checks if the the first geometric operand contains the second.
`Crosses` `crosses(Expression geometry1, Expression geometry2)` Checks if the first geometric operand crosses the second.
`Disjoint` `disjoint(Expression geometry1, Expression geometry2)` Checks if the first operand is disjoint from the second.
`DWithin` `dwithin(Expression geometry1, Expression geometry2, double distance, String units)` Checks if any part of the first geometry lies within the given distance of the second geometry.
`Equals` `equal(Expression geometry1, Expression geometry2)` Checks if the geometry of the two operands are equal.
`Intersects` `intersects(Expression geometry1, Expression geometry2)` Checks if the two geometric operands intersect.
`Overlaps` `overlaps(Expression geometry1, Expression geometry2)` Checks if the interior of the first geometry somewhere overlaps the interior of the second geometry.
`PropertyName` `property(Name name)` Retrieves the value of a feature's property.
`Touches` `touches(Expression propertyName1, Expression geometry2)` Checks if the feature's geometry touches, but does not overlap with the geometry held by this object.
`Within` `within(Expression geometry1, Expression geometry2)` Checks if the feature's geometry is completely contained by the specified constant geometry.

Methods inherited from interface FilterFactory

`add, and, and, arithmeticOperators, bbox, between, beyond, capabilities, comparisonOperators, contains, crosses, disjoint, divide, dwithin, equal, equals, equals, featureId, function, function, function, function, functionName, functions, gmlObjectId, greater, greaterOrEqual, id, idCapabilities, intersects, isNull, less, lessOrEqual, like, like, literal, literal, literal, literal, literal, literal, literal, literal, literal, multiply, not, notEqual, operator, or, or, overlaps, property, scalarCapabilities, sort, spatialCapabilities, spatialOperator, spatialOperators, subtract, touches, within`

Method Detail

### property

    PropertyName property(Name name)

  Retrieves the value of a feature's property.

### bbox

    BBOX bbox(Expression geometry,
              double minx,
              double miny,
              double maxx,
              double maxy,
              String srs)

  Checks if the geometry expression overlaps the specified bounding box.

### bbox

    BBOX bbox(Expression geometry,
              BoundingBox bounds)

  Checks if the bounding box of the feature's geometry overlaps the indicated bounds.

  This method does not strictly confirm to the the Filter 1.0 specification, you may use it to check expressions other than PropertyName.

  Parameters:
    `geometry` - Expression used to access a Geometry, in order to check for interaction with bounds
    `bounds` - Indicates the bounds to check geometry against

### beyond

    Beyond beyond(Expression geometry1,
                  Expression geometry2,
                  double distance,
                  String units)

  Check if all of a geometry is more distant than the given distance from this object's geometry.

### contains

    Contains contains(Expression geometry1,
                      Expression geometry2)

  Checks if the the first geometric operand contains the second.

### crosses

    Crosses crosses(Expression geometry1,
                    Expression geometry2)

  Checks if the first geometric operand crosses the second.

### disjoint

    Disjoint disjoint(Expression geometry1,
                      Expression geometry2)

  Checks if the first operand is disjoint from the second.

### dwithin

    DWithin dwithin(Expression geometry1,
                    Expression geometry2,
                    double distance,
                    String units)

  Checks if any part of the first geometry lies within the given distance of the second geometry.

### equal

    Equals equal(Expression geometry1,
                 Expression geometry2)

  Checks if the geometry of the two operands are equal.

  TODO:
    should be equals, resolve conflict with PropertyIsEqualTo equals( Expression, Expression )

### intersects

    Intersects intersects(Expression geometry1,
                          Expression geometry2)

  Checks if the two geometric operands intersect.

### overlaps

    Overlaps overlaps(Expression geometry1,
                      Expression geometry2)

  Checks if the interior of the first geometry somewhere overlaps the interior of the second geometry.

### touches

    Touches touches(Expression propertyName1,
                    Expression geometry2)

  Checks if the feature's geometry touches, but does not overlap with the geometry held by this object.

### within

    Within within(Expression geometry1,
                  Expression geometry2)

  Checks if the feature's geometry is completely contained by the specified constant geometry.

Copyright © 1994-2008 Open Geospatial Consortium. All Rights Reserved.