1

感谢这个answer我设法为我的问题提出了一个临时解决方案。基于缩放级别的服务器端坐标集群

但是,随着每天增长6000点的列表变得越来越慢。

我不能使用第三方服务*因此我需要拿出我自己的解决方案。

这里是我的要求:

  1. 坐标的聚类需要 与 地图的任何缩放级别的工作。

  2. 所有组之间需要进行缓存

  3. 理想情况下,所有 点不会是一个需要 集群(计算距离)如果添加一个新的起点。

到目前为止,我已经实现了四叉树返回我的地图的四个边界,返回任何坐标地图的可视区段内。

我需要什么,我知道这并不容易是从DB(postgres)返回的点集群。

回答

1

我目前正在进行约2000个标记的动态服务器端群集,但运行速度非常快,达到20,000。你可以在这里看到我的算法的讨论:

Map Clustering Algorithm

每当用户移动我发送一个带有缩放级别的请求和视图的服务器的界限,这簇可视标记,并将其发送地图回到客户端。

我不会缓存群集,因为标记可以动态过滤和搜索 - 但是如果它们是预先群集的,它会超级快!

2

我不明白为什么你必须在飞行中“集群”。以您满意的分辨率在每个缩放级别进行总结。

拥有简单的X,Y,#链接结构。当有人添加一个链接时,你插入真实位置(缩放级别最大,或其他),然后从那里开始冒泡。

最终,您将拥有10个(如果您有10个缩放级别)不同坐标的集合,每个不同的缩放级别都有一个坐标。

计算是微不足道的,你只需要做一次。

+0

如果在缩放级别1上可以有500个标记并且在2级5000个标记上怎么办? – Eeyore