Package org.deegree.cs.transformations

A Transformation can be defined as an mathematical operation which transforms some values into other values using a specified function.

See:
          Description

Class Summary
AxisFlipTransformation Transformation means flipping of the first and second axis!
Transformation The Transformation class supplies the most basic method interface for any given transformation.
TransformationFactory The TransformationFactory class is the central access point for all transformations between different crs's.
 

Enum Summary
SupportedTransformationParameters The SupportedTransformationParameters enumeration defines currently supported transformation parameters
SupportedTransformations The SupportedTransformations enumeration defines currently supported transformations
TransformationFactory.DSTransform Defines the type of transformation to use while switching datums.
 

Package org.deegree.cs.transformations Description

A Transformation can be defined as an mathematical operation which transforms some values into other values using a specified function. In geographic terms this means, that some incoming coordinate in a specified crs, must be transformed into a coordinate valid for some other crs. In general two different transformations can be distinguished:

  1. The helmert transformation allows coordinate transformation with a datum shift by going to euclidean space and normalizing to WGS84
  2. Polynomial transformations use a polynomial to approximate a function which directly transforms coordinates from one crs into another.
To accommodate these transformation the deegree crs package defines different transformation packages:

The TransformFactory tries to create the appropriate transformation(s) to maps coordinates from one coordinate systems into another.

Automatic loading of transformation classes

It is possible to create your own transformation classes, which the default provider org.deegree.cs.configuration.deegree.xml.DeegreeCRSProvider will load automatically.

You can achieve this loading by supplying the class attribute to a crs:TransformationDefinitions/crs:UserDefined element in the 'transformation-definitions.xml'. This attribute must contain the full class name (with package), e.g. <crs:UserDefined class='my.package.and.transformation.Implementation'>

Because the loading is done with reflections your classes must sustain following criteria:
  1. It must be a sub class of org.deegree.cs.transformations
  2. A constructor with following signature must be supplied:
    public MyTransformation(
        CRSIdentifiable,
        org.deegree.cs.coordinatesystems.CoordinateSystem sourceCRS,
        org.deegree.cs.coordinatesystems.CoordinateSystem targetCRS,
        XMLStreamReader reader
    );

    The first three parameters are common to all transformations (for an explanation of their meaning take a look at Transformation). The reader, will point to the next element you supplied in the deegree configuration (child elements of the crs:TransformationDefinitions/crs:UserDefined/), thus relieving you of the parsing of the transformation-definitions.xml document.

Version:
$Revision: 23667 $, $Date: 2007-03-20 10:15:15 +0100 (Di, 20 Mrz 2007)$
Author:
Rutger Bezema, last edited by: $Author: rbezema $


Copyright © 2011. All Rights Reserved.