scaleRange

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

Function for determining suggested min and max scale ranges for an input layer.

Known Limitations

  • Input SceneLayers must meet the following conditions:
    • SceneLayers without the supportsRenderer and supportsLayerQuery capabilities enabled, unless a predefined statistics object is passed to the statistics parameter of the method in conjunction with the layer. To check a SceneLayer's capabilities, use the getFieldInfoUsage() method.

Method Overview

Name Return Type Summary Function
Promise<ScaleRangeResult>

Generates a suggested scale range (i.e.

scaleRange

Method Details

scaleRange

Method
scaleRange(params){Promise<ScaleRangeResult>}

Generates a suggested scale range (i.e. minScale and maxScale) to apply to the input layer. These values suggest the best scale range for viewing the input layer.

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 scale range.

view View

The SceneView or MapView where the layer will be rendered.

sampleSize Number
optional
Default Value: 500

The number of features in the layer to sample for spatial statistics. A higher sample size will yield more precise results. However, higher sample sizes also require more time for the function to process the result.

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<ScaleRangeResult> Resolves to an object containing the suggested min and max scale for the layer.
Example
scaleRange({
  layer: featureLayer,
  view: view
}).then(function(response){
  // apply the suggested scale range to the input layer
  featureLayer.minScale = response.minScale;
  featureLayer.maxScale = response.maxScale;

  view.map.add(featureLayer);
});

Type Definitions

ScaleRangeResult

Type Definition
ScaleRangeResult

Suggested min and max scales to apply to the input layer for the scaleRange() function.

Properties
minScale Number

The suggested minScale to apply to the input layer.

maxScale Number

The suggested maxScale to apply to the input layer.

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