GeoBlazor Pro
layout: pro title: FeatureReductionBinning parent: Pro Classes grand_parent: GeoBlazor Pro —
dymaptic.GeoBlazor.Pro
dymaptic.GeoBlazor.Pro.Components.Layers
FeatureReductionBinning Class
This class configures binning as a means of reducing and summarizing point features in a FeatureLayer, CSVLayer,
GeoJSONLayer, WFSLayer, or OGCFeatureLayer. This feature reduction method spatially groups points into bins in
geographic space based on predefined geohashes.
Binning only applies to layers with Point geometries in a MapView. It currently does not apply to layers with polyline and polygon geometries.
ArcGIS Maps SDK for JavaScript
public class FeatureReductionBinning : dymaptic.GeoBlazor.Pro.Components.Layers.FeatureReduction
Inheritance System.Object 🡒 Microsoft.AspNetCore.Components.ComponentBase 🡒 dymaptic.GeoBlazor.Core.Components.MapComponent 🡒 FeatureReduction 🡒 FeatureReductionBinning
Remarks
Known Limitations
- Not supported in 3D SceneView.
- Not supported in MapImageLayer.
- Only supported for layers with a point geometry type.
- Layer views with an applied FeatureEffect cannot be binned.
Constructors
FeatureReductionBinning() Constructor
Parameterless constructor for use as a Razor Component
public FeatureReductionBinning();
FeatureReductionBinning(Nullable, Nullable, Nullable, Nullable, IReadOnlyCollection, IReadOnlyCollection
Constructor for use in code
public FeatureReductionBinning(System.Nullable<int> fixedBinLevel=null, System.Nullable<bool> labelsVisible=null, System.Nullable<double> maxScale=null, System.Nullable<bool> popupEnabled=null, System.Collections.Generic.IReadOnlyCollection<dymaptic.GeoBlazor.Pro.Components.Layers.AggregateField>? fields=null, System.Collections.Generic.IReadOnlyCollection<dymaptic.GeoBlazor.Core.Components.Layers.Label>? labelingInfo=null, dymaptic.GeoBlazor.Core.Components.Popups.PopupTemplate? popupTemplate=null, dymaptic.GeoBlazor.Core.Components.Renderers.Renderer? renderer=null);
Parameters
fixedBinLevel
System.Nullable<System.Int32>
The fixed geohash level used to create bins. Currently, bin sizes do not dynamically change as the user zooms in
labelsVisible
System.Nullable<System.Boolean>
Indicates whether to display labels for the bins. If true, labels will appear as defined in the LabelingInfo property.
maxScale
System.Nullable<System.Double>
Defines the maximum view scale at which binning is enabled. If the user zooms in beyond the scale specified here, binning will be disabled and only individual features will be displayed in the view. Once the user zooms out past this scale, binning will be re-enabled. A value of 0 means binning is always enabled, and therefore binning will be visible at all view scales.
popupEnabled
System.Nullable<System.Boolean>
Indicates whether to display a popup when a user clicks or touches a bin. If false, the popup as defined in the popupTemplate will be persisted, but won’t be displayed on click/tap.
fields
System.Collections.Generic.IReadOnlyCollection<AggregateField>
An array of aggregate fields that summarize layer Fields from features contained within each bin.
labelingInfo
System.Collections.Generic.IReadOnlyCollection<dymaptic.GeoBlazor.Core.Components.Layers.Label>
Defines labels for bins as an array of dymaptic.GeoBlazor.Core.Components.Layers.Label. When set, labels independent of the layer.LabelingInfo are used to convey information about each bin. This can include the count of all features in the bin, the average, or sum of a numeric attribute.
popupTemplate
dymaptic.GeoBlazor.Core.Components.Popups.PopupTemplate
The PopupTemplate to apply to bins. When set, a popupTemplate independent of the layer.popupTemplate is used. This popup can display summary information for each bin, such as feature count or any other field defined in fields.
renderer
dymaptic.GeoBlazor.Core.Components.Renderers.Renderer
The renderer used to style the bins. Depending on the renderer type, features may be visualized with the same symbol or with varying symbols based on the values of the provided fields. Since bins are defined geometrically as polygons, only renderer and symbol types suited for polygon geometries are supported (e.g. HeatmapRenderer is not supported).
Properties
FeatureReductionBinning.Fields Property
An array of aggregate fields that summarize layer Fields from features contained within each bin.
These fields may be used by the PopupTemplate, dymaptic.GeoBlazor.Core.Components.Layers.Label, and Renderer.
public System.Collections.Generic.IReadOnlyCollection<dymaptic.GeoBlazor.Pro.Components.Layers.AggregateField> Fields { get; set; }
Property Value
System.Collections.Generic.IReadOnlyCollection<AggregateField>
FeatureReductionBinning.FixedBinLevel Property
The fixed geohash level used to create bins. Currently, bin sizes do not dynamically change as the user zooms in and out of the map. Larger numbers will create smaller bins. Levels range from 1 - 9. See fixedBinLevel to see which bin level to use depending on the approximate view scale.
Default Value: 3
public System.Nullable<int> FixedBinLevel { get; set; }
Property Value
FeatureReductionBinning.LabelingInfo Property
Defines labels for bins as an array of dymaptic.GeoBlazor.Core.Components.Layers.Label. When set, labels independent of the layer.LabelingInfo are used to convey information about each bin. This can include the count of all features in the bin, the average, or sum of a numeric attribute.
Any aggregate field defined in Fields can be referenced in the label.
Multiple Label classes with different where clauses can be used to define several labels with varying styles on the same feature. Likewise, multiple label classes may be used to label different types of bins (e.g. blue labels for bins with few features and red labels for bins with many features).
public System.Collections.Generic.IReadOnlyCollection<dymaptic.GeoBlazor.Core.Components.Layers.Label> LabelingInfo { get; set; }
Property Value
System.Collections.Generic.IReadOnlyCollection<dymaptic.GeoBlazor.Core.Components.Layers.Label>
FeatureReductionBinning.LabelsVisible Property
Indicates whether to display labels for the bins. 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>
FeatureReductionBinning.MaxScale Property
Defines the maximum view scale at which binning is enabled. If the user zooms in beyond the scale specified here, binning will be disabled and only individual features will be displayed in the view. Once the user zooms out past this scale, binning will be re-enabled. A value of 0 means binning is always enabled, and therefore binning will be visible at all view scales.
Default Value:0
public System.Nullable<double> MaxScale { get; set; }
Property Value
System.Nullable<System.Double>
FeatureReductionBinning.PopupEnabled Property
Indicates whether to display a popup when a user clicks or touches a bin. 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>
FeatureReductionBinning.PopupTemplate Property
The PopupTemplate to apply to bins. When set, a popupTemplate independent of the layer.popupTemplate is used. This popup can display summary information for each bin, such as feature count or any other field defined in fields.
The PopupTemplate may contain one or more Arcade expressions following the specification defined by the Arcade Feature Reduction Popup Profile. Expressions must return a string or a number and may access data values from the bin and its aggregated features with the
$feature
``` and
```csharp
$aggregatedFeatures
``` profile variables.
```csharp
public dymaptic.GeoBlazor.Core.Components.Popups.PopupTemplate? PopupTemplate { get; set; }
Property Value
dymaptic.GeoBlazor.Core.Components.Popups.PopupTemplate
FeatureReductionBinning.Renderer Property
The renderer used to style the bins. Depending on the renderer type, features may be visualized with the same symbol or with varying symbols based on the values of the provided fields. Since bins are defined geometrically as polygons, only renderer and symbol types suited for polygon geometries are supported (e.g. HeatmapRenderer is not supported).
Any aggregate field defined in Fields may be used by the renderer. Typically, binning visualizations use a field for aggregate count in a color visual variable to visualize the total count of points within each bin.
public dymaptic.GeoBlazor.Core.Components.Renderers.Renderer? Renderer { get; set; }
Property Value
dymaptic.GeoBlazor.Core.Components.Renderers.Renderer
FeatureReductionBinning.Type Property
The type of Feature Reduction
public override string Type { get; }