Best practices for visualizing high-density data

Layers with large numbers of features are often difficult to visualize well. These high-density layers typically have features that are close together or overlapping, which makes it difficult or impossible to distinguish between them or see spatial patterns. Although advancing technology allows the display of increasing numbers of features, being able to draw all features does not necessarily mean that you should. The opposite is often true: additional features can result in a more confusing map. Effectively visualizing high-density data is different from displaying all features.

Feature density is relative to the map scale. For example, a set of points may be dense at a small scale (zoomed out) but appear dispersed at a large scale (zoomed in). When determining the best way to represent dense data, you must first understand the scale levels at which users will typically view it. For example, when viewing traffic collisions centered on the busiest intersection in a city, you may see multiple points grouped around the intersection. However, as you zoom out to a smaller scale, all the points merge visually, hiding the grouping you intended to show. Seeing all accidents in the country as a lot of dots on the map shows collisions do occur, but offers no insight into how, why, or where they happen.

Map Viewer offers a variety of methods for extracting meaning from feature distribution in high-density datasets at multiple scales. Sometimes a visual effect, such as a heat map or clustering, is all that is needed. In many cases, the visual patterns revealed in these methods lead to better questions being asked of the data, which in turn require aggregation by areas for answers.

The following sections describe several methods for visualizing high-density data in Map Viewer, along with best practices for applying them.

Clustering

Layers with many point features can be deceptive. What appears to be only a few points might instead be several thousand. It is difficult to get a realistic view of the data when many points are close together, overlap, or stack on top of each other on the map.

Clustering offers a quick solution to this problem. When you apply clustering to a point layer, point features that are within a certain distance of one another on the map are grouped into one symbol. Typically, clusters are represented by proportionally sized symbols based on the number of features in each cluster. Smaller cluster symbols have fewer points, while larger cluster symbols have more points. You can adjust the number of point features grouped into clusters by setting the cluster radius.

Clustering is applied dynamically at multiple scales, which means that as you zoom out, more points are aggregated into fewer groups, and as you zoom in, more cluster groups are created. Zoom in and out to see how the clusters in the example change at different scales.

When applying clustering to a layer, the following best practices are recommended:

  • Start by applying the default cluster settings to the layer. Then experiment with any of the cluster settings, including changing the cluster radius, symbol size, and style of the cluster symbols.
  • If your layer is styled by category, clusters show the predominant category in each cluster. As an alternative, you can use pie chart clusters to show the proportions of categories in each cluster.
  • Configure the cluster fields to create summary statistics, such as the average of a numeric field or the predominant value of a string field. You can then use the newly created summary statistics fields to style the layer or customize labels and pop-ups.
  • Configure labels that display the cluster count, or if the layer is styled using an attribute, use this attribute for the cluster label. For example, if the layer shows parcels by their value per square foot, you can configure the cluster label to show the average value per square foot of all the points in each cluster.
  • To further customize cluster labels, use label classes. For example, you can label each cluster based on two attributes, such as the average earthquake magnitude and the earthquake count, using a different label style for each attribute.
  • Keep the default cluster pop-up or configure a custom pop-up to show the information you want to highlight about each cluster. Consider using an ArcGIS Arcade expression to display the results of calculations and other information about the data. For example, if the map layer shows traffic collision data, you can create an expression to display the number of fatalities represented in each cluster and whether that number has increased or decreased since the previous reporting period.

Learn more about clustering

Heat maps

As with clustering, transparency, and bloom, heat maps can be used to visualize large numbers of overlapping point features. Heat maps display point features as a raster surface, emphasizing areas with a higher relative density of points along a continuous color ramp. In addition to showing the density of features based on their location, heat maps also offer an effective way to weight the density of points based on a numeric data value in the layer.

When applying a heat map to a layer, the following best practices are recommended:

  • Avoid heat maps if you have only a few point features; instead, map the actual points.
  • When applying a heat map, choose an appropriate color ramp for the data and adjust the slider to change how the colors are applied to the density surface. You can also adjust the area of influence to make the density clusters larger and smoother or smaller and more distinct.
  • Depending on the story or message you want to convey, consider selecting a numeric data value in the layer to include in the density calculation for the heat map. This can reveal a different pattern than density calculated using location only.
  • Heat maps are visually appropriate at only a few scale levels. As you zoom out, the heat map appears hotter; as you zoom in, it appears colder. To ensure that the heat map remains meaningful as you zoom in and out, set the visible range on the layer to display the heat map only at the zoom levels that properly convey your intended message.

Learn more about heat maps

Transparency

When visualizing layers with many overlapping features, you can change the transparency of the individual features to better visualize their density. If the map has multiple layers, you can also apply transparency to each layer to change the visibility of the layers in relation to each other. Transparency is particularly effective when visualizing polygons and polylines that stack on top of one another, as other methods, such as clustering and heat maps, are only available for point feature layers.

