org.geotoolkit.referencing.operation.projection
Class Krovak
Object
FormattableObject
AbstractMathTransform
AbstractMathTransform2D
UnitaryProjection
Krovak
- All Implemented Interfaces:
- Serializable, Formattable, Parameterized, LenientComparable, MathTransform, MathTransform2D
@Immutable
public class Krovak
- extends UnitaryProjection
Krovak Oblique Conformal Conic projection (EPSG code 9819). See the
Krovak on POSC
for an overview. See any of the following providers for a list of programmatic parameters:
Description
This projection is used in the Czech Republic and Slovakia under the name "Krovak" projection.
The geographic coordinates on the ellipsoid are first reduced to conformal coordinates on the
conformal (Gaussian) sphere. These spherical coordinates are then projected onto the oblique
cone and converted to grid coordinates. The pseudo standard parallel is defined on the conformal
sphere after its rotation, to obtain the oblique aspect of the projection. It is then the parallel
on this sphere at which the map projection is true to scale; on the ellipsoid it maps as a complex
curve.
The compulsory parameters are just the ellipsoid characteristics. All other parameters are
optional and have defaults to match the common usage with Krovak projection.
Projected CRS using the Krovak projection
are usually defined with (southing, westing) axis orientations. ESRI uses
those orientations by default. However in Geotk, every projection must have (easting,
northing) orientations - axis reversal are handled by the concatenation of affine
transforms. Consequently in order to get the usual axis order, a Krovak projected CRS
must defines axis order explicitly (as required by the OGC standard)
like in the example below:
PROJCS["S-JTSK (Ferro) / Krovak",
GEOCS[...],
PROJECTION["Krovak"]
PARAMETER["semi_major", 6377397.155],
PARAMETER["semi_minor", 6356078.963],
UNIT["metre", 1],
AXIS["y", SOUTH],
AXIS["x", WEST]]
The default Krovak projection implemented by this class - having (easting,
northing) axis orientations - is cold Krovak GIS version.
References
- Since:
- 2.4
- Version:
- 3.18
- Author:
- Jan Jezek (HSRS), Martin Desruisseaux (IRD, Geomatys)
- See Also:
- Serialized Form
- Module:
|
Method Summary |
protected int |
computeHashCode()
Computes a hash code value for this unitary projection. |
static MathTransform2D |
create(ParameterDescriptorGroup descriptor,
ParameterValueGroup values)
Creates a Krovak projection from the given parameters. |
boolean |
equals(Object object,
ComparisonMode mode)
Compares the given object with this transform for equivalence. |
protected void |
inverseTransform(double[] srcPts,
int srcOff,
double[] dstPts,
int dstOff)
Transforms the specified (x,y) coordinates
and stores the result in dstPts (angles in radians). |
protected void |
transform(double[] srcPts,
int srcOff,
double[] dstPts,
int dstOff)
Transforms the specified (λ,φ) coordinates
(units in radians) and stores the result in dstPts (linear distance
on a unit sphere). |
| Methods inherited from class AbstractMathTransform |
createTransformedShape, derivative, derivative, ensureNonNull, equals, formatWKT, getName, hashCode, isIdentity, rollLongitude, transform, transform, transform, transform |
Krovak
protected Krovak(UnitaryProjection.Parameters parameters)
- Constructs a new map projection from the supplied parameters.
- Parameters:
parameters - The parameters of the projection to be created.
create
public static MathTransform2D create(ParameterDescriptorGroup descriptor,
ParameterValueGroup values)
- Creates a Krovak projection from the given parameters. The descriptor argument is usually
Krovak.PARAMETERS, but is not restricted
to. If a different descriptor is supplied, it is user's responsibility to ensure that it is
suitable to a Krovak projection.
- Parameters:
descriptor - Typically Krovak.PARAMETERS.values - The parameter values of the projection to create.
- Returns:
- The map projection.
- Since:
- 3.00
transform
protected void transform(double[] srcPts,
int srcOff,
double[] dstPts,
int dstOff)
throws ProjectionException
- Transforms the specified (λ,φ) coordinates
(units in radians) and stores the result in
dstPts (linear distance
on a unit sphere).
- Specified by:
transform in class UnitaryProjection
- Parameters:
srcPts - The array containing the source point coordinate, as (longitude,
latitude) angles in radians.srcOff - The offset of the point to be converted in the source array.dstPts - the array into which the converted point coordinate is returned (may be
the same than srcPts). Ordinates will be in a dimensionless unit,
as a linear distance on a unit sphere or ellipse.dstOff - The offset of the location of the converted point that is
stored in the destination array.
- Throws:
ProjectionException - if the point can't be converted.
inverseTransform
protected void inverseTransform(double[] srcPts,
int srcOff,
double[] dstPts,
int dstOff)
throws ProjectionException
- Transforms the specified (x,y) coordinates
and stores the result in
dstPts (angles in radians).
- Specified by:
inverseTransform in class UnitaryProjection
- Parameters:
srcPts - The array containing the source point coordinate, as linear distance
on a unit sphere or ellipse.srcOff - The offset of the point to be converted in the source array.dstPts - the array into which the converted point coordinate is returned (may be
the same than srcPts). Ordinates will be (longitude,
latitude) angles in radians.dstOff - The offset of the location of the converted point that is
stored in the destination array.
- Throws:
ProjectionException - if the point can't be converted.
computeHashCode
protected int computeHashCode()
- Computes a hash code value for this unitary projection. The default implementation
computes a value from the parameters given at construction time.
- Overrides:
computeHashCode in class UnitaryProjection
- Returns:
- The hash code value. This value may change between different execution of the
Geotk library.
equals
public boolean equals(Object object,
ComparisonMode mode)
- Compares the given object with this transform for equivalence.
- Specified by:
equals in interface LenientComparable- Overrides:
equals in class UnitaryProjection
- Parameters:
object - The object to compare with this unitary projection for equivalence.mode - The strictness level of the comparison. Default to STRICT.
- Returns:
true if the given object is equivalent to this unitary projection.
Copyright © 2009-2011 Geotoolkit.org. All Rights Reserved.