Feature Reduction Cluster

Clustering spatially groups nearby features into "clusters" or "aggregates" in screen space. This is a visualization-only feature intended solely for reducing the visual clutter of many overlapping features to a simplified view of a few aggregate features that communicate patterns of density. This is not intended to be used for analytical purposes. Clustering is not appropriate for all datasets. Therefore, it is important to consider the implications of clustering based on geometry type, data distribution, and the purpose of the visualization. Clients that implement a UX or an API for clustering should clearly document when it is appropriate and when it is not.

Referenced by: Feature Reduction

Properties

Property Details
clusterMaxSize Size of the largest cluster, in screen units (points).
clusterMinSize Size of the smallest cluster, in screen units (points).
clusterRadius Strength of clustering, in screen units (points).
disablePopup Indicates whether to disable viewing popups defined for the clusters.
drawingInfo Contains labeling and rendering information for the cluster.
fields[] An array of objects defining the aggregate fields to use in cluster popups, labels, and explicit renderers.
popupInfo Defines the popup used to describe aggregate data in the selected cluster.
showLabels Defines whether labels should be shown in the clusters.
type Type of feature reduction.
Valid value of this property cluster
visibilityInfo Defines the threshold for toggling between when a layer should be drawn using the feature reduction configuration versus the layer's drawing info.

Clustered layer defined with a popup and labels Example

{
  "type": "cluster",
  "clusterRadius": 75,
  "clusterMinSize": 18,
  "clusterMaxSize": 45,
  "popupInfo": {
    "description": "This cluster represents {cluster_count} features.",
    "fieldInfos": [
      {
        "fieldName": "cluster_count",
        "format": {
          "digitSeparator": true,
          "places": 0
        },
        "visible": false
      }
    ],
    "title": ""
  },
  "drawingInfo": {
    "labelingInfo": [
      {
        "deconflictionStrategy": "none",
        "labelExpressionInfo": {
          "expression": "Text($feature.cluster_count, '#,###')"
        },
        "labelPlacement": "esriServerPointLabelPlacementCenterCenter",
        "symbol": {
          "type": "esriTS",
          "color": [
            0,
            74,
            93,
            255
          ],
          "font": {
            "family": "Noto Sans",
            "size": 9,
            "weight": "bold"
          },
          "horizontalAlignment": "center",
          "kerning": true,
          "rotated": false,
          "text": "",
          "xoffset": 0,
          "yoffset": 0,
          "angle": 0
        }
      }
    ]
  },
  "showLabels": true,
  "disablePopup": false,
  "visibilityInfo": {
    "maxScale": 24000,
    "type": "scale"
  }
}

Your browser is no longer supported. Please upgrade your browser for the best experience. See our browser deprecation post for more details.