【问题标题】:6 millions of markers in folium/leaflet map叶/传单地图中的 600 万个标记
【发布时间】:2018-06-23 05:18:03
【问题描述】:

使用 MarkerCluster 算法,可以将附近的标记聚集在一起,因此地图在视觉上非常容易接受。

但是,我发现传单地图的性能和响应随着其中标记的数量而降低。

我还是不明白,但我发现人们在谈论服务器端集群解决方案而不是客户端集群。

This durable module project 是针对在传单地图中使用此概念(服务器端聚类)的大量标记的解决方案。

我的问题是:

在传单地图中是如何做到的?
如何在 folium maps 的 python 中制作这个解决方案?

【问题讨论】:

    标签: python leaflet folium


    【解决方案1】:

    服务器端集群可以通过 XHR 请求来完成。

    最简单的方法是将您的地图划分为正方形,并使用MAP.on('zoomend', function(e){}); 事件在单要素图层和替换 geoJSON/JSON 图层之间切换。

    在一个示例中,如果 jQuery 可用,您可以在 zoomend 上执行 $.getJSON(SERVER_SIDE_URL, {VARIABLE: 'VALUE'}, function(data){});。这里匿名函数将携带响应数据。您可以使用此数据创建替代 LayerGroup 或单个 Layer,同时跟踪和销毁其谓词。

    服务器端需要访问完整的数据集,并且能够为抽象附近的单个特征或占位符半径/正方形半径内的一组特征提供 JSON。

    这是一个选项的摘要。或者,可能有市场就绪的解决方案。但是自己编写应该会为这样一个简单的任务提供更有效的解决方案。

    【讨论】:

      【解决方案2】:

      我为 leafletMapbox 找到了一个开源解决方案。

      它是传单所有者创建的SuperCluster project。 它是带有 node.js 的 Server-Side Clustring 解决方案和带有 MapBox 的 Client-Side Clustring

      这些算法的概念解释here

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-03-13
        • 1970-01-01
        • 2015-03-24
        • 2021-06-01
        • 2014-03-07
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多