require(["esri/smartMapping/symbology/predominance"], (predominanceSchemes) => { /* code goes here */ });
import * as predominanceSchemes from "@arcgis/core/smartMapping/symbology/predominance.js";
esri/smartMapping/symbology/predominance
Object containing helper methods for getting optimal symbol schemes used to create predominance visualizations. The getSchemes() returns color schemes best suited to the given basemap for this visualization style.
Method Overview
Name | Return Type | Summary | Object |
---|---|---|---|
Clones a predominance scheme object. | predominance | ||
Returns a predominance scheme with the provided name. | predominance | ||
Returns a primary scheme and secondary schemes defining symbol properties for predominance-based data-driven visualizations in a Layer. | predominance | ||
Returns an array of predominance schemes with the provided tags. | predominance | ||
Returns metadata for the available themes. | predominance |
Method Details
-
cloneScheme
cloneScheme(scheme){PredominanceScheme}
-
Clones a predominance scheme object.
Parameterscheme PredominanceSchemeThe predominance scheme object to clone.
ReturnsType Description PredominanceScheme Returns a clone of the given predominance scheme object. Example// clones the primary scheme returned from the getSchemes() method const predominanceScheme = primaryScheme.clone();
-
getSchemeByName
getSchemeByName(params){PredominanceScheme}
Since: ArcGIS Maps SDK for JavaScript 4.12predominance since 4.9, getSchemeByName added at 4.12. -
Returns a predominance scheme with the provided name.
ParametersSpecificationparams ObjectSee the table below for details of each parameter that may be passed to this function.
Specificationname StringThe name of the scheme to retrieve.
optional The basemap to pair with the visualization. This value indicates the best symbol color for visualizing features with the given basemap.
basemapTheme StringoptionalIf 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
ordark
.Possible Values:"light"|"dark"
geometryType StringThe geometry type of the features to visualize.
Possible Values:"point"|"multipoint"|"polyline"|"polygon"|"mesh"|"multipatch"
numColors NumberThe number of unique values to include in the predominance visualization.
theme StringoptionalDefault Value: defaultDetermines which set of primary and secondary color schemes to return.
The value is always "default".
worldScale BooleanoptionalIndicates if the size units of the scheme will be in meters. This should be
true
when the scheme is intended for 3D volumetric symbology. Aview
must be provided if this property is set totrue
.view SceneViewoptionalThe SceneView instance in which the scheme will be used. This property is only applicable when the scheme will be used in conjunction with 3D symbols.
ReturnsType Description PredominanceScheme Returns the predominance scheme with the given name. Example// Returns the Flower Field scheme let flowerFieldScheme = colorSchemes.getSchemeByName({ name: "Flower Field", basemap: map.basemap, geometryType: featureLayer.geometryType });
-
getSchemes
getSchemes(params){PredominanceSchemes}
-
Returns a primary scheme and secondary schemes defining symbol properties for predominance-based data-driven visualizations in a Layer. The
basemap
parameter determines the color of the symbols used to visualize each feature. ThegeometryType
determines which type of symbol to return.ParametersSpecificationparams ObjectSee the table below for details of each parameter that may be passed to this function.
Specificationoptional The Esri basemap to pair with the visualization. This value indicates the best symbol 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.basemapTheme StringoptionalIf 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
ordark
.Possible Values:"light"|"dark"
geometryType StringThe geometry type of the features to visualize.
Possible Values:"point"|"multipoint"|"polyline"|"polygon"|"mesh"|"multipatch"
numColors NumberThe number of unique values to include in the predominance visualization.
theme StringoptionalDefault Value: defaultDetermines which set of primary and secondary color schemes to return.
The value is always "default".
worldScale BooleanoptionalIndicates if the size units of the scheme will be in meters. This should be
true
when the scheme is intended for 3D volumetric symbology. Aview
must be provided if this property is set totrue
.view SceneViewoptionalThe SceneView instance in which the scheme will be used. This property is only applicable when the scheme will be used in conjunction with 3D symbols.
ReturnsType Description PredominanceSchemes Returns an object containing the optimal type scheme to use for the given basemap; it also contains secondary schemes. Example// gets the primary scheme for the features of the given geometry type and basemap const schemes = predominanceSchemes.getSchemes({ basemap: map.basemap, geometryType: featureLayer.geometryType }); // the best default scheme for the layer and basemap const primaryScheme = schemes.primaryScheme;
-
getSchemesByTag
getSchemesByTag(params){PredominanceScheme[]}
Since: ArcGIS Maps SDK for JavaScript 4.12predominance since 4.9, getSchemesByTag added at 4.12. -
Returns an array of predominance schemes with the provided tags. These schemes define symbol properties for predominance visualizations in any layer that can be rendered with a Renderer.
ParametersSpecificationparams ObjectSee the table below for details of each parameter that may be passed to this function.
Specificationoptional 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
optional 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
optional The basemap to pair with the visualization. This value indicates the best symbol color for visualizing features with the given basemap.
basemapTheme StringoptionalIf 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
ordark
.Possible Values:"light"|"dark"
geometryType StringThe geometry type of the features to visualize.
Possible Values:"point"|"multipoint"|"polyline"|"polygon"|"mesh"|"multipatch"
numColors NumberThe number of unique values to include in the predominance visualization.
theme StringoptionalDefault Value: defaultDetermines which set of primary and secondary color schemes to return.
The value is always "default".
worldScale BooleanoptionalIndicates if the size units of the scheme will be in meters. This should be
true
when the scheme is intended for 3D volumetric symbology. Aview
must be provided if this property is set totrue
.view SceneViewoptionalThe SceneView instance in which the scheme will be used. This property is only applicable when the scheme will be used in conjunction with 3D symbols.
ReturnsType Description PredominanceScheme[] Returns an array of predominance schemes either including or excluding the provided tags. Examplelet schemes = predominanceSchemes.getSchemesByTag({ includedTags: [ "types" ], basemap: map.basemap, geometryType: featureLayer.geometryType });
-
Returns metadata for the available themes. If a basemap is provided, returns themes that work best with the given basemap.
Parameteroptional The Esri basemap string or object that will be used with the returned theme(s).
Returns
Type Definitions
-
PredominanceScheme
PredominanceScheme PredominanceSchemeForPoint |PredominanceSchemeForPolyline |PredominanceSchemeForPolygon |PredominanceSchemeForMesh
-
Defines the symbology scheme used to visualize predominance based on the layer's geometry type.
-
Properties defining the symbology scheme used to visualize predominance for mesh features.
-
Properties defining the symbology scheme used to visualize predominance for point features.
- Properties
-
name String
The unique name of the scheme.
Tags associated with the scheme.
The fill colors of the point symbols used for each category.
noDataColor ColorThe color of the point symbol used to indicate features with no data.
outline ObjectProperties for defining the outline of the marker symbol.
opacity NumberThe opacity of the point symbol (0 - 1).
sizeScheme SizeSchemeForPointThe scheme defining the size visual variable if included in a predominance visualization.
-
Properties defining the symbology scheme used to visualize predominance for polygon features.
- Properties
-
name String
The unique name of the scheme.
Tags associated with the scheme.
The fill colors of the polygon symbols used for each category.
noDataColor ColorThe color of the fill symbol used to indicate features with no data.
outline ObjectProperties for defining the outline of the fill symbol.
opacity NumberThe opacity of the symbol (0 - 1).
sizeScheme SizeSchemeForPolygonThe scheme defining the size visual variable if included in a predominance visualization.
-
Properties defining the symbology scheme used to visualize predominance for polyline features.
- Properties
-
name String
The unique name of the scheme.
Tags associated with the scheme.
The colors of the line symbols used for each category.
noDataColor ColorThe color of the line symbol used to indicate features with no data and features that are out of range.
width NumberThe default width of the line symbol in pixels or points.
opacity NumberThe opacity of the line symbol (0 - 1).
sizeScheme SizeSchemeForPolylineThe scheme defining the size visual variable if included in a predominance visualization.
-
The return object of the getSchemes() method.
- Properties
-
primaryScheme PredominanceScheme
The predominance scheme best suited for the given basemap and geometry type.
secondarySchemes PredominanceScheme[]Additional predominance schemes that may be used to visualize data of the given geometry type overlaid on the given basemap.
basemapId StringThe ID of the basemap associated with the given schemes.
basemapTheme StringIndicates whether the average basemap color is
light
ordark
.