stretch

AMD: require(["esri/smartMapping/raster/renderers/stretch"], (rasterStretchCreator) => { /* code goes here */ });
ESM: import * as rasterStretchCreator from "@arcgis/core/smartMapping/raster/renderers/stretch.js";
Object: esri/smartMapping/raster/renderers/stretch
Since: ArcGIS Maps SDK for JavaScript 4.20

This object contains helper methods for generating a single-band stretch visualization for raster layers (i.e. ImageryLayer, ImageryTileLayer, or WCSLayer).

The createRenderer method in this module generates a renderer that may be applied directly to the input layer.

Method Overview

Name Return Type Summary Object

Generates a RasterStretchRenderer to render data from a single raster band.

stretch

Method Details

createRenderer

Method
createRenderer(params){Promise<RasterStretchColorrampResult>}

Generates a RasterStretchRenderer to render data from a single raster band.

Parameters
Specification
params Object

Input parameters for generating a single-band stretch visualization. See the table below for details of each parameter. The colorRamp, gamma, useGamma, dynamicRangeAdjustment parameters are not related to stretch type. Pass them in to preserve the existing renderer settings if desired.

Specification

The input layer for which the renderer is generated.

renderingRule RasterFunction
optional

Deprecated since 4.27. Use rasterFunction instead.

rasterFunction RasterFunction
optional

Specifies the function for how the requested image should be processed. When rasterFunction is applied, the server returns updated service information that reflects custom processing as defined by the raster function. If not provided, the output renderer is created using the layer's rasterFunction.

stretchType String
optional

A preferred stretch type can be provided. See RasterStretchRenderer.stretchType for more information.

Possible Values:"none"|"min-max"|"standard-deviation"|"histogram-equalization"|"percent-clip"|"sigmoid"

bandId Number
optional

The 0-based index of a selected band.

optional

The color ramp to apply to the renderer.

variableName String
optional

Only applicable to multidimensional datasets where a raster layer can contain more than one variable (such as temperature, humidity, wind speed) with different statistics. Indicate the variable name here.

gamma Number[]
optional

The gamma values to be used if useGamma is true. Gamma refers to the degree of contrast between the mid-level gray values of a raster dataset. It does not affect the black or white values in a raster dataset, only the middle values. By applying a gamma correction, you can control the overall brightness of an ImageryLayer. Gamma stretching is only valid when stretchType is none, standard-deviation, or min-max. See RasterStretchRenderer.gamma for more information.

useGamma Boolean
optional

Indicates whether the gamma values should be used. When false, the gamma is calculated from the statistics and histogram of the data.

dynamicRangeAdjustment Boolean
optional

When true, calculates the renderer's statistics based on the current display extent and recalculates them as you zoom and pan around the image.

estimateStatistics Boolean
optional

Useful in scenarios where an image service does not have statistics. When true, this function estimates global statistics to keep a constant visual on pan and zoom, unlike dynamicRangeAdjustment which recalculates statistics on each extent change.

signal AbortSignal
optional

Allows for cancelable requests. If canceled, the promise will be rejected with an error named AbortError. See also AbortController.

Returns
Type Description
Promise<RasterStretchColorrampResult> Resolves to an object containing a stretch renderer that can be set on the input renderer.

Type Definitions

RasterStretchColorrampResult

Type Definition
RasterStretchColorrampResult

The result object of the createRenderer() method. See the table below for details of each property.

Properties

The RasterStretchRenderer renderer to apply to the input layer.

bandId Number

The zero-based index of the band represented by the renderer.

Your browser is no longer supported. Please upgrade your browser for the best experience. See our browser deprecation post for more details.