|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
ObjectFormattable
AbstractMathTransform
MapProjection
Stereographic
public abstract class Stereographic
Stereographic Projection. The directions starting from the central point are true, but the areas and the lengths become increasingly deformed as one moves away from the center. This projection is used to represent polar areas. It can be adapted for other areas having a circular form.
This implementation, and its subclasses, provides transforms for six cases of the stereographic projection:
"Oblique_Stereographic"
(EPSG code 9809), alias "Double_Stereographic"
in ESRI software"Stereographic"
in ESRI software (NOT EPSG code 9809)"Polar_Stereographic"
(EPSG code 9810, uses a series calculation for the
inverse)"Polar_Stereographic (variant B)"
(EPSG code 9829, uses a series calculation
for the inverse)"Stereographic_North_Pole"
in ESRI software (uses iteration for the inverse)"Stereographic_South_Pole"
in ESRI software (uses iteration for the inverse)
Both the "Oblique_Stereographic"
and "Stereographic"
projections are "double" projections involving two parts: 1) a conformal
transformation of the geographic coordinates to a sphere and 2) a spherical
Stereographic projection. The EPSG considers both methods to be valid, but
considers them to be a different coordinate operation methods.
The "Stereographic"
case uses the USGS equations of Snyder.
This employs a simplified conversion to the conformal sphere that
computes the conformal latitude of each point on the sphere.
The "Oblique_Stereographic"
case uses equations from the EPSG.
This uses a more generalized form of the conversion to the conformal sphere; using only
a single conformal sphere at the origin point. Since this is a "double" projection,
it is sometimes called the "Double Stereographic". The "Oblique_Stereographic"
is used in New Brunswick (Canada) and the Netherlands.
The "Stereographic"
and "Double_Stereographic"
names are
used in ESRI's ArcGIS 8.x product. The "Oblique_Stereographic"
name is the EPSG name for the later only.
WARNING: Tests points calculated with ArcGIS's "Double_Stereographic"
are not always equal to points calculated with the "Oblique_Stereographic"
.
However, where there are differences, two different implementations of these equations
(EPSG guidence note 7 and libproj
) calculate the same values as we do. Until these
differences are resolved, please be careful when using this projection.
If a "latitude_of_origin"
parameter is
supplied and is not consistent with the projection classification (for example a latitude
different from ±90° for the polar case), then the oblique or polar case will be
automatically inferred from the latitude. In other words, the latitude of origin has
precedence on the projection classification. If ommited, then the default value is 90°N
for "Polar_Stereographic"
and 0° for "Oblique_Stereographic"
.
Polar projections that use the series equations for the inverse calculation will
be little bit faster, but may be a little bit less accurate. If a polar
"latitude_of_origin"
is used for
the "Oblique_Stereographic"
or "Stereographic"
, the iterative
equations will be used for inverse polar calculations.
The "Polar Stereographic (variant B)"
, "Stereographic_North_Pole"
,
and "Stereographic_South_Pole"
cases include a
"standard_parallel_1"
parameter.
This parameter sets the latitude with a scale factor equal to the supplied
scale factor. The "Polar Stereographic (variant A)"
receives its
"latitude_of_origin"
parameter value from the hemisphere of the
"latitude_of_origin"
value
(i.e. the value is forced to ±90°).
References:
modules/library/referencing (gt-referencing.jar)
Nested Class Summary | |
---|---|
static class |
Stereographic.Provider
The math transform provider for a Stereographic projections using USGS equations. |
Nested classes/interfaces inherited from class MapProjection |
---|
MapProjection.AbstractProvider |
Field Summary |
---|
Fields inherited from class MapProjection |
---|
centralMeridian, excentricity, excentricitySquared, falseEasting, falseNorthing, globalScale, isSpherical, latitudeOfOrigin, LOGGER, scaleFactor, semiMajor, semiMinor |
Fields inherited from class Formattable |
---|
SINGLE_LINE |
Method Summary | |
---|---|
boolean |
equals(Object object)
Compares the specified object with this map projection for equality. |
ParameterDescriptorGroup |
getParameterDescriptors()
Returns the parameter descriptors for this map projection. |
Methods inherited from class MapProjection |
---|
getParameterValues, getSourceDimensions, getTargetDimensions, getToleranceForAssertions, hashCode, inverse, inverseTransformNormalized, resetWarnings, transform, transform, transform, transformNormalized |
Methods inherited from class AbstractMathTransform |
---|
createTransformedShape, derivative, derivative, ensureNonNull, formatWKT, getName, isIdentity, needCopy, rollLongitude, transform, transform, transform |
Methods inherited from class Formattable |
---|
toString, toWKT, toWKT, toWKT |
Methods inherited from class Object |
---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
Methods inherited from interface MathTransform2D |
---|
createTransformedShape, derivative |
Methods inherited from interface MathTransform |
---|
derivative, isIdentity, toWKT, transform, transform, transform |
Method Detail |
---|
public ParameterDescriptorGroup getParameterDescriptors()
MapProjection.getParameterValues()
, as well as arguments checking.
getParameterDescriptors
in class MapProjection
null
.OperationMethod.getParameters()
public boolean equals(Object object)
equals
in class MapProjection
object
- The object to compare with this transform.
true
if the given object is a transform of the same class
and if, given identical source position, the
transformed
position would be the equals.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |