我想知道什么是cluster map markers的最佳方式我们目前在应用程序中使用google地图,每个实体在地图上定义一个点,并有一个grid based clustering algorithm (64px X 64px grid)用于对实体点进行聚类这对大约8万个实体来说效果不错我们有5000到150万个实体的数据集。
1.5 million dataset的问题是,由于标记太多,地图上几乎每个网格都是一个聚集标记,这不仅会导致用户界面不好(每个网格上都有一个聚集标记),还会增加地图的加载时间。
1)Client Side-我尝试过客户端群集(Map Clusterer)但由于json对象本身有150万个实体,这并没有起到作用,因此减慢了系统的速度,Map cluster也只能起到5万个标记的作用。
2)Server Side-如此庞大的数据集的问题是,我甚至无法查询所有实体,因此我考虑在sql中使用一级基于网格的集群,然后在从sql获得第一次通过的集群结果后使用一些基于密度的集群,每个集群都有一个clusterCount和avg lat/long。
或者如果有更好的方法来处理如此庞大的数据集(我读到了关于MAFIA, CLIQUE集群http://www.siam.org/proceedings/datamining/2001/dm01_07NageshH.pdf)。
另外,在某些情况下,我真的很想缓存这些数据(尽管这应该在一个单独的问题中提出),但是如果有人也能提供一些缓存技术,记住集群、视图端口和缩放级别,那将非常有帮助。

最佳答案

您可以尝试我的KMeans服务器端解决方案:
https://github.com/biodiv/anycluster
(在python/geodjango/postgis中)
如果你有一卡车现金,你可以看看:
http://www.maptimize.com/

关于javascript - 集群谷歌 map 标记,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14499877/

10-11 23:02
查看更多