地图包含超过 100 万个标记,以高缩放级别发布

发布于 2024-12-04 12:31:59 字数 306 浏览 0 评论 0原文

上下文

Google 地图可显示 100 万个标记(带有纬度/经度的对象)。我们使用 Fluster 2 进行集群。

对于缩放级别 11 到 21(假设有 21 个缩放级别,并且 21 最接近地面),聚类标记(创建聚类标记)的计算时间很好。

我遇到的问题:

在缩放 11 后(当用户从​​地面缩小时),聚集聚类速度变慢。考虑到标记的数量约为 1,000,000 个,我需要一种快速计算方法或一种周转方法。

顺便说一句,我对商业解决方案不感兴趣。

Context:

Google Map with 1 million markers (object with a lat/long) to display. We use Fluster 2 for clustering.

For zoom level 11 to 21 (assuming there are 21 zoom levels and 21 is the closest to the ground) the computation time for clustering markers (create cluster markers) is fine.

Issue I encounter:

Agglomeration clustering is being slow down after zoom 11 (when the user zooms out from the ground). Given the number of markers, around 1,000,000, I need either a fast computation method or a turnaround.

Btw, I am not interested in commercial solutions.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

晨与橙与城 2024-12-11 12:31:59

Fluster 2 是一个 javascript,它是客户端集群,对吗?

对于数百万个点,您应该考虑绝对使用服务器端集群,甚至如果可能的话,提前使用预集群点。

此主题与此相关
https://stackoverflow.com/questions/986852/clustering-coordinates-on-server-side< /a>

有了这么多点,您就可以进行简单的网格聚类。
这是谷歌提到的快速技术
http://code.google.com/ intl/da-K/apis/maps/articles/tooomymarkers.html#gridbasedclustering

我用 C# 编写了一个关于网格聚类的博客,其中包含示例代码
http://kunuk.wordpress.com/2011/09/15/聚类-网格-聚类

有趣的问题:)
在 jon kleinberg 的算法设计书中,提到计算 1.000.000 个项目大约需要 1 秒的 O(n) 和 20 秒的 O(nlogn) 时间。

如果不能保持 O(n) 的复杂度,则应考虑使用一些技巧在计算中仅使用部分数据。

Fluster 2 is a javascript which is client side clustering right?

With millions of points you should consider definitely use server side clustering or even pre-cluster points in advance if possible.

This topic is related to this
https://stackoverflow.com/questions/986852/clustering-coordinates-on-server-side

With that many points you could make a simple grid-clustering.
This is fast technique as mentioned by google
http://code.google.com/intl/da-K/apis/maps/articles/toomanymarkers.html#gridbasedclustering

I have made a blog about grid-clustering with example code in C#
http://kunuk.wordpress.com/2011/09/15/clustering-grid-cluster.

Interesting question :)
In an algorithm design book by jon kleinberg there is mention of calculation of 1.000.000 items gives about 1 sec for O(n) and 20 sec for O(nlogn).

Some tricks should be considered to only use partial of the data in the calculation if you can't keep it O(n).

遥远的绿洲 2024-12-11 12:31:59

您可以使用空间索引并减少维度。然后,您可以在每个缩放级别上分别拉标记。我出于学术目的编写了一个带有许多空间填充曲线和四键的 PHP 脚本。我还有一些商业解决方案。

首先,您可以阅读:

当您需要更准确的搜索时,您仍然可以使用它来消除所有位置的最近邻计算。

You can use a spatial index and reduce the dimension. Then you can pull markers separately on each zoom levels. I wrote a PHP script with many space filling curve and a quadkey for academic purpose. I've also some commercial solution.

To start you can read:

When you need a more accurate search you can still use it to eliminate nearest-neighbor computation with all locations.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文