org.geotools.referencing.operation.builder
Class RubberSheetBuilder

java.lang.Object
  extended by org.geotools.referencing.operation.builder.MathTransformBuilder
      extended by org.geotools.referencing.operation.builder.RubberSheetBuilder

public class RubberSheetBuilder
extends MathTransformBuilder

Builds a RubberSheet transformation from a set of control points, defined as a List of MappedPosition objects, and a quadrilateral delimiting the outer area of interest, defined as a List of four DirectPosition objects. An explanation of the RubberSheet transformation algorithm can be seen here.

Since:
2.4
Version:
$Id: RubberSheetBuilder.java 30641 2008-06-12 17:42:27Z acuster $
Author:
Jan Jezek, Adrian Custer

Field Summary
 
Fields inherited from class org.geotools.referencing.operation.builder.MathTransformBuilder
mtFactory
 
Constructor Summary
RubberSheetBuilder(java.util.List<MappedPosition> vectors, java.util.List<org.opengis.geometry.DirectPosition> vertices)
          Creates the Builder from a List of control points and a List of four DirectPositions defining the vertexes of the area for interpolation.
 
Method Summary
protected  org.opengis.referencing.operation.MathTransform computeMathTransform()
          Returns MathTransform transformation setup as RubberSheet.
 java.util.HashMap getMapTriangulation()
          Returns the map of source and destination triangles.
 int getMinimumPointCount()
          Returns the minimum number of points required by this builder.
 
Methods inherited from class org.geotools.referencing.operation.builder.MathTransformBuilder
getCoordinateSystemType, getDimension, getErrorStatistics, getMappedPositions, getMathTransform, getName, getSourceCRS, getSourcePoints, getTargetCRS, getTargetPoints, getTransformation, printPoints, setMappedPositions, setSourcePoints, setTargetPoints, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

RubberSheetBuilder

public RubberSheetBuilder(java.util.List<MappedPosition> vectors,
                          java.util.List<org.opengis.geometry.DirectPosition> vertices)
                   throws javax.vecmath.MismatchedSizeException,
                          org.opengis.geometry.MismatchedDimensionException,
                          org.opengis.geometry.MismatchedReferenceSystemException,
                          TriangulationException
Creates the Builder from a List of control points and a List of four DirectPositions defining the vertexes of the area for interpolation.

Parameters:
vectors - A List of MappedPosition
vertices - A List with four points defining the quadrilateral in the region of interest.
Throws:
javax.vecmath.MismatchedSizeException
org.opengis.geometry.MismatchedDimensionException
org.opengis.geometry.MismatchedReferenceSystemException
TriangulationException
Method Detail

getMinimumPointCount

public int getMinimumPointCount()
Returns the minimum number of points required by this builder.

Specified by:
getMinimumPointCount in class MathTransformBuilder
Returns:
1

getMapTriangulation

public java.util.HashMap getMapTriangulation()
Returns the map of source and destination triangles.

Returns:
The Map of source and destination triangles.

computeMathTransform

protected org.opengis.referencing.operation.MathTransform computeMathTransform()
                                                                        throws org.opengis.referencing.FactoryException
Returns MathTransform transformation setup as RubberSheet.

Specified by:
computeMathTransform in class MathTransformBuilder
Returns:
calculated MathTransform
Throws:
org.opengis.referencing.FactoryException - when the size of source and destination point is not the same.


Copyright © 1996-2010 Geotools. All Rights Reserved.