Mapbox 矢量切片的时间滑块:单独的 SQLite 文件还是单个组合文件?

问题描述 投票:0回答:1

我正在为我的网络应用程序创建一系列 Mapbox Vector Tiles(它们只是 SQLite 数据库)。这些图块将代表一个时间帧,并且我将在数百小时内拥有许多帧,用户将通过时间滑块进行可视化。最好将 MVT 分开,还是将我当前的实现与 Tippecanoes

tile-join
结合在一起,将这些单独的 MVT 合并到一个文件中,将不同的帧作为层访问?将它们合并到一个 MVT 总体上效果很好,但它们会变得相当大并且在一段时间后处理速度很慢,因为它必须读入 RAM。将它们分开可以解决这个问题,但我担心滚动时间时与 SQLite 文件的快速连接/断开会产生一些性能问题。感谢您的帮助和建议!

sql sqlite backend mapbox-gl-js tippecanoe
1个回答
0
投票

假设您在不同时间(

temp
,小时)有一个数据值(
h
,温度)。

你基本上有 3 个选择,而不是 2 个:

  1. 每小时一个 mbtiles 文件。每个包含一层 (
    temps
    ),每个几何体有 1 个
    temp
    值。
  2. 一个 mbtiles 文件,每小时一层(
    temp1
    temp2
    ...),每个几何体有一个
    temp
    值。
  3. 一个 mbtiles 文件,具有一层 (
    temps
    ),每个几何体具有多个
    temp
    值 (
    temp1
    temp2
    ...)

我个人会:

  1. 从选项 3 开始。
  2. 如果每个图块太大(对于您想要的缩放级别),请尝试选项 2。
  3. 如果您因为每个文件都太大而在服务器端遇到性能问题,请尝试选项 1。这对我来说似乎不太可能 - 我从未遇到过这样的情况。

但是一段时间后它们会变得很大并且处理速度很慢,因为必须将其读入 RAM。

我不确定你在这里所说的“它”是什么意思,或者你是在谈论图块生成过程(一次性)还是服务过程,或者浏览器中发生了什么。生成图块可能会很慢,但您不必经常这样做。

© www.soinside.com 2019 - 2024. All rights reserved.