org.geotools.referencing.operation.projection
Class Krovak

java.lang.Object
  extended by org.geotools.referencing.wkt.Formattable
      extended by org.geotools.referencing.operation.transform.AbstractMathTransform
          extended by org.geotools.referencing.operation.projection.MapProjection
              extended by org.geotools.referencing.operation.projection.Krovak
All Implemented Interfaces:
java.io.Serializable, org.opengis.referencing.operation.MathTransform, org.opengis.referencing.operation.MathTransform2D

public class Krovak
extends MapProjection

Krovak Oblique Conformal Conic projection (EPSG code 9819). 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.

In general the axis of Krovak projection are defined as westing and southing (not easting and northing) and they are also reverted, so if the value of projected coordinates should (and in y, x order in Krovak) be positive the 'Axis' parameter for projection should be defined explicitly like this (in wkt):

PROJCS["S-JTSK (Ferro) / Krovak",
         .
         .
         .
     PROJECTION["Krovak"]
     PARAMETER["semi_major", 6377397.155],
     PARAMETER["semi_minor", 6356078.963],
     UNIT["meter",1.0],
     AXIS["x", WEST],
     AXIS["y", SOUTH]]
     
Axis in Krovak:
   y<------------------+
                       |
    Czech. Rep.        |
                       |
                       x
 
By default, the axis are 'easting, northing' so the values of projected coordinates are negative (and in y, x order in Krovak - it is cold Krovak GIS version).

References:

Since:
2.4
Version:
$Id: Krovak.java 34723 2009-12-22 10:55:34Z aaime $
Author:
Jan Jezek, Martin Desruisseaux
See Also:
Krovak on RemoteSensing.org, Krovak on "Coordinate Conversions and Transformations including Formulas", Krovak on POSC, Serialized Form

Nested Class Summary
static class Krovak.Provider
          The math transform provider for an Krovak projection (EPSG code 9819).
 
Nested classes/interfaces inherited from class org.geotools.referencing.operation.projection.MapProjection
MapProjection.AbstractProvider
 
Field Summary
protected  double azimuth
          Azimuth of the centre line passing through the centre of the projection.
protected  double pseudoStandardParallel
          Latitude of pseudo standard parallel.
protected  double x_scale
          Parameter used by ESRI - scale for X Axis
protected  double xy_plane_rotation
          Parameter used by ESRI - rotation
protected  double y_scale
          Parameter used by ESRI - scale for Y Axis
 
Fields inherited from class org.geotools.referencing.operation.projection.MapProjection
centralMeridian, en0, en1, en2, en3, en4, excentricity, excentricitySquared, falseEasting, falseNorthing, globalScale, isSpherical, latitudeOfOrigin, LOGGER, scaleFactor, semiMajor, semiMinor
 
Fields inherited from class org.geotools.referencing.wkt.Formattable
SINGLE_LINE
 
Constructor Summary
protected Krovak(org.opengis.parameter.ParameterValueGroup parameters)
          Constructs a new map projection from the supplied parameters.
protected Krovak(org.opengis.parameter.ParameterValueGroup parameters, boolean esriDefinition)
          Constructs a new map projection from the supplied parameters.
 
Method Summary
 boolean equals(java.lang.Object object)
          Compares the specified object with this map projection for equality.
 org.opengis.parameter.ParameterDescriptorGroup getParameterDescriptors()
          Returns the parameter descriptors for this map projection.
 org.opengis.parameter.ParameterValueGroup getParameterValues()
          Returns the parameter values for this map projection.
 int hashCode()
          Returns a hash value for this projection.
protected  java.awt.geom.Point2D inverseTransformNormalized(double x, double y, java.awt.geom.Point2D ptDst)
          Transforms the specified (x,y) coordinate and stores the result in ptDst.
protected  java.awt.geom.Point2D transformNormalized(double lambda, double phi, java.awt.geom.Point2D ptDst)
          Transforms the specified (λ,φ) coordinates (units in radians) and stores the result in ptDst (linear distance on a unit sphere).
 
Methods inherited from class org.geotools.referencing.operation.projection.MapProjection
getSourceDimensions, getTargetDimensions, getToleranceForAssertions, inv_mlfn, inverse, mlfn, resetWarnings, transform, transform, transform
 
