UNPKG

@arcgis/core

Version:

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

65 lines (63 loc) 2.41 kB
import type Extent from "./Extent.js"; import type SpatialReference from "./SpatialReference.js"; import type { JSONSupport } from "../core/JSONSupport.js"; import type { SpatialReferenceProperties } from "./SpatialReference.js"; export interface GeometryProperties extends Partial<Pick<Geometry, "hasM" | "hasZ">> { /** * The spatial reference of the geometry. * * @default SpatialReference.WGS84 // wkid: 4326 */ spatialReference?: SpatialReferenceProperties; } /** * The base class for geometry objects. * This class has no constructor. To construct geometries see [Point](https://developers.arcgis.com/javascript/latest/references/core/geometry/Point/), * [Polyline](https://developers.arcgis.com/javascript/latest/references/core/geometry/Polyline/), or [Polygon](https://developers.arcgis.com/javascript/latest/references/core/geometry/Polygon/). * * @since 4.0 * @see [Graphic](https://developers.arcgis.com/javascript/latest/references/core/Graphic/) */ export default abstract class Geometry extends JSONSupport { /** * The cache is used to store values computed from geometries that need to be cleared or recomputed upon mutation. * An example is the extent of a polygon. */ get cache(): Record<string, any>; /** The extent of the geometry. For a point, the extent is null. */ get extent(): Extent | null | undefined; /** * Indicates if the geometry has M values. * * @default false */ accessor hasM: boolean; /** * Indicates if the geometry has z-values (elevation). * * > [!WARNING] * > * > **Z-values** defined in a geographic or metric coordinate system are * > expressed in meters. However, in local scenes that use a * > projected coordinate system, vertical units are assumed to be the same as the * > horizontal units specified by the service. * * @default false */ accessor hasZ: boolean; /** * The spatial reference of the geometry. * * @default SpatialReference.WGS84 // wkid: 4326 */ get spatialReference(): SpatialReference; set spatialReference(value: SpatialReferenceProperties); /** The geometry type. */ get type(): "point" | "multipoint" | "polyline" | "polygon" | "extent" | "mesh"; /** * Creates a deep clone of the geometry. * * @returns A new instance of a Geometry object equal to the object used to call `.clone()`. */ clone(): Geometry; }