DictionaryRenderer

Renders geoelements using symbols generated from a DictionarySymbolStyle. The dictionary renderer applies symbols to features or graphics according to a set of input attribute values. The symbol primitives and logic (rule engine) for applying symbols is provided by an associated DictionarySymbolStyle.

The DictionarySymbolStyle depends on attribute names to define the symbology of each feature. The attributes reference different symbol components in the style, which are assembled to create a complex symbol. In order to display geoelements using the dictionary renderer, attributes in your data must either use the expected attribute names or be mapped to the proper style attributes.

Since

200.1.0

See also

Constructors

Link copied to clipboard
constructor(dictionarySymbolStyle: DictionarySymbolStyle, symbologyFieldOverrides: Map<String, String> = emptyMap(), textFieldOverrides: Map<String, String> = emptyMap())

Creates a new dictionary renderer object.

Properties

Link copied to clipboard

The dictionary symbol style to be applied by the renderer.

Link copied to clipboard

An arcade expression object with an expression for scaling symbols in a dictionary renderer. The com.arcgismaps.arcade.ArcadeExpression is evaluated at rendering time. If the expression is not valid or results in an invalid value, symbols will not be scaled and will display at their original size. For example, to scale symbols based on an attribute value, you can set com.arcgismaps.arcade.ArcadeExpression.expression as follows. This expression if($feature.Symbol_Set == 40, 2.5, 1) scales the symbol size 2.5 times when symbol_set is 40.

Link copied to clipboard

The map of a symbology attribute and its override used to fetch a symbol from the dictionary symbol style. A DictionarySymbolStyle uses a collection of expected attribute names to build a symbol based on input values. When initialized, fields in the input dataset are mapped to the expected attribute names using case-insensitive matching. If your data uses a different name for an expected symbol attribute, use the DictionaryRenderer.symbologyFieldOverrides to map an expected field to the correct field in your data. You can also exclude an expected field by providing an empty string for it in the overrides.

Link copied to clipboard

The map of a text attribute and its override used to fetch symbol text and placement from the dictionary symbol style. A DictionarySymbolStyle uses a collection of expected attribute names to build a symbol based on input values. When initialized, fields in the input dataset are mapped to the expected attribute names using case-insensitive matching. If your data uses a different name for an expected text attribute, use the DictionaryRenderer.textFieldOverrides to map an expected field to the correct field in your data. You can also exclude an expected field by providing an empty string for it in the overrides.

Inherited properties

Link copied to clipboard

The expression describing how attributes values are translated into a rotation to be applied to the com.arcgismaps.mapping.GeoElement. When an attribute name is specified in the rotation expression, it is enclosed in square brackets, for example: Rotation.

Link copied to clipboard

Indicates whether the rotation calculated from the Renderer.rotationExpression is interpreted as arithmetic or geographic. The options are:

Link copied to clipboard

The scene view properties for the renderer. This can be used to make changes to how a com.arcgismaps.mapping.GeoElement is displayed in a com.arcgismaps.mapping.view.SceneView.

Functions

Link copied to clipboard
open override fun clone(): DictionaryRenderer

Clones the DictionaryRenderer.

Inherited functions

Link copied to clipboard
open operator override fun equals(other: Any?): Boolean
Link copied to clipboard
fun getSymbol(feature: Feature, applyAttributeOverrides: Boolean = false): Symbol?

Returns the symbol that is used to visualize the given feature with override attributes from the renderer. If applyAttributeOverrides is set to true, this method will get the symbol from the renderer and override the symbol properties with the overrides available on the renderer. These include visual variable size, color, opacity and rotation. If the override expression or attributes contain any information not known to either the renderer or observation (such as "scale"), that override will not be applied. If the override attributes are applied successfully, a symbol with overridden properties will be returned otherwise the original symbol will be returned.

fun getSymbol(graphic: Graphic, applyAttributeOverrides: Boolean = false): Symbol?

Returns the symbol that is used to visualize the given graphic with override attributes from the renderer. If applyAttributeOverrides is set to true, this method will get the symbol from the renderer and override the symbol properties with the overrides available on the renderer. These include visual variable size, color, opacity and rotation. If the override expression or attributes contain any information not known to either the renderer or observation (such as "scale"), that override will not be applied. If the override attributes are applied successfully, a symbol with overridden properties will be returned otherwise the original symbol will be returned.

fun getSymbol(dynamicEntity: DynamicEntity, applyAttributeOverrides: Boolean = false): Symbol?

Returns the symbol that is used to visualize the given dynamic entity with override attributes from the renderer. If applyAttributeOverrides is set to true, this method will get the symbol from the renderer and override the symbol properties with the overrides available on the renderer. These include visual variable size, color, opacity and rotation. If the override expression or attributes contain any information not known to either the renderer or dynamic entity (such as "scale"), that override will not be applied. If the override attributes are applied successfully, a symbol with overridden properties will be returned else the original symbol will be returned.

fun getSymbol(dynamicEntityObservation: DynamicEntityObservation, applyAttributeOverrides: Boolean = false): Symbol?

Returns the symbol that is used to visualize the given dynamic entity observation with override attributes from the renderer. If applyAttributeOverrides is set to true, this method will get the symbol from the renderer and override the symbol properties with the overrides available on the renderer. These include visual variable size, color, opacity and rotation. If the override expression or attributes contain any information not known to either the renderer or observation (such as "scale"), that override will not be applied. If the override attributes are applied successfully, a symbol with overridden properties will be returned else the original symbol will be returned.

Link copied to clipboard
open override fun hashCode(): Int
Link copied to clipboard
open override fun toJson(): String

Convert an object to JSON string.