layout: default title: SizeVariable parent: Core Classes —

dymaptic.GeoBlazor.Core

dymaptic.GeoBlazor.Core.Components.Layers

SizeVariable Class

The size visual variable defines the size of individual features in a layer based on a numeric (often thematic)
value.
ArcGIS Maps SDK for JavaScript

public class SizeVariable : dymaptic.GeoBlazor.Core.Components.Layers.VisualVariable

Inheritance System.Object 🡒 Microsoft.AspNetCore.Components.ComponentBase 🡒 MapComponent 🡒 VisualVariable 🡒 SizeVariable

Constructors

SizeVariable() Constructor

Parameterless constructor for use as a razor component

public SizeVariable();

SizeVariable(string, Dimension, Dimension, Nullable, Nullable, Nullable, Nullable, string, string, Nullable, Nullable, string, string, LegendOptions) Constructor

Constructs a new SizeVariable in code with parameters

public SizeVariable(string field, dymaptic.GeoBlazor.Core.Objects.Dimension? minSize=null, dymaptic.GeoBlazor.Core.Objects.Dimension? maxSize=null, System.Nullable<double> minDataValue=null, System.Nullable<double> maxDataValue=null, System.Nullable<dymaptic.GeoBlazor.Core.Components.Layers.VisualValueRepresentation> valueRepresentation=null, System.Nullable<dymaptic.GeoBlazor.Core.Components.Layers.VisualValueUnit> valueUnit=null, string? normalizationField=null, string? target=null, System.Nullable<bool> useSymbolValue=null, System.Nullable<dymaptic.GeoBlazor.Core.Components.Layers.VisualAxis> axis=null, string? valueExpression=null, string? valueExpressionTitle=null, dymaptic.GeoBlazor.Core.Components.Layers.LegendOptions? legendOptions=null);

Parameters

field System.String

The name of the numeric attribute field that contains the data values used to determine the size of each feature.

minSize Dimension

The size used to render a feature containing the minimum data value.

maxSize Dimension

The size used to render a feature containing the maximum data value.

minDataValue System.Nullable<System.Double>

The minimum data value used in the size ramp.

maxDataValue System.Nullable<System.Double>

The maximum data value used in the size ramp.

valueRepresentation System.Nullable<VisualValueRepresentation>

Specifies how to apply the data value when mapping real-world sizes.

valueUnit System.Nullable<VisualValueUnit>

Indicates the unit of measurement used to interpret the value returned by field or valueExpression. For 3D volumetric symbols the default is meters. This property should not be used if the data value represents a thematic quantity (e.g. traffic count, census data, etc.).

normalizationField System.String

The name of the numeric attribute field used to normalize the data in the given field. If this field is used, then the values in maxDataValue and minDataValue or stops should be normalized as percentages or ratios.

target System.String

This value must be outline when scaling polygon outline widths based on the view scale. If scale-dependent icons are desired, then this property should be ignored.

useSymbolValue System.Nullable<System.Boolean>

When setting a size visual variable on a renderer using an ObjectSymbol3DLayer, this property indicates whether to apply the value defined by the height, width, or depth properties to the corresponding axis of this visual variable instead of proportionally scaling this axis’ value.

axis System.Nullable<VisualAxis>

Only applicable when working in a SceneView. Defines the axis the size visual variable should be applied to when rendering features with an ObjectSymbol3DLayer. See the local scene sample for an example of this.

valueExpression System.String

An Arcade expression following the specification defined by the Arcade Visualization Profile. Expressions in visual variables may reference field values using the $feature profile variable and must return a number.

valueExpressionTitle System.String

The title identifying and describing the associated Arcade expression as defined in the valueExpression property. This is displayed as the title of the corresponding visual variable in the Legend in the absence of a provided title in the legendOptions property.

legendOptions LegendOptions

An object providing options for displaying the visual variable in the Legend.

Properties

SizeVariable.Axis Property

Only applicable when working in a SceneView. Defines the axis the size visual variable should be applied to when rendering features with an ObjectSymbol3DLayer. See the local scene sample for an example of this.

public System.Nullable<dymaptic.GeoBlazor.Core.Components.Layers.VisualAxis> Axis { get; set; }

Property Value

System.Nullable<VisualAxis>

SizeVariable.MaxDataValue Property

The maximum data value used in the size ramp.

public System.Nullable<double> MaxDataValue { get; set; }

Property Value

System.Nullable<System.Double>

SizeVariable.MaxSize Property