Methods inherited from class org.geotools.referencing.operation.transform.AbstractMathTransform
createTransformedShape, derivative, derivative, ensureNonNull, formatWKT, getName, isIdentity, needCopy, rollLongitude, transform, transform, transform
 
Methods inherited from class org.geotools.referencing.wkt.Formattable
cleanupThreadLocals, toString, toWKT, toWKT, toWKT
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.opengis.referencing.operation.MathTransform2D
createTransformedShape, derivative
 
Methods inherited from interface org.opengis.referencing.operation.MathTransform
derivative, isIdentity, toWKT, transform, transform, transform
 

Field Detail

azimuth

protected final double azimuth
Azimuth of the centre line passing through the centre of the projection. This is equals to the co-latitude of the cone axis at point of intersection with the ellipsoid.


x_scale

protected double x_scale
Parameter used by ESRI - scale for X Axis


y_scale

protected double y_scale
Parameter used by ESRI - scale for Y Axis


xy_plane_rotation

protected double xy_plane_rotation
Parameter used by ESRI - rotation


pseudoStandardParallel

protected final double pseudoStandardParallel
Latitude of pseudo standard parallel.

Constructor Detail

Krovak

protected Krovak(org.opengis.parameter.ParameterValueGroup parameters)
          throws org.opengis.parameter.ParameterNotFoundException
Constructs a new map projection from the supplied parameters.

Parameters:
parameters - The parameter values in standard units.
Throws:
org.opengis.parameter.ParameterNotFoundException - if a mandatory parameter is missing.

Krovak

protected Krovak(org.opengis.parameter.ParameterValueGroup parameters,
                 boolean esriDefinition)
          throws org.opengis.parameter.ParameterNotFoundException
Constructs a new map projection from the supplied parameters.

Parameters:
parameters - The parameter values in standard units.
esriDefinition - true if ESRI parameters are specified.
Throws:
org.opengis.parameter.ParameterNotFoundException - if a mandatory parameter is missing.
Method Detail

getParameterDescriptors

public org.opengis.parameter.ParameterDescriptorGroup getParameterDescriptors()
Returns the parameter descriptors for this map projection. This is used for a providing a default implementation of MapProjection.getParameterValues(), as well as arguments checking.

Specified by:
getParameterDescriptors in class MapProjection
Returns:
The parameter descriptors for this math transform, or null.
See Also:
OperationMethod.getParameters()

getParameterValues

public org.opengis.parameter.ParameterValueGroup getParameterValues()
Returns the parameter values for this map projection.

Overrides:
getParameterValues in class MapProjection
Returns:
A copy of the parameter values for this map projection.
See Also:
Operation.getParameterValues()

transformNormalized

protected java.awt.geom.Point2D transformNormalized(double lambda,
                                                    double phi,
                                                    java.awt.geom.Point2D ptDst)
                                             throws ProjectionException
Transforms the specified (λ,φ) coordinates (units in radians) and stores the result in ptDst (linear distance on a unit sphere).

Specified by:
transformNormalized in class MapProjection
Parameters:
lambda - The longitude of the coordinate, in radians.
phi - 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 a dimensionless unit, as a linear distance on a unit sphere or ellipse.
Returns:
the coordinate point after transforming (lambda, phi) and storing the result in ptDst.
Throws:
ProjectionException - if the point can't be transformed.

inverseTransformNormalized

protected java.awt.geom.Point2D inverseTransformNormalized(double x,
                                                           double y,
                                                           java.awt.geom.Point2D ptDst)
                                                    throws ProjectionException
Transforms the specified (x,y) coordinate and stores the result in ptDst.

Specified by:
inverseTransformNormalized in class MapProjection
Parameters:
x - The easting of the coordinate, linear distance on a unit sphere or ellipse.
y - The northing of the coordinate, linear distance on a unit sphere or ellipse.
ptDst - the specified coordinate point that stores the result of transforming ptSrc, or null. Ordinates will be in radians.
Returns:
the coordinate point after transforming x, y and storing the result in ptDst.
Throws:
ProjectionException - if the point can't be transformed.

hashCode

public int hashCode()
Returns a hash value for this projection.

Overrides:
hashCode in class MapProjection

equals

public boolean equals(java.lang.Object object)
Compares the specified object with this map projection for equality.

Overrides:
equals in class MapProjection
Parameters:
object - The object to compare with this transform.
Returns:
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.


Copyright © 1996-2010 Geotools. All Rights Reserved.