@arcgis/core
Version:
ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API
138 lines (130 loc) • 5.56 kB
TypeScript
/**
* Object containing helper methods for generating optimal colors for
* heatmap visualizations.
* The [getSchemes()](https://developers.arcgis.com/javascript/latest/references/core/smartMapping/symbology/heatmap/#getSchemes) method is used to get the heatmap color schemes best suited to
* the given basemap.
*
* @since 4.11
*/
import type Basemap from "../../Basemap.js";
import type { HeatmapScheme, HeatmapSchemes, BasemapTheme, Theme } from "./types.js";
/**
* Returns metadata for the available themes. If a basemap is provided, returns themes that work best
* with the given basemap.
*
* @param basemap - The [Esri basemap string](https://developers.arcgis.com/javascript/latest/references/core/Map/#basemap)
* or object that will be used with the returned theme(s).
* @returns Returns an object containing information about the available themes for the given basemap.
*/
export function getThemes(basemap?: Basemap | string): Theme[];
/**
* Returns a primary scheme and secondary schemes defining properties for
* heatmap visualizations in
* a point [Layer](https://developers.arcgis.com/javascript/latest/references/core/layers/Layer/). The `basemap` parameter determines the color schemes of the
* heatmap.
*
* @param params - The function parameters.
* @returns Returns an object containing the optimal heatmap scheme to use for the given
* basemap and secondary schemes that may also be used.
* @example
* // gets the primary scheme for the basemap
* let schemes = heatmapSchemes.getSchemes({
* basemap: map.basemap
* });
*
* // the best default scheme for the layer, basemap, and theme
* let primaryScheme = schemes.primaryScheme;
*/
export function getSchemes(params: GetSchemesParameters): HeatmapSchemes | null | undefined;
export interface GetSchemesParameters {
/**
* The Esri basemap to pair with the visualization. This
* value indicates the best colors for visualizing features against the given basemap. If you have a
* non-Esri basemap (e.g. a VectorTileLayer basemap with a custom style) or no basemap at all, then use the `basemapTheme` parameter
* instead of this parameter.
*/
basemap?: Basemap | string | null;
/**
* If you have a
* non-Esri basemap (e.g. a VectorTileLayer basemap with a custom style) or no basemap at all, use this parameter to indicate
* whether the background of the visualization is `light` or `dark`.
*/
basemapTheme?: BasemapTheme | null;
}
/**
* Returns a heatmap scheme with the provided name.
*
* @param params - The function parameters.
* @returns Returns the heatmap scheme
* with the given name.
* @since 4.12
* @example
* // Returns the Heatmap 4 scheme
* let heatmapScheme = heatmapSchemes.getSchemeByName({
* basemap: map.basemap,
* name: "Heatmap 4"
* });
*/
export function getSchemeByName(params: GetSchemesByNameParameters): HeatmapScheme | null | undefined;
/**
* Returns an array of heatmap schemes with the provided tags. These schemes define color stop properties for
* any layer that can be rendered with a [HeatmapRenderer](https://developers.arcgis.com/javascript/latest/references/core/renderers/HeatmapRenderer/).
*
* @param params - The function parameters.
* @returns Returns an array of heatmap schemes
* either including or excluding the provided tags.
* @since 4.12
* @example
* // Returns all the heatmap schemes that look good in grayscale
* let grayscaleSchemes = heatmapSchemes.getSchemesByTag({
* basemap: map.basemap,
* includedTags: [ "heatmap", "grayscale" ]
* });
*/
export function getSchemesByTag(params: GetSchemesByTagParameters): HeatmapScheme[];
/**
* Clones a heatmap scheme object.
*
* @param scheme - The heatmap scheme object to clone.
* @returns A clone of the given heatmap scheme object.
* @example
* // clones the primary scheme returned from the getSchemes() method
* let heatmapScheme = primaryScheme.clone();
*/
export function cloneScheme(scheme: HeatmapScheme | null | undefined): HeatmapScheme | null | undefined;
export interface GetSchemesByNameParameters {
/** The name of the scheme to retrieve. */
name: string;
/**
* The basemap to pair with the visualization. This
* value indicates the best colors for visualizing features against the given basemap.
*/
basemap?: Basemap | string | null;
/**
* If you have a
* non-Esri basemap (e.g. a VectorTileLayer basemap with a custom style) or no basemap at all, use this parameter to indicate
* whether the background of the visualization is `light` or `dark`.
*/
basemapTheme?: BasemapTheme | null;
}
export interface GetSchemesByTagParameters {
/**
* When provided, only schemes containing all the matching tags will be returned.
*
* **Known Tags:** light | dark | reds | yellows | oranges | greens | blues | purples | pinks | browns | grays |
* bright | subdued | deuteranopia | protanopia | tritanopia | grayscale | types | dot-density
*/
includedTags?: string[] | null;
/**
* When provided, only schemes missing all the provided tags will be returned.
*
* **Known Tags:** light | dark | reds | yellows | oranges | greens | blues | purples | pinks | browns | grays |
* bright | subdued | deuteranopia | protanopia | tritanopia | grayscale | types | dot-density
*/
excludedTags?: string[] | null;
/**
* The basemap to pair with the visualization. This
* value indicates the best symbol colors for visualizing features against the given basemap.
*/
basemap: Basemap | string;
}