org.geotools.data.crs
Class ReprojectFeatureResults

Object
  extended by AbstractFeatureCollection
      extended by ReprojectFeatureResults
All Implemented Interfaces:
SimpleFeatureCollection, FeatureCollection<SimpleFeatureType,SimpleFeature>

public class ReprojectFeatureResults
extends AbstractFeatureCollection

ReprojectFeatureReader provides a reprojection for FeatureTypes.

ReprojectFeatureResults is a wrapper used to reproject GeometryAttributes to a user supplied CoordinateReferenceSystem from the original CoordinateReferenceSystem supplied by the original FeatureResults.

Example Use:


 ReprojectFeatureResults results =
     new ReprojectFeatureResults( originalResults, reprojectCS );
 
 CoordinateReferenceSystem originalCS =
     originalResults.getFeatureType().getDefaultGeometry().getCoordinateSystem();
 
 CoordinateReferenceSystem newCS =
     results.getFeatureType().getDefaultGeometry().getCoordinateSystem();
 
 assertEquals( reprojectCS, newCS );
 

Author:
aaime, $Author: jive $ (last modification)

Field Summary
 
Fields inherited from class AbstractFeatureCollection
id, schema
 
Constructor Summary
ReprojectFeatureResults(FeatureCollection<SimpleFeatureType,SimpleFeature> results, CoordinateReferenceSystem destinationCS)
          Creates a new reprojecting feature results
 
Method Summary
 void closeIterator(Iterator close)
           
 ReferencedEnvelope getBounds()
          This method computes reprojected bounds the hard way, but computing them feature by feature.
 FeatureCollection<SimpleFeatureType,SimpleFeature> getOrigin()
          Returns the feature results wrapped by this reprojecting feature results
 Iterator openIterator()
          Factory method used to open an iterator over collection contents for use by AbstractFeatureCollection.iterator() and AbstractFeatureCollection.features().
 int size()
          Returns the number of elements in this collection.
 
Methods inherited from class AbstractFeatureCollection
accepts, contains, containsAll, features, getID, getSchema, isEmpty, iterator, sort, subCollection, toArray, toArray
 
Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ReprojectFeatureResults

public ReprojectFeatureResults(FeatureCollection<SimpleFeatureType,SimpleFeature> results,
                               CoordinateReferenceSystem destinationCS)
                        throws IOException,
                               SchemaException,
                               TransformException,
                               OperationNotFoundException,
                               NoSuchElementException,
                               FactoryException
Creates a new reprojecting feature results

Parameters:
results -
destinationCS -
Throws:
IOException
SchemaException
TransformException
FactoryException
NoSuchElementException
OperationNotFoundException
CannotCreateTransformException
NullPointerException - DOCUMENT ME!
IllegalArgumentException
Method Detail

openIterator

public Iterator openIterator()
Description copied from class: AbstractFeatureCollection
Factory method used to open an iterator over collection contents for use by AbstractFeatureCollection.iterator() and AbstractFeatureCollection.features().

If you return an instance of FeatureIterator some effort is taken to call the FeatureIterator.close() internally, however we cannot offer any assurance that client code using AbstractFeatureCollection.iterator() will perform the same check.

Specified by:
openIterator in class AbstractFeatureCollection
Returns:
Iterator over collection contents

closeIterator

public void closeIterator(Iterator close)

size

public int size()
Description copied from class: AbstractFeatureCollection
Returns the number of elements in this collection.

Specified by:
size in interface FeatureCollection<SimpleFeatureType,SimpleFeature>
Specified by:
size in class AbstractFeatureCollection
Returns:
Number of items, or Interger.MAX_VALUE
See Also:
Collection.size()

getBounds

public ReferencedEnvelope getBounds()
This method computes reprojected bounds the hard way, but computing them feature by feature. This method could be faster if computed the reprojected bounds by reprojecting the original feature bounds a Shape object, thus getting the true shape of the reprojected envelope, and then computing the minumum and maximum coordinates of that new shape. The result would not a true representation of the new bounds, but it would be guaranteed to be larger that the true representation.

Specified by:
getBounds in interface FeatureCollection<SimpleFeatureType,SimpleFeature>
Specified by:
getBounds in class AbstractFeatureCollection
Returns:
An Envelope containing the total bounds of this collection.
See Also:
org.geotools.data.FeatureResults#getBounds()

getOrigin

public FeatureCollection<SimpleFeatureType,SimpleFeature> getOrigin()
Returns the feature results wrapped by this reprojecting feature results



Copyright © 1996-2014 Geotools. All Rights Reserved.