Working with ''iteration'' and ''tolerance'' feature when clustering in symbol maps
Once you've enabled the ''cluster overlapping symbols'' option in the Refine tab of the symbol map editor, you’ll see some options underneath the clustering drop-down menu:
Let's go through these options to understand what they mean:
- show number of grouped items on cluster symbols: If multiple symbols get clustered together, this option will show the number of underlying symbols on top of the cluster:
- Cluster size: Here you can decide how many symbols get clustered together. The higher the number, the bigger the cluster size would get:
- Iterations: This setting (with a range between 1-9) controls how often the algorithm performs its clustering on the available symbols. The more often the iterations, the fewer the chances would be that clusters located very close to each other overlap.
- Tolerance: This setting (with a range between -1 to 0.5) controls how much space is added between clusters. The more positive the value, the more the individual symbols would appear on the map instead of being swallowed by the clusters. The more negative the value, the more space would appear between the clusters.
Since iterations and tolerance are a bit harder to understand, let’s take a look at them in detail:
Suppose you are trying to map out how many fast-food restaurants of a certain chain are located in a city. Choosing a higher iteration value, like ''6'', would make many of markers cluster together. However, if you only want a modest amount of clustering on the data points with some individual data points appearing on the map in the zoomed-out view, you can choose a smaller iteration value such as ''3'' or ''4''.
Note: The choice of a value for iteration and tolerance is context-dependent and it is always a good idea to try out different values and check how the clusters change when viewed with desktop vs mobile view. One more thing, while changing the iteration value, the cluster tooltips will adjust accordingly so no need to worry about whether you might lose some information about a particular marker from your clusters.
This is what a section of the symbol map looks like with different values of iteration. All subsets of the maps below have the same value of tolerance (i-e tolerance = 0)
Let's say you're trying to map the location of all maple and oak trees in a specific neighbourhood of a city. You do want the markers to cluster but at the same time not have the clusters appear so close that there is virtually no whitespace left. This is where the tolerance setting can be really handy as it forces space between the clusters (or decrease space depending on how you adjust the slider for this setting). A negative value of tolerance ,such as ''-0.6'', would force more whitespace between clusters while a positive value, such as ''0.3'', would position the clusters in proximity to each other.
This is what a section of the map looks like with different values of tolerance. The iterations value is the same (i-e iteration = 5) in all subsets of the maps below.
How do tolerance and iteration work together?
Here is what happens to cluster markers when we try different combinations of iteration and tolerance:
|| What happens to the cluster markers?
|Higher iteration, higher tolerance|| Higher iteration will prevent cluster overlap while higher tolerance will result in less space between clusters (and allow both big and small clusters to appear).
|Higher iteration, lower tolerance|| Higher iteration will prevent cluster overlap while lower tolerance will force more space between clusters (so more whitespace on the map).
|Lower iteration, lower tolerance|| Lower iteration will allow multiple small clusters to appear with less number of markers inside each. A lower tolerance will force more space between clusters (but note that this spacing might not be noticeable if the iteration value is extremely small).
|Lower iteration, higher tolerance||Lower iteration will allow fewer markers to be included in a cluster allowing multiple clusters to appear. Higher tolerance will allow less space between clusters, making the small and big clusters overlap.|
And here you can see how the different combinations of iterations and tolerance look like on markers:
You can read up more on how to customize your symbol by following the link here