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.
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.
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.
- 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.
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.
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.
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.
Aggregation allows you to summarize, or aggregate, large datasets with many features to layers with fewer features. This is typically done by summarizing points in polygons in which each polygon displays the number of points contained in the polygon.
Unlike clustering, which is a type of client-side aggregation that recalculates as you zoom in and out, the aggregation method described in this section occurs on the server and represents data as static aggregate features at a single resolution.
Aggregation is preferable to clustering in the following circumstances:
- The point dataset is too large to cluster client-side. Some point datasets are so large they cannot reasonably be loaded to the browser and visualized with good performance. Aggregating points to a polygon layer allows you to represent the data in a performant way. Data can be summarized within regular polygon boundaries, such as hexbins or squares. Use this when you want to more accurately show the density of points across space.
- Data can be summarized within irregular polygon boundaries. You may be required to summarize point data to meaningful, predefined polygon boundaries, such as counties, congressional districts, school districts, or police precincts. Clustering is handled in screen space without regard for geopolitical boundaries. There are scenarios in which summarizing by predefined irregular polygons is required for policy makers whose influence is within those boundaries but may be curious about neighboring boundaries.
To aggregate points in ArcGIS Enterprise, you select the point layer to aggregate and a polygon layer used to calculate summary statistics. This creates a feature layer. By default, the count of points intersecting each polygon is included in the output table. You can select fields in the point layer to summarize with various statistics such as the average of a numeric field or the predominant value of a string field. You can also group numeric statistics by the values of a string field.
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.