UNPKG

@arcgis/core

Version:

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

78 lines (76 loc) 3.97 kB
import type ColormapInfo from "./support/ColormapInfo.js"; import type { JSONSupport } from "../core/JSONSupport.js"; import type { ColormapInfoProperties } from "./support/ColormapInfo.js"; export interface RasterColormapRendererProperties { /** * A colormap info array containing mappings for pixel and RGB color values. * Colormaps contain a set of values that are associated with colors and pixel values, and are used to display a single-band raster * consistently with the same colors. */ colormapInfos?: ColormapInfoProperties[]; } /** * The RasterColormapRenderer defines the symbology to display raster data based on specific colors, * aiding in visual analysis of the data. For example, a forestry commission may want to quickly visualize areas * above and below the treeline occurring at a known elevation on a raster containing elevation values. * They could overlay a transparent colormap set to color those areas below the treeline elevation green, and those above white. * * The RasterColormapRenderer is only available if a [color map](https://developers.arcgis.com/rest/services-reference/colormap.htm) * is present in an [ImageryLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/ImageryLayer/) or [ImageryTileLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/ImageryTileLayer/). * Otherwise, you can use the [UniqueValueRenderer](https://developers.arcgis.com/javascript/latest/references/core/renderers/UniqueValueRenderer/) to apply colors to your layer. * * @since 4.16 */ export default class RasterColormapRenderer extends JSONSupport { /** * Creates a new instance [RasterColormapRenderer](https://developers.arcgis.com/javascript/latest/references/core/renderers/RasterColormapRenderer/) from an array of color maps * where pixel values with its corresponding RGB color values specified. * * @param colormap - RGB color representation of pixel values. Each item in the colormap array has an array of the pixel value and red, green, and blue values. * @returns Returns a new instance [RasterColormapRenderer](https://developers.arcgis.com/javascript/latest/references/core/renderers/RasterColormapRenderer/) based on provided colormap. * @example * // create a color map where values 0-199 are pink and 200-250 are light blue. * let colors = []; * for (let i = 0; i <= 250; i++) { * if (i < 200) { * colors.push([i, 250, 0, 128]); * } else { * colors.push([i, 0, 128, 250]); * } * } * * // create a RasterColormapRenderer from the colors array * const renderer = RasterColormapRenderer.createFromColormap(colors); */ static createFromColormap(colormap: number[][] | null | undefined): RasterColormapRenderer | null; /** * @example * // create a new RasterColormapRenderer from provided the colormap array * const renderer = RasterColormapRenderer.createFromColormap(colors); * @example * // create a new RasterColormapRenderer * const renderer = new RasterColormapRenderer({ * colormapInfos: colormapInfos * }); */ constructor(properties?: RasterColormapRendererProperties); /** * A colormap info array containing mappings for pixel and RGB color values. * Colormaps contain a set of values that are associated with colors and pixel values, and are used to display a single-band raster * consistently with the same colors. */ get colormapInfos(): ColormapInfo[]; set colormapInfos(value: ColormapInfoProperties[]); /** The type of Renderer. */ get type(): "raster-colormap"; /** * Creates a deep clone of the renderer. * * @returns A deep clone of the object that * invoked this method. * @example * // Creates a deep clone of the first layer's renderer * let renderer = view.map.layers.at(0).renderer.clone(); */ clone(): RasterColormapRenderer; }