HorizontalCRS Class

Horizontal Geographic Coordinate reference System implementation. An horizontal CRS defines the portion which is horizontal to the Earth surface (within the deformation brought by the projection process). There are two major classes of Horizontal Coordinate Reference Systems:

  • The projected CRS which rely on a projection to flatten the coordinate system space into axises using linear units (meter, US Survey Feet, ...) relative to some origin.
  • The non projected CRS (also named geographic CRS by EPSG nomenclature) that does not require a projection (projection method = None) and horizontal coordinates are expressed as longitude and latitude (see Cartographic) Horizontal Coordinate Systems rely on a projection to flatten the surface of an ellipsoid (see GeodeticEllipsoid) which is the mathematical model of the Earth surface. Explanations in more details of the various concepts can be obtained from other sources including the page on the subject on itwinJS.org (see https://www.itwinjs.org/learning/geolocation/?term=coordinate+system). A few details are still required to grasp the model. Geographic Coordinate Reference Systems rely on the concept of geodetic datums (see GeodeticDatum) to convert latitude/longitude from one frame of reference to another. Such geodetic datum will bind the ellipsoid and possibly define transformation steps required to convert from the currently used geodetic datum to the common datum WGS84 used for worldwide data (such as most popular imagery data sources). If there are no rules established to convert to WGS84 or if those rules are secret then the horizontal CRS can be datum-less and must make direct use of the ellipsoid to define the earth surface. For this purpose either the geodetic datum must be specified using either datumId or datum properties or both. If both these values are undefined then it is possible to define the ellipsoid using properties ellipsoidId or ellipsoid or both. These two pairs of properties are mutually exclusive with datum related properties having precedence. If a datum or datumId is set then ellipsoid properties will automatically be undefined. If datumId or datum is defined then attempts to set ellipsoidId or ellipsoid will fail silently, the values remaining undefined. The ellipsoidId will not be a repeat of the ellipsoidId property part of the geodetic datum definition.

Implements

Methods

Name Description
constructor(_data?: HorizontalCRSProps): HorizontalCRS    
equals(other: HorizontalCRS): boolean Compares two horizontal CRS.  
toJSON(): HorizontalCRSProps Creates a JSON from the Horizontal CRS definition  
fromJSON(data: HorizontalCRSProps): HorizontalCRS Static Creates an Horizontal CRS from JSON representation.  

Properties

Name Type Description
datum Readonly GeodeticDatum | undefined The complete definition of the geodetic datum referred to by datumId.  
datumId Readonly string | undefined The identifier of the geodetic datum as stored in the dictionary or the service database.  
deprecated Readonly boolean If true then indicates the definition is deprecated.  
description Readonly string | undefined Description  
ellipsoid Readonly GeodeticEllipsoid | undefined The complete definition of the geodetic ellipsoid referred to by ellipsoidId.  
ellipsoidId Readonly string | undefined The identifier of the geodetic ellipsoid as stored in the dictionary or the service database.  
epsg Readonly number | undefined The EPSG code of the CRS.  
extent Readonly HorizontalCRSExtent | undefined Extent representing the domain of application of the CRS.  
id Readonly string | undefined The identifier of the horizontal CRS as stored in the dictionary or the service database  
name Readonly string | undefined Used only for user-defined definitions that will typically use a GUID as id.  
projection Readonly Projection | undefined Projection including projection parameters.  
source Readonly string | undefined The source of the CRS definition.  
unit Readonly UnitType | undefined The text indicating the unit used.  

Defined in

Last Updated: 17 December, 2024