dymaptic.GeoBlazor.Pro

dymaptic.GeoBlazor.Pro.Components

FeatureReductionCluster Class

Aggregates and summarizes dense features in a layer to clusters defined in screen space. ArcGIS Maps SDK for JavaScript

public class FeatureReductionCluster : dymaptic.GeoBlazor.Pro.Components.Layers.FeatureReduction

Inheritance System.Object 🡒 Microsoft.AspNetCore.Components.ComponentBase 🡒 MapComponent 🡒 FeatureReduction 🡒 FeatureReductionCluster

Constructors

FeatureReductionCluster() Constructor

Parameterless constructor for use as a Razor Component.

public FeatureReductionCluster();

FeatureReductionCluster(Dimension, Dimension, Dimension, Nullable, Nullable, Nullable, IReadOnlyCollection, IReadOnlyCollection

Constructor for use in code

public FeatureReductionCluster(dymaptic.GeoBlazor.Core.Model.Dimension? clusterMaxSize=null, dymaptic.GeoBlazor.Core.Model.Dimension? clusterMinSize=null, dymaptic.GeoBlazor.Core.Model.Dimension? clusterRadius=null, System.Nullable<bool> labelsVisible=null, System.Nullable<double> maxScale=null, System.Nullable<bool> popupEnabled=null, System.Collections.Generic.IReadOnlyCollection<dymaptic.GeoBlazor.Core.Components.AggregateField>? fields=null, System.Collections.Generic.IReadOnlyCollection<dymaptic.GeoBlazor.Core.Components.Label>? labelingInfo=null, dymaptic.GeoBlazor.Core.Components.Popups.PopupTemplate? popupTemplate=null, dymaptic.GeoBlazor.Core.Components.Renderers.Renderer? renderer=null, dymaptic.GeoBlazor.Core.Components.Symbols.Symbol? symbol=null);

Parameters

clusterMaxSize Dimension

Defines the symbol size of the largest cluster in points (or pixels if specified). default 37.5 ArcGIS Maps SDK for JavaScript

clusterMinSize Dimension

Defines the symbol size of the smallest cluster in points (or pixels if specified). default 9 ArcGIS Maps SDK for JavaScript

clusterRadius Dimension

Defines the radius in points (or pixels if specified) of the area in which multiple features will be grouped and visualized as a single cluster. default 60 ArcGIS Maps SDK for JavaScript

labelsVisible System.Nullable<System.Boolean>

Indicates whether to display labels for the clusters. default true ArcGIS Maps SDK for JavaScript

maxScale System.Nullable<System.Double>

Defines the maximum view scale at which clustering is enabled. default 0 ArcGIS Maps SDK for JavaScript

popupEnabled System.Nullable<System.Boolean>

Indicates whether to display the cluster popup. default true ArcGIS Maps SDK for JavaScript

fields System.Collections.Generic.IReadOnlyCollection<AggregateField>

An array of aggregate fields that summarize layer fields from features contained within each cluster. ArcGIS Maps SDK for JavaScript

labelingInfo System.Collections.Generic.IReadOnlyCollection<Label>

Defines labels for clusters as an array of LabelClass. ArcGIS Maps SDK for JavaScript

popupTemplate PopupTemplate

The PopupTemplate to apply to clustered graphics. ArcGIS Maps SDK for JavaScript

renderer Renderer

The renderer used to override the default style of the clusters. ArcGIS Maps SDK for JavaScript

symbol Symbol

A symbol used to override the default cluster style. ArcGIS Maps SDK for JavaScript

Properties

FeatureReductionCluster.ClusterMaxSize Property

Defines the symbol size of the largest cluster in points (or pixels if specified). Adjusting clusterMaxSize generally should be considered if the clusterRadius is modified. For example, if you prefer cluster icons to not overlap, then the clusterMaxSize should be substantially smaller than the clusterRadius. If a custom renderer is defined for cluster, and that renderer contains a esri/renderers/visualVaribles/SizeVariable, then this property is ignored and cluster sizes are determined using the renderer's size variable. Default Value:37.5

public dymaptic.GeoBlazor.Core.Model.Dimension? ClusterMaxSize { get; set; }

Property Value

Dimension

FeatureReductionCluster.ClusterMinSize Property

Defines the symbol size of the smallest cluster in points (or pixels if specified). If labeling clusters with a count or some other information in the center of the cluster, then having a clusterMinSize larger than the default is generally preferred. Keep in mind that this size may be smaller than the symbol size of individual non-clustered features in the layer. In that scenario, you should either reduce the size of the symbol(s) in the layer's renderer or increase the clusterMinSize to be larger than the size of individual points to avoid confusion for the end user. This is most likely to happen when cluster size represents feature count. If a custom renderer is defined for cluster, and that renderer contains a esri/renderers/visualVaribles/SizeVariable, then this property is ignored and cluster sizes are determined using the renderer's size variable. Default Value:9

public dymaptic.GeoBlazor.Core.Model.Dimension? ClusterMinSize { get; set; }

Property Value

Dimension

FeatureReductionCluster.ClusterRadius Property

Defines the radius in points (or pixels if specified) of the area in which multiple points will be grouped and visualized as a single cluster. Adjusting clusterRadius generally should be considered if the clusterMaxSize is modified. For example, if you prefer cluster graphics to not overlap, then the clusterRadius should be substantially larger than the clusterMaxSize. Default Value:60

public dymaptic.GeoBlazor.Core.Model.Dimension? ClusterRadius { get; set; }

Property Value

Dimension

FeatureReductionCluster.Fields Property

An array of aggregate fields that summarize layer fields from features contained within each cluster. ArcGIS Maps SDK for JavaScript

public System.Collections.Generic.IReadOnlyCollection<dymaptic.GeoBlazor.Core.Components.AggregateField>? Fields { get; set; }

Property Value

System.Collections.Generic.IReadOnlyCollection<AggregateField>

FeatureReductionCluster.LabelingInfo Property

Defines labels for clusters as an array of LabelClass. ArcGIS Maps SDK for JavaScript

public System.Collections.Generic.IReadOnlyCollection<dymaptic.GeoBlazor.Core.Components.Label>? LabelingInfo { get; set; }

Property Value

System.Collections.Generic.IReadOnlyCollection<Label>

FeatureReductionCluster.LabelsVisible Property

Indicates whether to display labels for the clusters. If true, labels will appear as defined in the labelingInfo property. Default Value:true

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

Property Value

System.Nullable<System.Boolean>

FeatureReductionCluster.MaxScale Property

Defines the maximum view scale at which clustering is enabled. If the user zooms in beyond the scale specified here, clustering will be disabled and only individual features will be displayed in the view. Once the user zooms out past this scale, clustering will be re-enabled. A value of 0 means clustering is always enabled, and therefore clusters may be visible at any view scale. Default Value:0

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

Property Value

System.Nullable<System.Double>

FeatureReductionCluster.PopupEnabled Property

Indicates whether to display the cluster popup. If true, popups will open when the user clicks or taps a cluster. If false, the popup as defined in the popupTemplate will be persisted, but won't be displayed on click/tap. Default Value:true

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

Property Value

System.Nullable<System.Boolean>

FeatureReductionCluster.PopupTemplate Property

The PopupTemplate to apply to clustered graphics. ArcGIS Maps SDK for JavaScript

public dymaptic.GeoBlazor.Core.Components.Popups.PopupTemplate? PopupTemplate { get; set; }

Property Value

PopupTemplate

FeatureReductionCluster.Renderer Property

The renderer used to override the default style of the clusters. ArcGIS Maps SDK for JavaScript

public dymaptic.GeoBlazor.Core.Components.Renderers.Renderer? Renderer { get; set; }

Property Value

Renderer

FeatureReductionCluster.Symbol Property

A symbol used to override the default cluster style. ArcGIS Maps SDK for JavaScript

public dymaptic.GeoBlazor.Core.Components.Symbols.Symbol? Symbol { get; set; }

Property Value

Symbol

FeatureReductionCluster.Type Property

The type of Feature Reduction

public override string Type { get; }

Property Value

System.String

Methods

FeatureReductionCluster.AddToFields(AggregateField[]) Method

Asynchronously adds elements to the Fields property.

public System.Threading.Tasks.Task AddToFields(params dymaptic.GeoBlazor.Core.Components.AggregateField[] values);

Parameters

values AggregateField[]

The elements to add.

Returns

System.Threading.Tasks.Task

FeatureReductionCluster.AddToLabelingInfo(Label[]) Method

Asynchronously adds elements to the LabelingInfo property.

public System.Threading.Tasks.Task AddToLabelingInfo(params dymaptic.GeoBlazor.Core.Components.Label[] values);

Parameters

values Label[]

The elements to add.

Returns

System.Threading.Tasks.Task

FeatureReductionCluster.GetClusterMaxSize() Method

Asynchronously retrieve the current value of the ClusterMaxSize property.

public System.Threading.Tasks.Task<dymaptic.GeoBlazor.Core.Model.Dimension?> GetClusterMaxSize();

Returns

System.Threading.Tasks.Task<Dimension>

FeatureReductionCluster.GetClusterMinSize() Method

Asynchronously retrieve the current value of the ClusterMinSize property.

public System.Threading.Tasks.Task<dymaptic.GeoBlazor.Core.Model.Dimension?> GetClusterMinSize();

Returns

System.Threading.Tasks.Task<Dimension>

FeatureReductionCluster.GetClusterRadius() Method

Asynchronously retrieve the current value of the ClusterRadius property.

public System.Threading.Tasks.Task<dymaptic.GeoBlazor.Core.Model.Dimension?> GetClusterRadius();

Returns

System.Threading.Tasks.Task<Dimension>

FeatureReductionCluster.GetFields() Method

Asynchronously retrieve the current value of the Fields property.

public System.Threading.Tasks.Task<System.Collections.Generic.IReadOnlyCollection<dymaptic.GeoBlazor.Core.Components.AggregateField>?> GetFields();

Returns

System.Threading.Tasks.Task<System.Collections.Generic.IReadOnlyCollection<AggregateField>>

FeatureReductionCluster.GetLabelingInfo() Method

Asynchronously retrieve the current value of the LabelingInfo property.

public System.Threading.Tasks.Task<System.Collections.Generic.IReadOnlyCollection<dymaptic.GeoBlazor.Core.Components.Label>?> GetLabelingInfo();

Returns

System.Threading.Tasks.Task<System.Collections.Generic.IReadOnlyCollection<Label>>

FeatureReductionCluster.GetLabelsVisible() Method

Asynchronously retrieve the current value of the LabelsVisible property.

public System.Threading.Tasks.Task<System.Nullable<bool>> GetLabelsVisible();

Returns

System.Threading.Tasks.Task<System.Nullable<System.Boolean>>

FeatureReductionCluster.GetMaxScale() Method

Asynchronously retrieve the current value of the MaxScale property.

public System.Threading.Tasks.Task<System.Nullable<double>> GetMaxScale();

Returns

System.Threading.Tasks.Task<System.Nullable<System.Double>>

FeatureReductionCluster.GetPopupEnabled() Method

Asynchronously retrieve the current value of the PopupEnabled property.

public System.Threading.Tasks.Task<System.Nullable<bool>> GetPopupEnabled();

Returns

System.Threading.Tasks.Task<System.Nullable<System.Boolean>>

FeatureReductionCluster.GetPopupTemplate() Method

Asynchronously retrieve the current value of the PopupTemplate property.

public System.Threading.Tasks.Task<dymaptic.GeoBlazor.Core.Components.Popups.PopupTemplate?> GetPopupTemplate();

Returns

System.Threading.Tasks.Task<PopupTemplate>

FeatureReductionCluster.GetRenderer() Method

Asynchronously retrieve the current value of the Renderer property.

public System.Threading.Tasks.Task<dymaptic.GeoBlazor.Core.Components.Renderers.Renderer?> GetRenderer();

Returns

System.Threading.Tasks.Task<Renderer>

FeatureReductionCluster.GetSymbol() Method

Asynchronously retrieve the current value of the Symbol property.

public System.Threading.Tasks.Task<dymaptic.GeoBlazor.Core.Components.Symbols.Symbol?> GetSymbol();

Returns

System.Threading.Tasks.Task<Symbol>

FeatureReductionCluster.RegisterChildComponent(MapComponent) Method

Called from dymaptic.GeoBlazor.Core.Components.MapComponent.OnInitializedAsync to "Register" the current component with its 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.

FeatureReductionCluster.RemoveFromFields(AggregateField[]) Method

Asynchronously remove an element from the Fields property.

public System.Threading.Tasks.Task RemoveFromFields(params dymaptic.GeoBlazor.Core.Components.AggregateField[] values);

Parameters

values AggregateField[]

The elements to remove.

Returns

System.Threading.Tasks.Task

FeatureReductionCluster.RemoveFromLabelingInfo(Label[]) Method

Asynchronously remove an element from the LabelingInfo property.

public System.Threading.Tasks.Task RemoveFromLabelingInfo(params dymaptic.GeoBlazor.Core.Components.Label[] values);

Parameters

values Label[]

The elements to remove.

Returns

System.Threading.Tasks.Task

FeatureReductionCluster.SetClusterMaxSize(Dimension) Method

Asynchronously set the value of the ClusterMaxSize property after render.

public System.Threading.Tasks.Task SetClusterMaxSize(dymaptic.GeoBlazor.Core.Model.Dimension? value);

Parameters

value Dimension

The value to set.

Returns

System.Threading.Tasks.Task

FeatureReductionCluster.SetClusterMinSize(Dimension) Method

Asynchronously set the value of the ClusterMinSize property after render.

public System.Threading.Tasks.Task SetClusterMinSize(dymaptic.GeoBlazor.Core.Model.Dimension? value);

Parameters

value Dimension

The value to set.

Returns

System.Threading.Tasks.Task

FeatureReductionCluster.SetClusterRadius(Dimension) Method

Asynchronously set the value of the ClusterRadius property after render.

public System.Threading.Tasks.Task SetClusterRadius(dymaptic.GeoBlazor.Core.Model.Dimension? value);

Parameters

value Dimension

The value to set.

Returns

System.Threading.Tasks.Task

FeatureReductionCluster.SetFields(IReadOnlyCollection) Method

Asynchronously set the value of the Fields property after render.

public System.Threading.Tasks.Task SetFields(System.Collections.Generic.IReadOnlyCollection<dymaptic.GeoBlazor.Core.Components.AggregateField> value);

Parameters

value System.Collections.Generic.IReadOnlyCollection<AggregateField>

The value to set.

Returns

System.Threading.Tasks.Task

FeatureReductionCluster.SetLabelingInfo(IReadOnlyCollection

Asynchronously set the value of the LabelingInfo property after render.

public System.Threading.Tasks.Task SetLabelingInfo(System.Collections.Generic.IReadOnlyCollection<dymaptic.GeoBlazor.Core.Components.Label> value);

Parameters

value System.Collections.Generic.IReadOnlyCollection<Label>

The value to set.

Returns

System.Threading.Tasks.Task

FeatureReductionCluster.SetLabelsVisible(Nullable) Method

Asynchronously set the value of the LabelsVisible property after render.

public System.Threading.Tasks.Task SetLabelsVisible(System.Nullable<bool> value);

Parameters

value System.Nullable<System.Boolean>

The value to set.

Returns

System.Threading.Tasks.Task

FeatureReductionCluster.SetMaxScale(Nullable) Method

Asynchronously set the value of the MaxScale property after render.

public System.Threading.Tasks.Task SetMaxScale(System.Nullable<double> value);

Parameters

value System.Nullable<System.Double>

The value to set.

Returns

System.Threading.Tasks.Task

FeatureReductionCluster.SetPopupEnabled(Nullable) Method

Asynchronously set the value of the PopupEnabled property after render.

public System.Threading.Tasks.Task SetPopupEnabled(System.Nullable<bool> value);

Parameters

value System.Nullable<System.Boolean>

The value to set.

Returns

System.Threading.Tasks.Task

FeatureReductionCluster.SetPopupTemplate(PopupTemplate) Method

Asynchronously set the value of the PopupTemplate property after render.

public System.Threading.Tasks.Task SetPopupTemplate(dymaptic.GeoBlazor.Core.Components.Popups.PopupTemplate? value);

Parameters

value PopupTemplate

The value to set.

Returns

System.Threading.Tasks.Task

FeatureReductionCluster.SetRenderer(Renderer) Method

Asynchronously set the value of the Renderer property after render.

public System.Threading.Tasks.Task SetRenderer(dymaptic.GeoBlazor.Core.Components.Renderers.Renderer? value);

Parameters

value Renderer

The value to set.

Returns

System.Threading.Tasks.Task

FeatureReductionCluster.SetSymbol(Symbol) Method

Asynchronously set the value of the Symbol property after render.

public System.Threading.Tasks.Task SetSymbol(dymaptic.GeoBlazor.Core.Components.Symbols.Symbol? value);

Parameters

value Symbol

The value to set.

Returns

System.Threading.Tasks.Task

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

FeatureReductionCluster.ValidateRequiredGeneratedChildren() Method

Validates source-generated child components.

public override void ValidateRequiredGeneratedChildren();

Implements ValidateRequiredGeneratedChildren()