The size used to render a feature containing the maximum data value.
When setting a number, sizes are expressed in points for all 2D symbols and 3D flat symbol layers; size is expressed in meters for all 3D volumetric symbols.
String values are only supported for 2D symbols and 3D flat symbol layers. Strings may specify size in either points or pixels (e.g. minSize: “16pt”, minSize: “12px”).

public dymaptic.GeoBlazor.Core.Objects.Dimension? MaxSize { get; set; }

Property Value

Dimension

SizeVariable.MinDataValue Property

The minimum data value used in the size ramp.

public System.Nullable<double> MinDataValue { get; set; }

Property Value

System.Nullable<System.Double>

SizeVariable.MinSize Property

The size used to render a feature containing the minimum data value.
When setting a number, sizes are expressed in points for all 2D symbols and 3D flat symbol layers; size is expressed in meters for all 3D volumetric symbols.
String values are only supported for 2D symbols and 3D flat symbol layers. Strings may specify size in either points or pixels (e.g. minSize: “16pt”, minSize: “12px”).

public dymaptic.GeoBlazor.Core.Objects.Dimension? MinSize { get; set; }

Property Value

Dimension

SizeVariable.NormalizationField Property

The name of the numeric attribute field used to normalize the data in the given field. If this field is used, then the values in maxDataValue and minDataValue or stops should be normalized as percentages or ratios.

public string? NormalizationField { get; set; }

Property Value

System.String

SizeVariable.Stops Property

An array of objects that defines the mapping of data values returned from field or valueExpression to icon sizes. You must specify 2 - 6 stops. The stops must be listed in ascending order based on the value of the value property in each stop.

public System.Collections.Generic.IReadOnlyList<dymaptic.GeoBlazor.Core.Components.Layers.SizeStop>? Stops { get; set; }

Property Value

System.Collections.Generic.IReadOnlyList<SizeStop>

SizeVariable.Target Property

This value must be outline when scaling polygon outline widths based on the view scale. If scale-dependent icons are desired, then this property should be ignored.

public string? Target { get; set; }

Property Value

System.String

SizeVariable.UseSymbolValue Property

When setting a size visual variable on a renderer using an ObjectSymbol3DLayer, this property indicates whether to apply the value defined by the height, width, or depth properties to the corresponding axis of this visual variable instead of proportionally scaling this axis’ value.

public System.Nullable<bool> UseSymbolValue { get; set; }

Property Value

System.Nullable<System.Boolean>

SizeVariable.ValueRepresentation Property

Specifies how to apply the data value when mapping real-world sizes.

public System.Nullable<dymaptic.GeoBlazor.Core.Components.Layers.VisualValueRepresentation> ValueRepresentation { get; set; }

Property Value

System.Nullable<VisualValueRepresentation>

SizeVariable.ValueUnit Property

Indicates the unit of measurement used to interpret the value returned by field or valueExpression. For 3D volumetric symbols the default is meters. This property should not be used if the data value represents a thematic quantity (e.g. traffic count, census data, etc.).

public System.Nullable<dymaptic.GeoBlazor.Core.Components.Layers.VisualValueUnit> ValueUnit { get; set; }

Property Value

System.Nullable<VisualValueUnit>

SizeVariable.VariableType Property

The visual variable type.

public override dymaptic.GeoBlazor.Core.Components.Layers.VisualVariableType VariableType { get; }

Property Value

VisualVariableType

Methods

SizeVariable.RegisterChildComponent(MapComponent) Method

Called from dymaptic.GeoBlazor.Core.Components.MapComponent.OnInitializedAsync to “Register” the current component with it’s parent.

public override System.Threading.Tasks.Task RegisterChildComponent(dymaptic.GeoBlazor.Core.Components.MapComponent child);

Parameters

child MapComponent

The calling, child component to register

Returns

System.Threading.Tasks.Task

Exceptions

InvalidChildElementException
Throws if the current child is not a valid sub-component to the parent.

Remarks

This method is an implementation detail and should not be called directly by consumers. In future versions, this may be changed to an internal method. If you see no other way to register a child component, please open an issue on GitHub.

SizeVariable.UnregisterChildComponent(MapComponent) Method

Undoes the “Registration” of a child with its parent.

public override System.Threading.Tasks.Task UnregisterChildComponent(dymaptic.GeoBlazor.Core.Components.MapComponent child);

Parameters

child MapComponent

The child to unregister

Returns

System.Threading.Tasks.Task

Remarks

This method is an implementation detail and should not be called directly by consumers. In future versions, this may be changed to an internal method.