When does "point clustering" come?

4645
24
08-22-2019 03:44 AM
deleted-user-OOe4JK-9Abnm
New Contributor III

Hi,

I have been waiting for point clustering in JS API 4.x for last 2 years. I used to say to my customers that it is comming soon as it is claimed on functionality matrix Functionality matrix | ArcGIS API for JavaScript 4.12 .

I would very appriciate if somebody from Esri could give me a signal when it comes.

Thanks!

24 Replies
FionaRenton1
Occasional Contributor II

Keyboard access is needed to tab between clusters. I've never done this, but it seems that Google has already figured this out for accessibility. We can't afford and Google (and ESRI does more) so I hope this can be incorporated soon.  This is how Google does this:

https://equalentry.com/accessible-maps-on-the-web/ 

0 Kudos
mgeorge
Esri Contributor

Thanks! We'll take a look

FionaRenton1
Occasional Contributor II

It seems like it is here in beta in  version 4.14 

Release notes for 4.14 | ArcGIS API for JavaScript 4.14 

2D Point Clustering (beta)

KristianEkenes
Esri Regular Contributor

We're now looking at cluster labels. If you have an opinion/use case for control over cluster labels, then please participate in this poll -  

AnandPaleja
New Contributor III

Kristian Ekenes‌ Thank you very much for updates about Clustering. I am trying to implement cluster using latest version 4.16. I am unable to figure out few things. It will be helpful if you can guide me and tell me if its possible:

- Changing Color of Clustered point. I have implemented cluster using FeatureLayer. I know layer's color is controlled by its render. but I would like to show all clusters in some other color (than prominent category color), is it possible ?

- GetChildGraphics list on click of cluster. I want to show popup with navigation to navigate between all points in cluster like 3.x implementation but I am unable to figure it out how to archive it. 

It will be helpful if you can guide me.

0 Kudos
KristianEkenes
Esri Regular Contributor

Hi Anand,

To change the color of the cluster point, you will need to switch the layer's renderer to a simple renderer with a single color at the time of cluster. Here's an example - https://codepen.io/kekenes/pen/GRZJLGM?editable=true&editors=100

I configure the behavior so that when clustering is enabled, all clusters have the same symbol. When you disable clustering, the type renderer is returned to the layer.

Regarding getChildGraphics, we don't support querying features by cluster at the moment. It's something we're still in design discussions about.

Hopefully that helps!

0 Kudos
AnandPaleja
New Contributor III

Hi Kristian,

Thank very much for quick reply with example. This is surely helpful for me to decide, ArcGIS 4.x wont be useful for me specially for clustering. I would suggest few things for cluster, if at all there is a way to accommodate it in future:

- GetChildGraphics - get list of child graphics for a cluster

- Allow to switch between SummeryPopup and Graphics Popup (with navigation like 3.x) for cluster

- Different Renderer for Cluster and Points (which are not in cluster)

These features will be really helpful for many of users. As I have seen so many questions floating on the internet asking for these.

Cheers!

0 Kudos
KristianEkenes
Esri Regular Contributor

Hi Anand,

Can you provide some more information about the expected workflow for your end users? What is the primary purpose of clustering in the apps you're writing? Are users going to be toggling clustering on and off? Something to give me a better idea of the context of the above requirements. Regarding the different cluster renderer, is there another renderer type you have in mind beyond just showing everything with the same color? We likely wouldn't use that as a case for exposing a separate cluster renderer since there is already a development workflow for that scenario.

Thanks for the feedback! It's very helpful.

Kristian

0 Kudos
AnandPaleja
New Contributor III

Hi Kristian,

 

Usecase of Clustering in the app I am developing is to show realtime location of users belonging to different categories. Each category needs to be represented using different color when points are not within a cluster. In case multiple categories of users belongs to a cluster, cluster color should be represented using a common color (i.e. Grey color). If cluster have users from single category, cluster color should be of category rather common color. 

 

This kind of color coding really helps user to easily identify and differentiate between each cluster visually.

 

Regards,

Anand Paleja

0 Kudos
EricParsons
New Contributor

Hi Kristian,

I happened to come across this thread and just wanted to chime in here to say that we are also eagerly awaiting the equivalent functionality of getChildGraphics() in the 4.x API for our Geocortex products. We tried to find a workaround to discover which features are in a cluster, but in the end we weren't able to come up with anything that was 100% accurate. Unfortunately not knowing which features are in a given cluster limits the amount of useful interaction we can build with them. I'm glad to hear that it's at least in the design discussion phase. Is there a very rough ETA on when this might become available?

Thanks,

Eric Parsons