sizeRange

AMD: require(["esri/smartMapping/heuristics/sizeRange"], (sizeRange) => { /* code goes here */ });
ESM: import sizeRange from "@arcgis/core/smartMapping/heuristics/sizeRange.js";
Function: esri/smartMapping/heuristics/sizeRange
Since: ArcGIS Maps SDK for JavaScript 4.12

Function for determining the suggested minSize and maxSize of a scale-dependent size visual variable.

Known Limitations

  • This function is not intended for use in 3D SceneViews.

Method Overview

Name Return Type Summary Function

Generates a suggested size range (i.e.

sizeRange

Method Details

sizeRange

Method
sizeRange(params){Promise<SizeRangeResult>}

Generates a suggested size range (i.e. the minSize and maxSize) of a scale-dependent size visual variable).

Known Limitations

  • This function is not intended for use in 3D SceneViews.
Parameters
Specification
params Object

See the table below for details about parameters that may be passed to this function.

Specification

The layer for which to generate a suggested min/max size range based on scale for a size visual variable.

view MapView

The MapView where the layer will be rendered.

filter FeatureFilter
optional

Since 4.31 When defined, only features included in the filter are considered in the attribute and spatial statistics calculations when determining the final renderer. This is useful when a lot of variation exists in the data that could result in undesired data ranges. A common use case would be to set a filter that only includes features in the current extent of the view where the data is most likely to be viewed. Currently, only geometry filters with an intersects spatial relationship are supported. All other filter types (including where) are ignored.

forBinning Boolean
optional

Indicates whether the generated renderer is for a binning visualization.

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<SizeRangeResult> Resolves to an object containing the suggested minSize and maxSize by scale for the layer's renderer.
Example
sizeRange({
  layer: featureLayer,
  view: view
}).then(function(response){

  // update the minSize and maxSize of a size visual variable
  // on a layer's renderer to be scale-dependent
  const renderer = featureLayer.renderer.clone();
  const sizeVariable = renderer.visualVariables.filter( vv => vv.type === "size")[0].clone();
  sizeVariable.minSize = response.minSize;
  sizeVariable.maxSize = response.maxSize;

  renderer.visualVariables = [ sizeVariable ];
  featureLayer.renderer = renderer;
});

Type Definitions

SizeRangeResult

Type Definition
SizeRangeResult

The suggested minSize and maxSize size stops generated from the sizeRange() function to apply to the scale-dependent size visual variable.

Properties

The suggested sizes of the smallest symbols at various scales in a layer with a size visualization.

The suggested sizes of the largest symbols at various scales in a layer with a size visualization.

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