/** @packageDocumentation * @module OrbitGT */ declare type int32 = number; declare type float64 = number; import { Coordinate } from "../../geom/Coordinate"; import { CRS } from "../CRS"; import { Ellipsoid } from "../Ellipsoid"; import { Operation } from "../Operation"; import { OperationMethod } from "../OperationMethod"; import { ParameterValueList } from "../ParameterValueList"; /** * Class TransverseMercator defines a Transverse Mercator projection. * * The 'source' CRS is the geographic CRS. * The 'target' CRS is the projected CRS. * * Based on the following document: * * Coordinate Conversions and Transformations including Formulas * Guidance Note Number 7, part 2 * Revised August 2006 * Available at: http://www.epsg.org/ * * Formulas: see 1.4.5.1: General Case * * @version 1.0 January 2007 */ /** @internal */ export declare class TransverseMercator extends OperationMethod { /** The code of this method */ static readonly METHOD_CODE: int32; /** The value of PI */ private static readonly PI; /** Latitude of natural origin (radians) */ private _latN; /** Longitude of natural origin (the central meridian) (radians) */ private _lonN; /** The scale factor at the natural origin */ private _k0; /** False easting */ private _fE; /** False northing */ private _fN; /** Forward calculation parameters */ private _a; private _e; private _e2; private _e4; private _e6; private _e_2; private _m0; /** Reverse calculation parameters */ private _e1; private _R1; private _R2; private _R3; private _R4; /** * Create a new projection. * @param parameters the values of the parameters. */ constructor(parameters: ParameterValueList); /** * Get the power of a number (must be able to handle negative 'n' values). */ private static pow; /** * Calculate M. */ private calcM; /** * Initialize the projection. * @param ellipsoid the ellipsoid to use. * @return this projection (for convenience). */ initializeProjection(ellipsoid: Ellipsoid): TransverseMercator; /** * Do the projection. * @param lon the longitude (radians). * @param lat the latitude (radians). * @param projected the target projected coordinate (X and Y will be set). */ toProjection(lon: float64, lat: float64, projected: Coordinate): void; /** * Do the inverse projection. * @param x the easting. * @param y the northing. * @param geographic the target geographic coordinate (X/Lon and Y/Lat will be set) (radians). */ toGeoGraphic(x: float64, y: float64, geographic: Coordinate): void; /** * OperationMethod method. * @see OperationMethod#initialize */ initialize(operation: Operation): void; /** * OperationMethod interface method. * @see OperationMethod#forward */ forward(sourceCRS: CRS, source: Coordinate, targetCRS: CRS, target: Coordinate): void; /** * OperationMethod interface method. * @see OperationMethod#reverse */ reverse(sourceCRS: CRS, source: Coordinate, targetCRS: CRS, target: Coordinate): void; } export {}; //# sourceMappingURL=TransverseMercator.d.ts.map