org.geotools.data.wfs.v1_1_0
Class ReprojectingFilterVisitor

java.lang.Object
  extended by org.geotools.filter.visitor.DuplicatingFilterVisitor
      extended by org.geotools.data.wfs.v1_1_0.ReprojectingFilterVisitor
All Implemented Interfaces:
org.opengis.filter.expression.ExpressionVisitor, org.opengis.filter.FilterVisitor

public class ReprojectingFilterVisitor
extends DuplicatingFilterVisitor

Returns a clone of the provided filter where all geometries and bboxes have been reprojected to the CRS of the associated attributes. The working assumption is that the filters specified are strictly compliant with the OGC spec, so the first item is always a PropertyName, and the second always a Literal

Author:
Andrea Aime - The Open Planning Project

Nested Class Summary
protected  class ReprojectingFilterVisitor.FunctionReprojector
          Makes sure that the result of a function gets reprojected to the specified CRS, should it be a Geometry
 
Field Summary
 
Fields inherited from class org.geotools.filter.visitor.DuplicatingFilterVisitor
ff
 
Constructor Summary
ReprojectingFilterVisitor(org.opengis.filter.FilterFactory2 factory, org.opengis.feature.simple.SimpleFeatureType featureType)
           
 
Method Summary
protected  com.vividsolutions.jts.geom.Geometry reproject(java.lang.Object value, org.opengis.referencing.crs.CoordinateReferenceSystem propertyCrs)
          Helper method to reproject a geometry.
 java.lang.Object visit(org.opengis.filter.spatial.BBOX filter, java.lang.Object extraData)
           
 java.lang.Object visit(org.opengis.filter.spatial.Beyond filter, java.lang.Object extraData)
           
 java.lang.Object visit(org.opengis.filter.spatial.Contains filter, java.lang.Object extraData)
           
 java.lang.Object visit(org.opengis.filter.spatial.Crosses filter, java.lang.Object extraData)
           
 java.lang.Object visit(org.opengis.filter.spatial.Disjoint filter, java.lang.Object extraData)
           
 java.lang.Object visit(org.opengis.filter.spatial.DWithin filter, java.lang.Object extraData)
           
 java.lang.Object visit(org.opengis.filter.spatial.Equals filter, java.lang.Object extraData)
           
 java.lang.Object visit(org.opengis.filter.spatial.Intersects filter, java.lang.Object extraData)
           
 java.lang.Object visit(org.opengis.filter.spatial.Overlaps filter, java.lang.Object extraData)
           
 java.lang.Object visit(org.opengis.filter.PropertyIsEqualTo filter, java.lang.Object extraData)
           
 java.lang.Object visit(org.opengis.filter.PropertyIsNotEqualTo filter, java.lang.Object extraData)
           
 java.lang.Object visit(org.opengis.filter.spatial.Touches filter, java.lang.Object extraData)
           
 java.lang.Object visit(org.opengis.filter.spatial.Within filter, java.lang.Object extraData)
           
 
Methods inherited from class org.geotools.filter.visitor.DuplicatingFilterVisitor
getFactory, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visitNullFilter
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ReprojectingFilterVisitor

public ReprojectingFilterVisitor(org.opengis.filter.FilterFactory2 factory,
                                 org.opengis.feature.simple.SimpleFeatureType featureType)
Method Detail

visit

public java.lang.Object visit(org.opengis.filter.spatial.BBOX filter,
                              java.lang.Object extraData)
Specified by:
visit in interface org.opengis.filter.FilterVisitor
Overrides:
visit in class DuplicatingFilterVisitor

visit

public java.lang.Object visit(org.opengis.filter.PropertyIsEqualTo filter,
                              java.lang.Object extraData)
Specified by:
visit in interface org.opengis.filter.FilterVisitor
Overrides:
visit in class DuplicatingFilterVisitor

visit

public java.lang.Object visit(org.opengis.filter.PropertyIsNotEqualTo filter,
                              java.lang.Object extraData)
Specified by:
visit in interface org.opengis.filter.FilterVisitor
Overrides:
visit in class DuplicatingFilterVisitor

visit

public java.lang.Object visit(org.opengis.filter.spatial.Beyond filter,
                              java.lang.Object extraData)
Specified by:
visit in interface org.opengis.filter.FilterVisitor
Overrides:
visit in class DuplicatingFilterVisitor

visit

public java.lang.Object visit(org.opengis.filter.spatial.Contains filter,
                              java.lang.Object extraData)
Specified by:
visit in interface org.opengis.filter.FilterVisitor
Overrides:
visit in class DuplicatingFilterVisitor

visit

public java.lang.Object visit(org.opengis.filter.spatial.Crosses filter,
                              java.lang.Object extraData)
Specified by:
visit in interface org.opengis.filter.FilterVisitor
Overrides:
visit in class DuplicatingFilterVisitor

visit

public java.lang.Object visit(org.opengis.filter.spatial.Disjoint filter,
                              java.lang.Object extraData)
Specified by:
visit in interface org.opengis.filter.FilterVisitor
Overrides:
visit in class DuplicatingFilterVisitor

visit

public java.lang.Object visit(org.opengis.filter.spatial.DWithin filter,
                              java.lang.Object extraData)
Specified by:
visit in interface org.opengis.filter.FilterVisitor
Overrides:
visit in class DuplicatingFilterVisitor

visit

public java.lang.Object visit(org.opengis.filter.spatial.Intersects filter,
                              java.lang.Object extraData)
Specified by:
visit in interface org.opengis.filter.FilterVisitor
Overrides:
visit in class DuplicatingFilterVisitor

visit

public java.lang.Object visit(org.opengis.filter.spatial.Overlaps filter,
                              java.lang.Object extraData)
Specified by:
visit in interface org.opengis.filter.FilterVisitor
Overrides:
visit in class DuplicatingFilterVisitor

visit

public java.lang.Object visit(org.opengis.filter.spatial.Touches filter,
                              java.lang.Object extraData)
Specified by:
visit in interface org.opengis.filter.FilterVisitor
Overrides:
visit in class DuplicatingFilterVisitor

visit

public java.lang.Object visit(org.opengis.filter.spatial.Within filter,
                              java.lang.Object extraData)
Specified by:
visit in interface org.opengis.filter.FilterVisitor
Overrides:
visit in class DuplicatingFilterVisitor

visit

public java.lang.Object visit(org.opengis.filter.spatial.Equals filter,
                              java.lang.Object extraData)
Specified by:
visit in interface org.opengis.filter.FilterVisitor
Overrides:
visit in class DuplicatingFilterVisitor

reproject

protected com.vividsolutions.jts.geom.Geometry reproject(java.lang.Object value,
                                                         org.opengis.referencing.crs.CoordinateReferenceSystem propertyCrs)
Helper method to reproject a geometry.



Copyright © 1996-2010 Geotools. All Rights Reserved.