Class Krovak

  • All Implemented Interfaces:
    Serializable, MathTransform, 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
    Author:
    Jan Jezek, Martin Desruisseaux
    See Also:
    Krovak on RemoteSensing.org, Krovak on "Coordinate Conversions and Transformations including Formulas", Krovak on POSC, Serialized Form
    • 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.
      • descriptors

        protected final ParameterDescriptorGroup descriptors
        The descriptor group, stored as a field as there are different providers
      • 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.
    • Method Detail

      • transformNormalized

        protected Point2D transformNormalized​(double lambda,
                                              double phi,
                                              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 Point2D inverseTransformNormalized​(double x,
                                                     double y,
                                                     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​(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.