UNPKG

@arcgis/core

Version:

ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API

78 lines (75 loc) 4.32 kB
import type { JSONSupport } from "../core/JSONSupport.js"; import type { ProjectionLengthUnit } from "../core/units.js"; export interface HeightModelInfoProperties { /** * The surface type or height model of the vertical coordinate system (VCS). A * [SceneView](https://developers.arcgis.com/javascript/latest/references/core/views/SceneView/) will only render layers containing data that * is compatible with the HeightModelInfo of the scene. * * Value | Description * ------|------------ * gravity-related-height | A gravity-related VCS may set its zero point through a local mean sea level or a benchmark, and is compatible with other gravity-related VCS for the purposes of rendering. * ellipsoidal | An ellipsoidal VCS defines heights that are referenced to an ellipsoid of a geographic coordinate system. * * @default "gravity-related-height" */ heightModel?: HeightModel; /** * The unit of the vertical coordinate system. A [SceneView](https://developers.arcgis.com/javascript/latest/references/core/views/SceneView/) * will use this property to check that the vertical data of layers that * define a HeightModelInfo is compatible with the view. * * @default "meters" */ heightUnit?: ProjectionLengthUnit; /** * The datum realization of the vertical coordinate system. A * [SceneView](https://developers.arcgis.com/javascript/latest/references/core/views/SceneView/) will only render layers that define a * HeightModelInfo with an identical `vertCRS` to that of the scene, * when using an `ellipsoidal` height model. */ vertCRS?: string | null; } export type HeightModel = "gravity-related-height" | "ellipsoidal"; /** * The height model info defines the characteristics of a vertical coordinate system. * In a [SceneView](https://developers.arcgis.com/javascript/latest/references/core/views/SceneView/), the height model info of a * [WebScene.heightModelInfo](https://developers.arcgis.com/javascript/latest/references/core/WebScene/#heightModelInfo) is used to avoid rendering layers * that have incompatible vertical coordinate systems. * A height model info object is defined by a [surface type](https://developers.arcgis.com/javascript/latest/references/core/geometry/HeightModelInfo/#heightModel), a [vertical unit](https://developers.arcgis.com/javascript/latest/references/core/geometry/HeightModelInfo/#heightUnit), and an * [optional datum realization](https://developers.arcgis.com/javascript/latest/references/core/geometry/HeightModelInfo/#vertCRS). * * @since 4.5 * @see [Vertical coordinate systems](https://developers.arcgis.com/rest/services-reference/enterprise/using-spatial-references.htm) */ export default class HeightModelInfo extends JSONSupport { constructor(properties?: HeightModelInfoProperties); /** * The surface type or height model of the vertical coordinate system (VCS). A * [SceneView](https://developers.arcgis.com/javascript/latest/references/core/views/SceneView/) will only render layers containing data that * is compatible with the HeightModelInfo of the scene. * * Value | Description * ------|------------ * gravity-related-height | A gravity-related VCS may set its zero point through a local mean sea level or a benchmark, and is compatible with other gravity-related VCS for the purposes of rendering. * ellipsoidal | An ellipsoidal VCS defines heights that are referenced to an ellipsoid of a geographic coordinate system. * * @default "gravity-related-height" */ get heightModel(): HeightModel; /** * The unit of the vertical coordinate system. A [SceneView](https://developers.arcgis.com/javascript/latest/references/core/views/SceneView/) * will use this property to check that the vertical data of layers that * define a HeightModelInfo is compatible with the view. * * @default "meters" */ get heightUnit(): ProjectionLengthUnit; /** * The datum realization of the vertical coordinate system. A * [SceneView](https://developers.arcgis.com/javascript/latest/references/core/views/SceneView/) will only render layers that define a * HeightModelInfo with an identical `vertCRS` to that of the scene, * when using an `ellipsoidal` height model. */ get vertCRS(): string | null | undefined; }