【问题标题】:Server side clusters of coordinates based on zoom level基于缩放级别的服务器端坐标集群
【发布时间】:2010-12-02 01:01:38
【问题描述】:

感谢answer ,我设法想出了一个临时解决方案来解决我的问题。

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

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

这是我的要求:

  1. 坐标需要的聚类 使用任何缩放级别 地图。

  2. 所有集群都需要缓存

  3. 理想情况下不需要 集群(计算距离) 如果添加了新点,则点。

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

我需要并且我知道这并不容易是从数据库(postgres)返回点的集群。

【问题讨论】:

    标签: python google-maps postgresql google-maps-markers cluster-analysis


    【解决方案1】:

    我不明白为什么您必须即时“集群”。以您满意的分辨率汇总每个缩放级别。

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

    最终,您将拥有 10 组(如果您有 10 个缩放级别)不同的坐标组,每个坐标组对应不同的缩放级别。

    计算很简单,你只需要做一次。

    【讨论】:

    • 如果在缩放级别 1 上可以有 500 个标记,在缩放级别 2 上可以有 5000 个标记怎么办?
    【解决方案2】:

    我目前正在对大约 2,000 个标记进行动态服务器端聚类,但它的运行速度非常快,最多可达 20,000 个。你可以在这里看到我的算法的讨论:

    Map Clustering Algorithm

    每当用户移动地图时,我都会向服务器发送一个带有缩放级别和视图边界的请求,服务器会聚集可视标记并将其发送回客户端。

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

    【讨论】:

      猜你喜欢
      • 2014-06-13
      • 2016-04-06
      • 1970-01-01
      • 2019-11-11
      • 1970-01-01
      • 2021-02-04
      • 2011-06-19
      • 2020-04-14
      • 1970-01-01
      相关资源
      最近更新 更多