/** @packageDocumentation * @module OrbitGT */ declare type int32 = number; declare type float64 = number; import { Coordinate } from "../../geom/Coordinate"; import { CRS } from "../CRS"; import { OperationMethod } from "../OperationMethod"; import { ParameterValueList } from "../ParameterValueList"; /** * Class PositionVector defines a Position Vector 7-parameter transformation (see Guidance Note 2.4.3.2.1). * * NOTE: this method is also known as "Bursa-Wolf". * * Based on the following document: * * Coordinate Conversions and Transformations including Formulas * Guidance Note Number 7, part 2 * Revised May 2005 * Available at: http://www.epsg.org/ * * Used in Europe. To convert to "Coordinate Frame Rotation" inverse the sign of the three rotations. * * @version 1.0 July 2005 */ /** @internal */ export declare class PositionVector extends OperationMethod { /** The code of this method */ static readonly METHOD_CODE: int32; /** The translation vector */ private _dX; private _dY; private _dZ; /** The rotations (radians) */ private _rX; private _rY; private _rZ; /** The scale factor (offset from 1.0) */ private _dS; /** * Create a new transformation. * @param parameters the values of the parameters. */ constructor(parameters: ParameterValueList); /** * Create a new transformation. * @param dX the translation vector x. * @param dY the translation vector y. * @param dZ the translation vector z. * @param rX the first rotation (radians). * @param rY the second rotation (radians). * @param rZ the third rotation (radians). * @param dS the scale factor (offset from 1.0) (normal units, not ppm). * @return the new transformation. */ static create(dX: float64, dY: float64, dZ: float64, rX: float64, rY: float64, rZ: float64, dS: float64): PositionVector; /** * Get the 7 parameters of the method. * @return the parameters of the method {dX,dY,dZ,rX,rY,rZ,dS} in units {meter,meter,meter, radian,radian,radian, scale_offset-1}. */ getParameters(): Float64Array; /** * Make a forward transformation. * @param source the source coordinate (the coordinate to transform). * @param target the target coordinate (holds the result). */ transformForward(source: Coordinate, target: Coordinate): void; /** * Make a reverse transformation. * @param source the source coordinate (holds the result). * @param target the target coordinate (the coordinate to transform). */ transformReverse(source: Coordinate, target: Coordinate): 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; /** * Create an inverse transformation. * @return the inverse transformation. */ createInverse(): PositionVector; } export {}; //# sourceMappingURL=PositionVector.d.ts.map