@arcgis/core
Version:
ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API
86 lines (83 loc) • 6.12 kB
TypeScript
import type Extent from "../../geometry/Extent.js";
import type Point from "../../geometry/Point.js";
import type Polygon from "../../geometry/Polygon.js";
import type MosaicRule from "../../layers/support/MosaicRule.js";
import type { ClonableMixin } from "../../core/Clonable.js";
import type { JSONSupport } from "../../core/JSONSupport.js";
import type { ExtentProperties } from "../../geometry/Extent.js";
import type { PolygonProperties } from "../../geometry/Polygon.js";
import type { MosaicRuleProperties } from "../../layers/support/MosaicRule.js";
import type { PointProperties } from "../../geometry/Point.js";
export interface ImageVolumeParametersProperties extends Partial<Pick<ImageVolumeParameters, "baseType" | "constantZ">> {
/** An array of geometries containing [extents](https://developers.arcgis.com/javascript/latest/references/core/geometry/Extent/) or [polygons](https://developers.arcgis.com/javascript/latest/references/core/geometry/Polygon/). */
geometries?: (PolygonProperties & { type: "polygon" })[] | (ExtentProperties & { type: "extent" })[];
/**
* Specifies the [mosaic rule](https://developers.arcgis.com/javascript/latest/references/core/layers/support/MosaicRule/) on how individual images should be mosaicked
* when the measure is computed. When a mosaic rule is not specified, the current settings on the [ImageryLayer.mosaicRule](https://developers.arcgis.com/javascript/latest/references/core/layers/ImageryLayer/#mosaicRule) will be used.
*/
mosaicRule?: MosaicRuleProperties | null;
/**
* Specifies the pixel size. If pixel size is not specified, `pixelSize` will default to the base resolution of the image service.
* The raster at the specified pixel size in the mosaic dataset will be used for the volume calculation.
*/
pixelSize?: PointProperties | null;
}
/**
* Surface type of the base elevation plane. The value for each base elevation plane described in the following table:
*
* Type | Description
* ------|------
* constant | A user defined value that defines the constant z-value for the base surface.
* plane | Best fitting plane.
* minimum | The lowest elevation on the perimeter of the [geometries](https://developers.arcgis.com/javascript/latest/references/core/rest/support/ImageVolumeParameters/#geometries).
* maximum | The highest elevation on the perimeter of the [geometries](https://developers.arcgis.com/javascript/latest/references/core/rest/support/ImageVolumeParameters/#geometries).
* average | The average elevation on the perimeter of the [geometries](https://developers.arcgis.com/javascript/latest/references/core/rest/support/ImageVolumeParameters/#geometries).
*
* @see [baseType](https://developers.arcgis.com/javascript/latest/references/core/rest/support/ImageVolumeParameters/#baseType)
*/
export type BaseType = "constant" | "plane" | "minimum" | "maximum" | "average";
/**
* Input parameters for the [ImageryLayer.calculateVolume()](https://developers.arcgis.com/javascript/latest/references/core/layers/ImageryLayer/#calculateVolume)
* method on [ImageryLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/ImageryLayer/).
*
* @since 4.32
* @see [ArcGIS REST API - Compute Pixel Location](https://developers.arcgis.com/rest/services-reference/enterprise/calculate-volume)
* @see [ImageryLayer.calculateVolume()](https://developers.arcgis.com/javascript/latest/references/core/layers/ImageryLayer/#calculateVolume)
* @see [ImageVolumeResult](https://developers.arcgis.com/javascript/latest/references/core/rest/support/ImageVolumeResult/)
*/
export default class ImageVolumeParameters extends ImageVolumeParametersSuperclass {
constructor(properties?: ImageVolumeParametersProperties);
/**
* Surface type of the base elevation plane.
* The value for each base elevation plane described in the following table:
*
* Type | Description
* ------|------
* constant | A user defined value that defines the constant z-value for the base surface.
* plane | Best fitting plane.
* minimum | The lowest elevation on the perimeter of the [geometries](https://developers.arcgis.com/javascript/latest/references/core/rest/support/ImageVolumeParameters/#geometries).
* maximum | The highest elevation on the perimeter of the [geometries](https://developers.arcgis.com/javascript/latest/references/core/rest/support/ImageVolumeParameters/#geometries).
* average | The average elevation on the perimeter of the [geometries](https://developers.arcgis.com/javascript/latest/references/core/rest/support/ImageVolumeParameters/#geometries).
*
* @default "plane"
*/
accessor baseType: BaseType;
/** Constant Z value. */
accessor constantZ: number | null;
/** An array of geometries containing [extents](https://developers.arcgis.com/javascript/latest/references/core/geometry/Extent/) or [polygons](https://developers.arcgis.com/javascript/latest/references/core/geometry/Polygon/). */
get geometries(): Polygon[] | Extent[];
set geometries(value: (PolygonProperties & { type: "polygon" })[] | (ExtentProperties & { type: "extent" })[]);
/**
* Specifies the [mosaic rule](https://developers.arcgis.com/javascript/latest/references/core/layers/support/MosaicRule/) on how individual images should be mosaicked
* when the measure is computed. When a mosaic rule is not specified, the current settings on the [ImageryLayer.mosaicRule](https://developers.arcgis.com/javascript/latest/references/core/layers/ImageryLayer/#mosaicRule) will be used.
*/
get mosaicRule(): MosaicRule | null | undefined;
set mosaicRule(value: MosaicRuleProperties | null | undefined);
/**
* Specifies the pixel size. If pixel size is not specified, `pixelSize` will default to the base resolution of the image service.
* The raster at the specified pixel size in the mosaic dataset will be used for the volume calculation.
*/
get pixelSize(): Point | null | undefined;
set pixelSize(value: PointProperties | null | undefined);
}
declare const ImageVolumeParametersSuperclass: typeof JSONSupport & typeof ClonableMixin