Class ObliqueMercator

  • All Implemented Interfaces:
    Serializable, Parameterized, Lenient­Comparable, Math­Transform, Math­Transform2D

    public class ObliqueMercator
    extends NormalizedProjection
    Oblique Mercator projection (EPSG codes 9812, 9815). The Oblique Mercator projection can be seen as a generalization of Mercator and Transverse­Mercator projections when the central line is not along the equator or a meridian, respectively. This class covers also the Rectified Skew Orthomorphic (RSO) case.

    There is different ways to specify the projection parameters:

    • Variant A (EPSG:9812) uses false easting/northing defined at the natural origin of the coordinate system.
    • Variant B (EPSG:9815) uses false easting/northing defined at the projection center.
    • ESRI "Two Points" variant defines the central line with two points instead than with an azimuth angle.
    Azimuth values of 0 and ±90 degrees are allowed, but for such cases the Mercator and Transverse­Mercator projections should be preferred, both for performance and accuracy reasons.
    Since:
    1.0
    See Also:
    Mercator, Transverse­Mercator, Serialized Form

    Defined in the sis-referencing module

    • Constructor Detail

      • ObliqueMercator

        public ObliqueMercator​(OperationMethod method,
                               Parameters parameters)
        Creates an Oblique Mercator projection from the given parameters. The method argument can be the description of one of the following:
        • "Hotine Oblique Mercator (variant A)".
        • "Hotine Oblique Mercator (variant B)".
        • "Hotine Oblique Mercator two point center" (from ESRI).
        • "Hotine Oblique Mercator two point natural origin" (from ESRI).
        • "Rectified Skew Orthomorphic".
        Parameters:
        method - description of the projection parameters.
        parameters - the parameter values of the projection to create.
    • Method Detail

      • inverseTransform

        protected void inverseTransform​(double[] srcPts,
                                        int srcOff,
                                        double[] dstPts,
                                        int dstOff)
                                 throws ProjectionException
        Converts the specified (x,y) coordinates and stores the result in dst­Pts (angles in radians).
        Specified by:
        inverse­Transform in class Normalized­Projection
        Parameters:
        src­Pts - the array containing the source point coordinate, as linear distance on a unit sphere or ellipse.
        src­Off - the offset of the point to be converted in the source array.
        dst­Pts - the array into which the converted point coordinate is returned (may be the same than src­Pts). Coordinates will be (longitude, latitude) angles in radians.
        dst­Off - the offset of the location of the converted point that is stored in the destination array.
        Throws:
        Projection­Exception - if the point can not be converted.