|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.deegree_impl.model.ct.AbstractMathTransform
org.deegree_impl.model.ct.MapProjection
org.deegree_impl.model.ct.PlanarProjection
org.deegree_impl.model.ct.StereographicProjection
Projection stéréographique. Les directions à partir du point central sont vrais,
mais les aires et les longueurs deviennent de plus en plus déformées à mesure que
l'on s'éloigne du centre. Cette projection est utilisée pour représenter des régions
polaires. Elle peut être appropriée pour d'autres régions ayant une forme circulaire.
Référence: John P. Snyder (Map Projections - A Working Manual,
U.S. Geological Survey Professional Paper 1395, 1987)
Nested Class Summary | |
(package private) static class |
StereographicProjection.Provider
Informations about a StereographicProjection . |
Field Summary | |
protected double |
a
Longueur de l'axe majeur de la terre, en mètres. |
private double |
ak0
Global scale factor. |
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. |
private double |
chi1
Facteurs utilisés lors des projections obliques et equatorialles. |
private double |
cosChi1
Facteurs utilisés lors des projections obliques et equatorialles. |
private double |
cosphi0
Facteurs utilisés lors des projections obliques et equatorialles. |
protected double |
e
Excentricité de l'ellipse. |
private static int |
ELLIPSOIDAL_EQUATORIAL
Projection mode for switch statement. |
private static int |
ELLIPSOIDAL_NORTH
Projection mode for switch statement. |
private static int |
ELLIPSOIDAL_OBLIQUE
Projection mode for switch statement. |
private static int |
ELLIPSOIDAL_SOUTH
Projection mode for switch statement. |
(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. |
private double |
k0
Global scale factor. |
private double |
latitudeTrueScale
Latitude of true scale, in radians. |
private static int |
MAX_ITER
Nombre maximal d'itérations permises lors du calcul de la projection inverse. |
private int |
mode
Projection mode. |
private double |
sinChi1
Facteurs utilisés lors des projections obliques et equatorialles. |
private double |
sinphi0
Facteurs utilisés lors des projections obliques et equatorialles. |
private static int |
SPHERICAL_EQUATORIAL
Projection mode for switch statement. |
private static int |
SPHERICAL_NORTH
Projection mode for switch statement. |
private static int |
SPHERICAL_OBLIQUE
Projection mode for switch statement. |
private static int |
SPHERICAL_SOUTH
Projection mode for switch statement. |
(package private) static double |
TOL
Marge de tolérance pour les calculs itératifs. |
Constructor Summary | |
protected |
StereographicProjection(Projection parameters)
Construct a new map projection from the suplied parameters. |
private |
StereographicProjection(Projection parameters,
boolean polar,
boolean auto)
Construct a new map projection from the suplied parameters. |
Method Summary | |
(package private) double |
cphi2(double ts)
Iteratively solve equation (7-9) from Snyder. |
java.awt.Shape |
createTransformedShape(java.awt.Shape shape)
Transforme la forme géométrique shape spécifiée.
|
boolean |
equals(java.lang.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. |
java.lang.String |
getName(java.util.Locale locale)
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 java.awt.geom.Point2D |
inverseTransform(double x,
double y,
java.awt.geom.Point2D ptDst)
Transforms the specified (x,y) 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. |
java.awt.geom.Point2D |
inverseTransform(java.awt.geom.Point2D ptSrc,
java.awt.geom.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 MapProjection.es the eccentricity
squared. |
private double |
ssfn(double phi,
double sinphi)
Compute part of function (3-1) from Snyder |
java.lang.String |
toString()
Retourne une chaîne de caractères représentant cette projection cartographique. |
(package private) void |
toString(java.lang.StringBuffer buffer)
Implémentation de la partie entre crochets de la chaîne retournée par MapProjection.toString() . |
void |
transform(double[] src,
int srcOffset,
double[] dest,
int dstOffset,
int numPts)
Transforms a list of coordinate point ordinal values. |
protected java.awt.geom.Point2D |
transform(double x,
double y,
java.awt.geom.Point2D ptDst)
Transforms the specified (x,y) 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. |
java.awt.geom.Point2D |
transform(java.awt.geom.Point2D ptSrc,
java.awt.geom.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_impl.model.ct.AbstractMathTransform |
addParameter, addParameter, createTransformedShape, derivative, derivative, paramMT, toOpenGIS, transform |
Methods inherited from class java.lang.Object |
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
Methods inherited from interface org.deegree_impl.model.ct.MathTransform2D |
derivative |
Methods inherited from interface org.deegree_impl.model.ct.MathTransform |
derivative, transform |
Field Detail |
private static final int MAX_ITER
private static final int SPHERICAL_NORTH
private static final int SPHERICAL_SOUTH
private static final int ELLIPSOIDAL_SOUTH
private static final int ELLIPSOIDAL_NORTH
private static final int SPHERICAL_OBLIQUE
private static final int SPHERICAL_EQUATORIAL
private static final int ELLIPSOIDAL_EQUATORIAL
private static final int ELLIPSOIDAL_OBLIQUE
private final int mode
SPHERICAL_NORTH
, SPHERICAL_SOUTH
,
ELLIPSOIDAL_NORTH
, ELLIPSOIDAL_SOUTH
.
SPHERICAL_OBLIQUE
, SPHERICAL_EQUATORIAL
,
ELLIPSOIDAL_OBLIQUE
or ELLIPSOIDAL_EQUATORIAL
.
private final double k0
ak0
is equals to MapProjection.a
*k0
.
private final double ak0
ak0
is equals to MapProjection.a
*k0
.
private final double sinphi0
private final double cosphi0
private final double chi1
private final double sinChi1
private final double cosChi1
private final double latitudeTrueScale
toString(java.lang.StringBuffer)
implementation.
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 MapProjection.a
et MapProjection.b
ont la même valeur.
protected final double e
MapProjection.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 StereographicProjection(Projection parameters) throws MissingParameterException
parameters
- The parameter values in standard units.
MissingParameterException
- if a mandatory parameter is missing.private StereographicProjection(Projection parameters, boolean polar, boolean auto) throws MissingParameterException
parameters
- The parameter values in standard units.polar
- true
for polar projection.auto
- true
if projection (polar vs oblique)
can be selected automatically.
MissingParameterException
- if a mandatory parameter is missing.Method Detail |
public java.lang.String getName(java.util.Locale locale)
getName
in class MapProjection
protected java.awt.geom.Point2D transform(double x, double y, java.awt.geom.Point2D ptDst) throws TransformException
ptDst
.
transform
in class MapProjection
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.protected java.awt.geom.Point2D inverseTransform(double x, double y, java.awt.geom.Point2D ptDst) throws TransformException
ptDst
.
inverseTransform
in class MapProjection
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.private double ssfn(double phi, double sinphi)
public int hashCode()
hashCode
in class MapProjection
public boolean equals(java.lang.Object object)
equals
in class MapProjection
void toString(java.lang.StringBuffer buffer)
MapProjection.toString()
.
toString
in class MapProjection
public final int getDimSource()
getDimSource
in interface MathTransform
CT_MathTransform.getDimSource()
public final int getDimTarget()
getDimTarget
in interface MathTransform
CT_MathTransform.getDimTarget()
static double longitudeToRadians(double x, boolean edge) throws java.lang.IllegalArgumentException
#setCentralLongitude
.
x
- Longitude à vérifier, en degrés.edge
- true
pour accepter les longitudes de ±180°.
java.lang.IllegalArgumentException
- si la longitude est invalide.static double latitudeToRadians(double y, boolean edge) throws java.lang.IllegalArgumentException
#setCentralLongitude
.
y
- Latitude à vérifier, en degrés.edge
- true
pour accepter les latitudes de ±90°.
java.lang.IllegalArgumentException
- si la latitude est invalide.public final java.awt.geom.Point2D transform(java.awt.geom.Point2D ptSrc, java.awt.geom.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
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 java.awt.Shape createTransformedShape(java.awt.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)
public final java.awt.geom.Point2D inverseTransform(java.awt.geom.Point2D ptSrc, java.awt.geom.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 MapProjection.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 final java.lang.String toString()
toString
in class AbstractMathTransform
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |