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