org.geotools.geometry.jts
Class GeometryCoordinateSequenceTransformer

Object
  extended by GeometryCoordinateSequenceTransformer

public class GeometryCoordinateSequenceTransformer
extends Object

Service object that takes a geometry and applies a MathTransform to the coordinates it contains, creating a new geometry as the transformed output.

The standard usage pattern is to supply a MathTransform and @link CoordinateReferenceSystem} explicitly. The transform(Geometry) method can then be used to construct transformed geometries using the GeometryFactory and CoordinateSequenceFactory of the input geometry.

Author:
Andrea Aime, Martin Davis

Constructor Summary
GeometryCoordinateSequenceTransformer()
          Creates a transformer which uses the CoordinateSequenceFactory of the source geometries.
GeometryCoordinateSequenceTransformer(CoordinateSequenceTransformer transformer)
          Creates a transformer which uses a client-specified CoordinateSequenceTransformer.
 
Method Summary
 void setCoordinateReferenceSystem(CoordinateReferenceSystem crs)
          Sets the target coordinate reference system.
 void setMathTransform(MathTransform transform)
          Sets the math transform to be used for transformation
 Geometry transform(Geometry g)
          Applies the transform to the provided geometry, creating a new transformed geometry.
 LineString transformLineString(LineString ls, GeometryFactory gf)
           
 Point transformPoint(Point point, GeometryFactory gf)
           
 Polygon transformPolygon(Polygon polygon, GeometryFactory gf)
           
 
Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

GeometryCoordinateSequenceTransformer

public GeometryCoordinateSequenceTransformer()
Creates a transformer which uses the CoordinateSequenceFactory of the source geometries.


GeometryCoordinateSequenceTransformer

public GeometryCoordinateSequenceTransformer(CoordinateSequenceTransformer transformer)
Creates a transformer which uses a client-specified CoordinateSequenceTransformer.

WARNING: The CoordinateSequenceTransformer must use the same CoordinateSequenceFactory as the output GeometryFactory, so that geometries are constructed consistently.

Parameters:
transformer -
Method Detail

setMathTransform

public void setMathTransform(MathTransform transform)
Sets the math transform to be used for transformation

Parameters:
transform -

setCoordinateReferenceSystem

public void setCoordinateReferenceSystem(CoordinateReferenceSystem crs)
Sets the target coordinate reference system.

This value is used to set the coordinate reference system of geometries after they have been transformed.

Parameters:
crs - The target coordinate reference system.

transform

public Geometry transform(Geometry g)
                   throws TransformException
Applies the transform to the provided geometry, creating a new transformed geometry.

Parameters:
g - the geometry to transform
Returns:
a new transformed geometry
Throws:
TransformException

transformLineString

public LineString transformLineString(LineString ls,
                                      GeometryFactory gf)
                               throws TransformException
Throws:
TransformException

transformPoint

public Point transformPoint(Point point,
                            GeometryFactory gf)
                     throws TransformException
Parameters:
point -
Throws:
TransformException

transformPolygon

public Polygon transformPolygon(Polygon polygon,
                                GeometryFactory gf)
                         throws TransformException
Parameters:
polygon -
Throws:
TransformException


Copyright © 1996-2014 Geotools. All Rights Reserved.