For example, you can use transparency to show areas that experienced flash flood warnings over a 10-year period. Applying transparency to the overlapping polygons based on the number of warnings experienced in the area allows you to distinguish areas that experienced a high number of warnings (darker, more opaque areas) compared to areas that had fewer flash flood warnings (lighter, more transparent areas).

When applying transparency to features in a layer, the following best practices are recommended:

  • A transparency value between 90 percent and 99 percent works best for visualizing most high-density data.
  • You can highlight a specific layer in a map with multiple layers by making it 100 percent opaque (no transparency) and adding transparency to the other layers.
  • If the map has multiple layers representing different types of features, consider combining transparency with blend modes to show the density of different types of features in the map. For example, you can visualize areas with a high density of floods compared to areas with a high density of tornadoes by styling each layer with a different color and the same level of transparency and applying the Average blend mode to the topmost layer.

Learn more about transparency

Bloom

Bloom is an effect that brightens features in a layer, making them appear as though they are glowing, with fringes of light extending from the borders of bright areas. The bloom effect is brighter and more intense in areas where many features overlap each other, which makes it an effective method of visualizing dense data.

You can customize the strength, or intensity, of the bloom effect, the radius of the blur bordering the features, and the threshold that defines how bright a color must be for the bloom to be applied. The bloom effect is often used to visualize fires, volcanic eruptions, and other data.

When applying a bloom effect to features in layer, the following best practices are recommended:

  • Use a dark basemap.
  • The effectiveness of the bloom effect can vary depending on the scale of the map, the data density, and the colors used in the layer style. Parameters that work well for one layer may not be suitable for other layers. Experiment with the strength, radius, and threshold parameters to achieve the effect you want.
  • At a global scale with many points, use a small symbol size and a small radius—approximately 0.1 pixels. To capture more colors with the bloom effect, try a lower threshold, for example, 15 percent.
  • You can apply the bloom effect to lines to show the density of overlapping lines, for example, highways. Thick, overlapping lines appear brighter than thin lines that don't overlap.

Learn more about the bloom effect

Binning

Similar to clustering, binning provides a summarized view of large datasets containing many point features that are close together, overlap, or stack on top of each other on the map. Binning summarizes, or aggregates, point features into summary polygons, called bins, of equal size or area. Each bin represents all features within its boundaries, including single features. This is different from clustering, in which single features are not included in a cluster if they fall outside the cluster radius. In addition, binning obscures much of the map, while clustering allows other features or the basemap to remain partially visible.

When applying binning to a layer in Map Viewer, the following best practices are recommended:

  • Start by applying the default bin settings to the layer. Then experiment with any of the settings, including changing the bin size and style.
  • Set a bin size that is appropriate for the extent at which the map will be viewed.
  • Configure the bin fields to create different summary statistics, such as the average of a numeric field, or the predominant value of a string field. You can then use the newly created summary statistics fields to style the layer or customize labels and pop-ups.
  • Configure labels that display the aggregate count, or if the layer is styled using an attribute, use this attribute for the label. To further customize bin labels, use label classes.
  • Keep the default bin pop-up or configure a custom pop-up to show the information you want to highlight about each bin. Consider using an ArcGIS Arcade expression to display the results of calculations and other information about the data.

Learn more about binning

Visible scale range

Sometimes it doesn't make sense to visualize large datasets at a certain scale. For example, displaying census tracts at a global map scale is meaningless because tracts typically represent neighborhoods and small communities. Many polygons at that scale would appear smaller than a pixel, which is of little value to map users.

Setting a visible scale range allows you to specify a scale at which features can be meaningfully displayed. It also helps reduce the initial data download to the browser.

Setting a visible scale range involves setting a minimum scale and a maximum scale for the layer. The minimum scale defines the farthest you can zoom out to view the layer, and the maximum scale defines the farthest you can zoom in to view the layer. You can also set only a minimum scale and not a maximum scale. Setting the minimum scale makes the biggest difference to reducing data download size.

Learn more about setting a visible scale range

Scale threshold

When working with clustered or binned data, sometimes it makes sense to view features individually instead of in aggregate. For example, displaying clustered or binned bike share stations at a city map scale provides a meaningful overview, but you may want to view the precise location of each station when viewing the map at a neighborhood scale.

Setting the scale threshold allows you to specify the scale at which features are displayed in clusters or bins. When zoomed out beyond the scale threshold, features will be clustered or binned. When zoomed in farther than the scale threshold, features will be displayed individually.

Learn more about setting the scale threshold when clustering

Learn more about setting the scale threshold when binning