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

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
optional

The SceneView or MapView where the layer will be rendered. This property is required when generating a scale range for any layer that is not tiled.

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.

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