【问题标题】:What technology is more reliable for web-based geotemporal data visualization?对于基于 Web 的地时数据可视化,哪种技术更可靠?
【发布时间】:2015-03-30 13:24:36
【问题描述】:

我有一个包含运输轨迹数据的 PostGIS 数据库。它包含大约 100 万个点。每个 2D 点还分配了一个时间戳。

我需要在 Web 地图可视化工具(例如 OpenLayers 或 Leaflet)中绘制这些内容,以便用户能够对运输跟踪数据进行过滤和分析。这意味着我添加了一个像this 这样的时间滑块、像this 这样的热图、自定义选择轨道以创建图表(例如速度与时间等)、加载/导出 cvs/sph 数据等。

虽然我热衷于尝试新事物,但我在 OpenLayers 方面的经验很少,在 Leaflet 方面也没有经验。我只是有点担心 Leaflet 如何处理大量数据(如果地图中的 100 万个点被认为是“大”),并且还担心它对于地时数据分析的可靠性,因为它仍然是一个正在开发的工具,并且我将来可能想要的一些东西可能还没有。 OpenLayers 在这里的时间更长,可能更容易找到帮助和更多示例。

那么对于我的情况最值得推荐的是 OpenLayers 还是 Leaflet?

【问题讨论】:

    标签: openlayers gis leaflet


    【解决方案1】:

    这可能不是一个完整的答案,但我可以根据我的经验与您分享一些事实;我使用 this blog post 中显示的 Leaflet 和 KeyLines 构建了一个地理时态数据可视化。
    链接的演示没有庞大的数据集 - 目标是解释如何做到这一点,而不是炫耀 - 它拥有 15k 点和 20k 时间事件。 我有同样的演示,包含一百万个数据点和更多事件,它的表现非常好,我们也用它来测试。

    您在底部看到的时间栏是我们处理数百万个时间事件的专有组件。

    关于地图和热图,这是我的经验:

    • Leaflet 非常易于使用,几个小时后您就可以准备好一些东西。它的主要特点之一就是被广泛使用并提供插件生态系统。
    • 使用了 Google Maps JS API,虽然它坚如磐石,但它对许可证的要求更加严格。
    • 根据我的经验,这里的热图是瓶颈。
      • 没有 Esri 热图插件。
      • 没有 OpenLayers 经验。

    我一直在寻找一个能够同时添加和删除多个点的热图组件:正如您在播放时间栏时从动画中看到的那样,热图会经常更新。
    此外,在我们的例子中,它必须处理数据的放大/缩小等,因此需要处理任何类型的时间条交互。

    我尝试过的:

    • Leaflet.heat - 这是演示中显示的,非常好。 API 还是有点粗糙,没有添加点数组的概念。如果您必须支持旧浏览器,这将不起作用(它基于 HTML5 Canvas)。
    • heatmap.js - 虽然 API 看起来比上面的要好得多,但我认为它有点慢(至少从我的测试来看)。它也是基于画布的。
    • Google Heatmap Layer - 这是迄今为止我找到的最快的解决方案。 API 有点冗长,但那是 Google Visualization API 风格。 这也适用于旧版浏览器

    我没有尝试过您链接的 ESRI(建立在 Leaflet.heat 之上),但也许值得探索:他们可能已经对其进行了调整以使其运行得更快。 在这一切中,我没有看到 OpenLayers 3 的经验还包括一个 Heatmap 层,所以我对此无能为力。

    在这样的演示中,我们没有使用任何数据库,但我想如果调整不当也可能成为瓶颈。在这方面我忍不住想。

    【讨论】:

    • 感谢您的回复。了解您的经验非常有用。你的演示看起来很酷!如果热图使事情变得复杂/缓慢,我也可以尝试these Leaflet cluster markers,它们不一样,但是这个项目的要求是灵活的,这仍然有助于数据分析。我看到我的问题可能有点难以回答,因为有很多选择,每个人都会有不同的体验。复活节后我会在这方面做更多的工作,同时非常感谢任何 cmet!
    猜你喜欢
    • 2011-02-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-14
    • 1970-01-01
    • 2014-10-09
    • 2018-06-23
    • 1970-01-01
    相关资源
    最近更新 更多