Javascript 聚类谷歌地图标记
我想知道使用Javascript 聚类谷歌地图标记,javascript,algorithm,google-maps,map,google-maps-markers,Javascript,Algorithm,Google Maps,Map,Google Maps Markers,我想知道使用群集地图标记的最佳方法是什么?我们目前在应用程序中使用谷歌地图,每个实体在地图上定义一个点,并使用基于网格的聚类算法(64px X 64px网格)对实体点进行聚类。这对大约8万个实体起到了很好的作用。我们的数据集从5000到150万个实体不等。 150万数据集的问题在于,有这么多标记,地图上几乎每个网格都是聚集标记,这不仅会导致用户界面不好(每个网格上都有聚集标记),还会增加地图的加载时间 1) 客户端-我尝试了客户端群集(映射群集器)。这不起作用,因为json对象本身有150万个实
群集地图标记的最佳方法是什么?我们目前在应用程序中使用谷歌地图,每个实体在地图上定义一个点,并使用基于网格的聚类算法(64px X 64px网格)
对实体点进行聚类。这对大约8万个实体起到了很好的作用。我们的数据集从5000到150万个实体不等。
150万数据集的问题在于,有这么多标记,地图上几乎每个网格都是聚集标记,这不仅会导致用户界面不好(每个网格上都有聚集标记),还会增加地图的加载时间
1) 客户端
-我尝试了客户端群集(映射群集器
)。这不起作用,因为json对象本身有150万个实体减慢了系统的速度,Map Clusterer也只能使用高达50k的标记
2) 服务器端
-如此庞大的数据集的问题是,我甚至无法查询所有实体,因此我考虑在SQL中进行第一级基于网格的聚类,然后在从SQL中获得第一次通过的聚类结果后进行一些基于密度的聚类,每个聚类都具有clusterCount和avg lat/long。
或者,对于如此庞大的数据集,有没有更好的办法(我读过关于黑手党、集团的文章)
此外,在某个时候,我真的很想缓存这些数据(虽然这应该在单独的问题中提出),但如果有人也能提供一些缓存技术,记住集群、查看端口和缩放级别,那将非常有用。您可以尝试我的kmeans服务器端解决方案:
(在python/geodjango/postgis中)
如果你有一卡车现金,你可以看看:
查看GeoHash:
还可以使用Solr为空间数据编制索引:搜索API21和
Apache Solr Search Integration22在这一点上,我会接受任何答案……有人尝试过K-means或四叉树进行集群吗?