org.deegree.cs.coordinatesystems
Interface ICRS

All Superinterfaces:
CRSResource, Object, TypedObjectNode
All Known Subinterfaces:
ICompoundCRS, IGeocentricCRS, IGeographicCRS, IProjectedCRS, IVerticalCRS
All Known Implementing Classes:
CompoundCRS, CompoundCRSRef, CRS, CRSRef, GeocentricCRS, GeocentricCRSRef, GeographicCRS, GeographicCRSRef, ProjectedCRS, ProjectedCRSRef, VerticalCRS, VerticalCRSRef

public interface ICRS
extends CRSResource

Interface describing a general CoordinateSytem

Version:
$Revision: $, $Date: $
Author:
Lyn Buesching, last edited by: $Author: lyn $

Method Summary
 javax.vecmath.Point3d convertToAxis(javax.vecmath.Point3d coordinates, IUnit[] units, boolean invert)
          Converts the given coordinates in given to the unit of the respective axis.
 boolean equalsWithFlippedAxis(Object other)
          TODO: this methode should become redundant with the reworked identifer concept!
 String getAlias()
           
 IAxis[] getAxis()
           
 IDatum getDatum()
           
 int getDimension()
           
 Transformation getDirectTransformation(ICRS targetCRS)
           
 int getEasting()
          Return the axis index associated with an easting value, if the axis could not be determined Axis.AO_OTHER 0 will be returned.
 IGeodeticDatum getGeodeticDatum()
           
 int getNorthing()
          Return the axis index associated with a northing value, if the axis could not be determined (e.g not is Axis.AO_NORTH Axis.AO_SOUTH or Axis.AO_UP or Axis.AO_DOWN) 1 will be returned.
 List<Transformation> getTransformations()
           
 CRS.CRSType getType()
           
 IUnit[] getUnits()
           
 double[] getValidDomain()
          Returns the approximate domain of validity of this coordinate system.
 boolean hasDirectTransformation(ICRS targetCRS)
           
 
Methods inherited from interface org.deegree.cs.CRSResource
addAreaOfUse, addName, getAreaOfUse, getAreaOfUseBBox, getAreasOfUse, getCode, getCodeAndName, getCodes, getDescription, getDescriptions, getName, getNames, getOrignalCodeStrings, getVersion, getVersions, hasCode, hasId, hasIdOrName, setDefaultAreaOfUse, setDefaultDescription, setDefaultId, setDefaultName, setDefaultVersion
 
Methods inherited from interface org.deegree.commons.tom.Object
getId
 

Method Detail

getDimension

int getDimension()
Returns:
the dimension of this CRS.

getType

CRS.CRSType getType()
Returns:
one of the *_CRS types defined in this class.

getAxis

IAxis[] getAxis()
Returns:
(all) axis' in their defined order.

getGeodeticDatum

IGeodeticDatum getGeodeticDatum()
Returns:
the usedDatum or null if the datum was not a Geodetic one.

getDatum

IDatum getDatum()
Returns:
the datum of this coordinate system.

getUnits

IUnit[] getUnits()
Returns:
the units of all axis of the ICoordinateSystem.

hasDirectTransformation

boolean hasDirectTransformation(ICRS targetCRS)
Parameters:
targetCRS - to get the alternative Transformation for.
Returns:
true if this crs has an alternative transformation for the given ICoordinateSystem, false otherwise.

getDirectTransformation

Transformation getDirectTransformation(ICRS targetCRS)
Parameters:
targetCRS - to get the alternative transformation for.
Returns:
the transformation associated with the given crs, null otherwise.

getTransformations

List<Transformation> getTransformations()
Returns:
the polynomial transformations.

getEasting

int getEasting()
Return the axis index associated with an easting value, if the axis could not be determined Axis.AO_OTHER 0 will be returned.

Returns:
the index of the axis which represents the easting/westing component of a coordinate tuple.

getNorthing

int getNorthing()
Return the axis index associated with a northing value, if the axis could not be determined (e.g not is Axis.AO_NORTH Axis.AO_SOUTH or Axis.AO_UP or Axis.AO_DOWN) 1 will be returned.

Returns:
the index of the axis which represents the easting/westing component of a coordinate tuple.

getValidDomain

double[] getValidDomain()
Returns the approximate domain of validity of this coordinate system. The returned array will contain the values in the appropriate coordinate system and with the appropriate axis order.

Returns:
the real world coordinates of the domain of validity of this crs, or null if the valid domain could not be determined

convertToAxis

javax.vecmath.Point3d convertToAxis(javax.vecmath.Point3d coordinates,
                                    IUnit[] units,
                                    boolean invert)
Converts the given coordinates in given to the unit of the respective axis.

Parameters:
coordinates - to convert to.
units - in which the coordinates were given.
invert - if the operation should be inverted, e.g. the coordinates are given in the axis units and should be converted to the given units.
Returns:
the converted coordinates.

getAlias

String getAlias()
Returns:
an alias of the crs

equalsWithFlippedAxis

boolean equalsWithFlippedAxis(Object other)
TODO: this methode should become redundant with the reworked identifer concept!

Parameters:
other -
Returns:
true, if this and other are from the same type differes only in a flipped axis order.


Copyright © 2011. All Rights Reserved.