Open 1ec5 opened 8 years ago
I am considering to develop a hybrid clustering layer, combining supercluster for static markers and prunecluster for dynamic markers. But if supercluster supports dynamic markers out of the box with good performances, I probably shouldn't do it.
How likely do you think supercluster will support this feature in the next two years ?
It's likely, although will probably come with performance costs. Supercluster used to be rbush-based and was 2.3 times slower: https://github.com/mapbox/supercluster/pull/5
Will you update kdbush to support dynamic points with a performance cost, or have some kind of hybrid approach as well ?
KDBush algorithm is static by design. I'd have to roll back to RBush.
I guess this is not as critical as it may seem, because you rarely need to dynamically change an already huge dataset on the client. Typically you either have a large static dataset, or a small dynamic one. Since Supercluster is extremely fast, it's usually fast enough to regenerate the whole clustering in the dynamic case.
For mapbox/mapbox-gl-native#5814, the highly dynamic point annotation layer could be small or it could be large – we’ve seen plenty of examples of either in the iOS SDK. But I agree that we should try to make point annotation clustering work in the first place before worrying about this optimization. Do you think the optimization proposed in https://github.com/mapbox/mapbox-gl-native/issues/5814#issuecomment-250019778 would suffice in the meantime?
Hi,
I'm considering Supercluster for my backend and I need to be able to add new points to the clusters. Is there a way to add points efficiently to the clusters without rebuilding it?
I'm expecting to have more than 500k points in my DB and I can't imagine loading them everytime a new one is added. Can you suggest an approach?
Thanks
For mapbox/mapbox-gl-native#5814, the highly dynamic point annotation layer could be small or it could be large – we’ve seen plenty of examples of either in the iOS SDK. But I agree that we should try to make point annotation clustering work in the first place before worrying about this optimization. Do you think the optimization proposed in mapbox/mapbox-gl-native#5814 (comment) would suffice in the meantime?
i hope it will be realize,did you guys try to do it?or meet some problems?
I guess this is not as critical as it may seem, because you rarely need to dynamically change an already huge dataset on the client. Typically you either have a large static dataset, or a small dynamic one. Since Supercluster is extremely fast, it's usually fast enough to regenerate the whole clustering in the dynam
I guess this is not as critical as it may seem, because you rarely need to dynamically change an already huge dataset on the client. Typically you either have a large static dataset, or a small dynamic one. Since Supercluster is extremely fast, it's usually fast enough to regenerate the whole clustering in the dynamic case.
well,when have a large static dataset,it will be waiting for many seconds,a dynamicallu feature may be useful
Are there any updates on this? I've been trying to use this through react-native-super-cluster but every change made causes quite a big delay. Anything that can be done?
Not at the moment unfortunately.
Ahw... Ah well. Thanks :)
Supercluster uses kd bush to generate index, so it do not support dynamic indexing data
Currently, if a point is added, removed, or moved, you have to recluster all the points, which can be expensive. For mapbox/mapbox-gl-native#5814, it should be possible to update the clustering to account for dynamically changing points.
/cc @mourner