|
deegree 2.1 (2007/11/08 09:57 build-328-official) | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.deegree.model.csct.ct.AbstractMathTransform
org.deegree.model.csct.ct.MapProjection
abstract class MapProjection
Provides transformation services between ellipsoidal and cartographic projections. Ellipsoidal height values remain unchanged.
Nested Class Summary | |
---|---|
(package private) static class |
MapProjection.Provider
Informations about a MapProjection . |
Field Summary | |
---|---|
protected double |
a
Longueur de l'axe majeur de la terre, en m�tres. |
protected double |
b
Longueur de l'axe mineur de la terre, en m�tres. |
protected double |
centralLatitude
Central latitude in radians. |
protected double |
centralMeridian
Central longitude in radians. |
protected double |
e
Excentricit� de l'ellipse. |
(package private) static double |
EPS
Marge de tol�rance pour les comparaisons de nombre r�els. |
protected double |
es
Carr� de l'excentricit� de l'ellipse: e� = (a�-b�)/a�. |
protected double |
false_easting
|
protected double |
false_northing
|
protected boolean |
isSpherical
Indique si le mod�le terrestre est sph�rique. |
(package private) static double |
TOL
Marge de tol�rance pour les calculs it�ratifs. |
Constructor Summary | |
---|---|
protected |
MapProjection(Projection parameters)
Construct a new map projection from the suplied parameters. |
Method Summary | |
---|---|
(package private) double |
cphi2(double ts)
Iteratively solve equation (7-9) from Snyder. |
Shape |
createTransformedShape(Shape shape)
Transforme la forme g�om�trique shape sp�cifi�e. |
boolean |
equals(Object object)
Compares the specified object with this map projection for equality. |
int |
getDimSource()
Gets the dimension of input points. |
int |
getDimTarget()
Gets the dimension of output points. |
abstract String |
getName()
Returns a human readable name localized for the specified locale. |
int |
hashCode()
Returns a hash value for this map projection. |
MathTransform |
inverse()
Returns the inverse of this map projection. |
void |
inverseTransform(double[] src,
int srcOffset,
double[] dest,
int dstOffset,
int numPts)
Inverse transforms a list of coordinate point ordinal values. |
protected abstract Point2D |
inverseTransform(double x,
double y,
Point2D ptDst)
Transforms the specified coordinate and stores the result in ptDst . |
void |
inverseTransform(float[] src,
int srcOffset,
float[] dest,
int dstOffset,
int numPts)
Inverse transforms a list of coordinate point ordinal values. |
Point2D |
inverseTransform(Point2D ptSrc,
Point2D ptDst)
Inverse transforms the specified ptSrc
and stores the result in ptDst . |
boolean |
isIdentity()
Returns false since map
projections are not identity transforms. |
(package private) static double |
latitudeToRadians(double y,
boolean edge)
Convertit en radians une latitude exprim�e en degr�s. |
(package private) static double |
longitudeToRadians(double x,
boolean edge)
Convertit en radians une longitude exprim�e en degr�s. |
(package private) double |
msfn(double s,
double c)
Compute function f(s,c,es) = c/sqrt(1 - s�*es)
needed for the true scale latitude (Snyder, p. 47), where
s and c are the sine and cosine of
the true scale latitude, and es the eccentricity
squared. |
String |
toString()
Retourne une cha�ne de caract�res repr�sentant cette projection cartographique. |
(package private) void |
toString(StringBuffer buffer)
Impl�mentation de la partie entre crochets de la cha�ne retourn�e par toString() . |
void |
transform(double[] src,
int srcOffset,
double[] dest,
int dstOffset,
int numPts)
Transforms a list of coordinate point ordinal values. |
protected abstract Point2D |
transform(double x,
double y,
Point2D ptDst)
Transforms the specified coordinate and stores the result in ptDst . |
void |
transform(float[] src,
int srcOffset,
float[] dest,
int dstOffset,
int numPts)
Transforms a list of coordinate point ordinal values. |
Point2D |
transform(Point2D ptSrc,
Point2D ptDst)
Transforms the specified ptSrc
and stores the result in ptDst . |
(package private) double |
tsfn(double phi,
double sinphi)
Compute function (15-9) from Snyder equivalent to negative of function (7-7). |
Methods inherited from class org.deegree.model.csct.ct.AbstractMathTransform |
---|
addParameter, addParameter, createTransformedShape, derivative, derivative, paramMT, transform |
Methods inherited from class java.lang.Object |
---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
Methods inherited from interface org.deegree.model.csct.ct.MathTransform2D |
---|
derivative |
Methods inherited from interface org.deegree.model.csct.ct.MathTransform |
---|
derivative, transform |
Field Detail |
---|
static final double EPS
static final double TOL
protected final boolean isSpherical
true
indique que le mod�le est sph�rique, c'est-�-dire que les champs a
et b
ont la m�me valeur.
protected final double e
isSpherical
est true
.
protected final double es
protected final double a
protected final double b
protected double centralMeridian
TransverseMercatorProjection
need to modify it at
construction time.
protected double centralLatitude
protected double false_easting
protected double false_northing
Constructor Detail |
---|
protected MapProjection(Projection parameters) throws MissingParameterException
parameters
- The parameter values in standard units.
The following parameter are recognized:
MissingParameterException
- if a mandatory parameter is missing.Method Detail |
---|
public abstract String getName()
getName
in class AbstractMathTransform
null
if no name is available in any locale.public final int getDimSource()
getDimSource
in interface MathTransform
public final int getDimTarget()
getDimTarget
in interface MathTransform
static double longitudeToRadians(double x, boolean edge) throws IllegalArgumentException
#setCentralLongitude
.
x
- Longitude � v�rifier, en degr�s.edge
- true
pour accepter les longitudes de �180�.
IllegalArgumentException
- si la longitude est invalide.static double latitudeToRadians(double y, boolean edge) throws IllegalArgumentException
#setCentralLongitude
.
y
- Latitude � v�rifier, en degr�s.edge
- true
pour accepter les latitudes de �90�.
IllegalArgumentException
- si la latitude est invalide.protected abstract Point2D transform(double x, double y, Point2D ptDst) throws TransformException
ptDst
.
This method is guaranteed to be invoked with values of x in the range
[-PI..PI]
and values of y in the range [-PI/2..PI/2]
.
x
- The longitude of the coordinate, in radians.y
- The latitude of the coordinate, in radians.ptDst
- the specified coordinate point that stores the
result of transforming ptSrc
, or
null
. Ordinates will be in metres.
ptSrc
and stroring the result in ptDst
.
TransformException
- if the point can't be transformed.public final Point2D transform(Point2D ptSrc, Point2D ptDst) throws TransformException
ptSrc
and stores the result in ptDst
.
transform
in interface MathTransform2D
transform
in class AbstractMathTransform
ptSrc
- the specified coordinate point to be transformed.
Ordinates must be in degrees.ptDst
- the specified coordinate point that stores the
result of transforming ptSrc
, or
null
. Ordinates will be in metres.
ptSrc
and stroring the result in ptDst
.
TransformException
- if the point can't be transformed.MathTransform2D.transform(Point2D,Point2D)
public final void transform(double[] src, int srcOffset, double[] dest, int dstOffset, int numPts) throws TransformException
transform
in interface MathTransform
src
- the array containing the source point coordinates.srcOffset
- the offset to the first point to be transformed in the source array.dest
- the array into which the transformed point coordinates are returned. May be the
same than srcPts
.dstOffset
- the offset to the location of the first transformed point that is stored in the
destination array.numPts
- the number of point objects to be transformed.
TransformException
- if a point can't be transformed. This method try
to transform every points even if some of them can't be transformed.
Non-transformable points will have value Double.NaN
. If more
than one point can't be transformed, then this exception may be about
an arbitrary point.public final void transform(float[] src, int srcOffset, float[] dest, int dstOffset, int numPts) throws TransformException
transform
in interface MathTransform
transform
in class AbstractMathTransform
src
- the array containing the source point coordinates.srcOffset
- the offset to the first point to be transformed in the source array.dest
- the array into which the transformed point coordinates are returned. May be the
same than srcPts
.dstOffset
- the offset to the location of the first transformed point that is stored in the
destination array.numPts
- the number of point objects to be transformed.
TransformException
- if a point can't be transformed. This method try
to transform every points even if some of them can't be transformed.
Non-transformable points will have value Float.NaN
. If more
than one point can't be transformed, then this exception may be about
an arbitrary point.public final Shape createTransformedShape(Shape shape) throws TransformException
shape
sp�cifi�e.
Cette projection peut remplacer certaines lignes droites
par des courbes. Tous les points de la forme g�om�trique
seront copi�s. Cette m�thode n'est donc pas � conseiller
si shape
est volumineux, par exemple s'il
repr�sente une bathym�trie enti�re.
createTransformedShape
in interface MathTransform2D
createTransformedShape
in class AbstractMathTransform
shape
- Forme g�om�trique � transformer. Les coordonn�es des points
de cette forme doivent �tre exprim�es en degr�s de latitudes
et de longitudes.
TransformException
- si une transformation a �chou�e.MathTransform2D.createTransformedShape(Shape)
protected abstract Point2D inverseTransform(double x, double y, Point2D ptDst) throws TransformException
ptDst
.
This method shall returns x values in the range [-PI..PI]
and y values in the range [-PI/2..PI/2]
. It will be checked
by the caller, so this method doesn't need to performs this check.
x
- The longitude of the coordinate, in metres.y
- The latitude of the coordinate, in metres.ptDst
- the specified coordinate point that stores the
result of transforming ptSrc
, or
null
. Ordinates will be in radians.
ptSrc
and stroring the result in ptDst
.
TransformException
- if the point can't be transformed.public final Point2D inverseTransform(Point2D ptSrc, Point2D ptDst) throws TransformException
ptSrc
and stores the result in ptDst
.
ptSrc
- the specified coordinate point to be transformed.
Ordinates must be in metres.ptDst
- the specified coordinate point that stores the
result of transforming ptSrc
, or
null
. Ordinates will be in degrees.
ptSrc
and stroring the result in ptDst
.
TransformException
- if the point can't be transformed.public final void inverseTransform(double[] src, int srcOffset, double[] dest, int dstOffset, int numPts) throws TransformException
TransformException
- if a point can't be transformed. This method try
to transform every points even if some of them can't be transformed.
Non-transformable points will have value Double.NaN
. If more
than one point can't be transformed, then this exception may be about
an arbitrary point.public final void inverseTransform(float[] src, int srcOffset, float[] dest, int dstOffset, int numPts) throws TransformException
TransformException
- if a point can't be transformed. This method try
to transform every points even if some of them can't be transformed.
Non-transformable points will have value Float.NaN
. If more
than one point can't be transformed, then this exception may be about
an arbitrary point.final double cphi2(double ts) throws TransformException
TransformException
final double msfn(double s, double c)
f(s,c,es) = c/sqrt(1 - s�*es)
needed for the true scale latitude (Snyder, p. 47), where
s and c are the sine and cosine of
the true scale latitude, and es
the eccentricity
squared.
final double tsfn(double phi, double sinphi)
public final MathTransform inverse()
inverse
in interface MathTransform
inverse
in class AbstractMathTransform
public final boolean isIdentity()
false
since map
projections are not identity transforms.
isIdentity
in interface MathTransform
true
if this MathTransform
is an identity transform;
false
otherwise.public int hashCode()
hashCode
in class AbstractMathTransform
public boolean equals(Object object)
equals
in class AbstractMathTransform
public final String toString()
toString
in class AbstractMathTransform
void toString(StringBuffer buffer)
toString()
.
|
deegree 2.1 (2007/11/08 09:57 build-328-official) | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
an open source project founded by lat/lon, Bonn, Germany.
For more information visit: http://deegree.sourceforge.net