@arcgis/core
Version:
ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API
140 lines (138 loc) • 8.2 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 RasterFunction from "../../layers/support/RasterFunction.js";
import type TimeExtent from "../../time/TimeExtent.js";
import type { JSONSupport } from "../../core/JSONSupport.js";
import type { PolygonProperties } from "../../geometry/Polygon.js";
import type { ExtentProperties } from "../../geometry/Extent.js";
import type { MosaicRuleProperties } from "../../layers/support/MosaicRule.js";
import type { RasterFunctionProperties } from "../../layers/support/RasterFunction.js";
import type { PointProperties } from "../../geometry/Point.js";
import type { TimeExtentProperties } from "../../time/TimeExtent.js";
export interface ImageHistogramParametersProperties {
/**
* Input geometry that defines the area of interest for which the histograms and statistics will be computed.
* The geometry can be an [Extent](https://developers.arcgis.com/javascript/latest/references/core/geometry/Extent/) or a [Polygon](https://developers.arcgis.com/javascript/latest/references/core/geometry/Polygon/).
*/
geometry?: (ExtentProperties & { type: "extent" }) | (PolygonProperties & { type: "polygon" }) | null;
/**
* Specifies the [mosaic rule](https://developers.arcgis.com/javascript/latest/references/core/layers/support/MosaicRule/) on how individual images should be mosaicked
* when the histogram is computed. When a mosaic rule is not specified, the current settings on the [ImageryLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/ImageryLayer/) will be used.
*/
mosaicRule?: MosaicRuleProperties | null;
/**
* Specifies the pixel size (or the resolution). 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 histogram calculation.
*
* @example
* // set the pixel size parameter to match the current
* // resolution of the view and spatial reference
* let pixelSize = {
* x:view.resolution,
* y:view.resolution,
* spatialReference: view.spatialReference
* }
* // set the histogram parameters to request
* // data for the current view extent and resolution
* let params = new ImageHistogramParameters({
* geometry: view.extent,
* pixelSize: pixelSize
* });
*
* // request for histograms for the specified parameters
* layer.computeHistograms(params).then((results) =>{
* // results are returned and process it as needed.
* console.log("histograms", result);
* })
* .catch(function(err){
* console.log("err", err)
* });
*/
pixelSize?: PointProperties;
/**
* Specifies the [raster function](https://developers.arcgis.com/javascript/latest/references/core/layers/support/RasterFunction/) from which to compute the statistics and histogram.
* The rasterFunction defines how the image should be processed. When a rasterFunction is not specified, the current
* settings on the [ImageryLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/ImageryLayer/) will be used.
*
* @since 4.27
*/
rasterFunction?: RasterFunctionProperties | null;
/**
* The [time extent](https://developers.arcgis.com/javascript/latest/references/core/time/TimeExtent/) for which to compute the statistics and histogram.
* The time parameter is supported at ArcGIS Server 10.8 and later.
*/
timeExtent?: TimeExtentProperties | null;
}
/**
* Input parameters for the [ImageryLayer.computeHistograms()](https://developers.arcgis.com/javascript/latest/references/core/layers/ImageryLayer/#computeHistograms) or
* [ImageryLayer.computeStatisticsHistograms()](https://developers.arcgis.com/javascript/latest/references/core/layers/ImageryLayer/#computeStatisticsHistograms)
* method on [ImageryLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/ImageryLayer/), or the [ImageryTileLayer.computeStatisticsHistograms()](https://developers.arcgis.com/javascript/latest/references/core/layers/ImageryTileLayer/#computeStatisticsHistograms)
* method on [ImageryTileLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/ImageryTileLayer/).
*
* @since 4.20
* @see [ImageryLayer.computeHistograms()](https://developers.arcgis.com/javascript/latest/references/core/layers/ImageryLayer/#computeHistograms)
* @see [ImageryLayer.computeStatisticsHistograms()](https://developers.arcgis.com/javascript/latest/references/core/layers/ImageryLayer/#computeStatisticsHistograms)
* @see [ImageryTileLayer.computeStatisticsHistograms()](https://developers.arcgis.com/javascript/latest/references/core/layers/ImageryTileLayer/#computeStatisticsHistograms)
*/
export default class ImageHistogramParameters extends JSONSupport {
constructor(properties?: ImageHistogramParametersProperties);
/**
* Input geometry that defines the area of interest for which the histograms and statistics will be computed.
* The geometry can be an [Extent](https://developers.arcgis.com/javascript/latest/references/core/geometry/Extent/) or a [Polygon](https://developers.arcgis.com/javascript/latest/references/core/geometry/Polygon/).
*/
get geometry(): Extent | Polygon | null | undefined;
set geometry(value: (ExtentProperties & { type: "extent" }) | (PolygonProperties & { type: "polygon" }) | null | undefined);
/**
* Specifies the [mosaic rule](https://developers.arcgis.com/javascript/latest/references/core/layers/support/MosaicRule/) on how individual images should be mosaicked
* when the histogram is computed. When a mosaic rule is not specified, the current settings on the [ImageryLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/ImageryLayer/) will be used.
*/
get mosaicRule(): MosaicRule | null | undefined;
set mosaicRule(value: MosaicRuleProperties | null | undefined);
/**
* Specifies the pixel size (or the resolution). 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 histogram calculation.
*
* @example
* // set the pixel size parameter to match the current
* // resolution of the view and spatial reference
* let pixelSize = {
* x:view.resolution,
* y:view.resolution,
* spatialReference: view.spatialReference
* }
* // set the histogram parameters to request
* // data for the current view extent and resolution
* let params = new ImageHistogramParameters({
* geometry: view.extent,
* pixelSize: pixelSize
* });
*
* // request for histograms for the specified parameters
* layer.computeHistograms(params).then((results) =>{
* // results are returned and process it as needed.
* console.log("histograms", result);
* })
* .catch(function(err){
* console.log("err", err)
* });
*/
get pixelSize(): Point;
set pixelSize(value: PointProperties);
/**
* Specifies the [raster function](https://developers.arcgis.com/javascript/latest/references/core/layers/support/RasterFunction/) from which to compute the statistics and histogram.
* The rasterFunction defines how the image should be processed. When a rasterFunction is not specified, the current
* settings on the [ImageryLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/ImageryLayer/) will be used.
*
* @since 4.27
*/
get rasterFunction(): RasterFunction | null | undefined;
set rasterFunction(value: RasterFunctionProperties | null | undefined);
/**
* The [time extent](https://developers.arcgis.com/javascript/latest/references/core/time/TimeExtent/) for which to compute the statistics and histogram.
* The time parameter is supported at ArcGIS Server 10.8 and later.
*/
get timeExtent(): TimeExtent | null | undefined;
set timeExtent(value: TimeExtentProperties | null | undefined);
}