UNPKG

@itwin/core-common

Version:

iTwin.js components common to frontend and backend

73 lines 3.95 kB
/** @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