Bug: pixelRange for clustering is inconsistent on zoom in vs out

1. A concise explanation of the problem you’re experiencing.

When zooming in and out with billboard clusters, the levels at which billboards cluster and uncluster is inconsistent. It seems that pixelRange is applied to determine when to group billboards into a cluster, but the cluster is “sticky” when zooming in and does not break apart until some zoom level where a significantly larger pixel range is seen.

2. A minimal code example. If you’ve found a bug, this helps us reproduce and repair it.

This can be reproduced with the clustering demo. Here are steps:

  1. Set “Pixel Range” to 100 and “Minimum Cluster Size” to 2.

  2. Zoom in to get to a place where 2 billboards are nearby and may be clustered

  3. Slowly zoom out from the 2 billboards and notice the last zoom level before the billboards combine. For example:

  1. Slowly zoom in and notice that you need to keep zooming past the level from above to get the billboards to uncluster. For example, the billboards are located on the white circles in the image below, which is much greater pixel separation than the image above. As a result, I expect that the billboards should already be unclustered.

3. Context. Why do you need to do this? We might know a better way to accomplish your goal.

This looks like a general issue with the clustering feature, as the inconsistency detracts from the experience of using clustering. Ideally, the clustering results for a zoom level would be consistent and reproducible.

4. The Cesium version you’re using, your operating system and browser.

Hey Jacob,

Thanks for the clear bug report, I was able to reproduce what you are seeing. I would agree that this seems inconsistent from a usability perspective. I’ve opened a GitHub issue to track here. Please continue the conversation there is you have anymore info to add.



Thanks Gabby!