@itwin/core-common
Version:
iTwin.js components common to frontend and backend
73 lines • 3.95 kB
TypeScript
/** @packageDocumentation
* @module Geometry
*/
/** This interface defines the mathematical model of the Earth shape in the form of an ellipsoid.
* There are various ways to define an ellipsoid but we have retained the definition based on the polar and equatorial radiuses.
* The other ellipsoid properties, such as flattening and inverse flattening, can be obtained using
* the simple equations that are defined at:
* https://en.wikipedia.org/wiki/Flattening and https://en.wikipedia.org/wiki/Earth_ellipsoid.
* @public
* @extensions
*/
export interface GeodeticEllipsoidProps {
/** Ellipsoid key name */
id?: string;
/** Description of the ellipsoid */
description?: string;
/** If true then indicates the definition is deprecated. It should then be used for backward compatibility only.
* If false or undefined then the definition is not deprecated.
*/
deprecated?: boolean;
/** The textual description of the source of the ellipsoid definition. */
source?: string;
/** The EPSG code of the ellipsoid. If undefined then there is no EPSG code associated. */
epsg?: number;
/** The equatorial radius of the ellipsoid in meters */
equatorialRadius?: number;
/** The polar radius of the ellipsoid in meters*/
polarRadius?: number;
}
/** This class defines the mathematical model of the Earth shape in the form of an ellipsoid.
* There are various ways to define an ellipsoid but we have retained the definition based on the polar and equatorial radiuses.
* The other ellipsoid properties, such as flattening and inverse flattening, can be obtained using
* the simple equations that are defined at:
* https://en.wikipedia.org/wiki/Flattening and https://en.wikipedia.org/wiki/Earth_ellipsoid.
* The present class only implements the definition of the ellipsoid. No processing is performed here. If ellipsoid based computation
* are required refer to [[Ellipsoid]] in core/geometry package.
* The class only serves to describe a geodetic ellipsoid and can be partially or fully defined.
* For a lot of purposes simply setting the id property is sufficient to describe the ellipsoid in most cases
* as the mathematical properties (equatorial and polar radiuses) will be often extracted from the dictionary
* of commonly known ellipsoids by the reprojection engine used.
* @public
*/
export declare class GeodeticEllipsoid implements GeodeticEllipsoidProps {
/** Ellipsoid key name */
readonly id?: string;
/** Description of the ellipsoid */
readonly description?: string;
/** If true then indicates the definition is deprecated. It should then be used for backward compatibility only.
* If false then the definition is not deprecated. Default is false.
*/
readonly deprecated: boolean;
/** The textual description of the source of the ellipsoid definition. */
readonly source?: string;
/** The EPSG code of the ellipsoid. If undefined then there is no EPSG code associated. */
readonly epsg?: number;
/** The equatorial radius of the ellipsoid in meters. */
readonly equatorialRadius?: number;
/** The polar radius of the ellipsoid in meters. */
readonly polarRadius?: number;
constructor(data?: GeodeticEllipsoidProps);
/** Creates a Geodetic Ellipsoid from JSON representation.
* @public */
static fromJSON(data: GeodeticEllipsoidProps): GeodeticEllipsoid;
/** Creates a JSON from the Geodetic Ellipsoid definition
* @public */
toJSON(): GeodeticEllipsoidProps;
/** Compares two Geodetic Ellipsoid. It is a strict compare operation not an equivalence test
* but it applies a minuscule tolerance for floating point compares.
* It takes into account descriptive properties not only mathematical definition properties.
* @public */
equals(other: GeodeticEllipsoid): boolean;
}
//# sourceMappingURL=GeodeticEllipsoid.d.ts.map