优化openmaptiles和服务器以生成行星图块

时间:2019-07-14 05:18:00

标签: postgresql openmaptiles

我目前正在使用openmaptiles来生成行星图块(缩放0到14或15)。我打算在专用服务器上运行,这是一个漫长的过程。 我知道这是openmaptiles提供的服务,但我负担不起花费1200或1000美元来生成或购买瓷砖。

在openmaptiles项目的自述文件中写道,quickstart.sh并未针对行星渲染进行优化。这就是为什么我想知道如何优化配置以使其尽可能快。 需要明确的是,我将使用mbutilsmbtiles文件生成切片,从而使我可以在具有不同缩放级别(例如,第一台服务器上缩放1到9,将10缩放到10)的不同服务器上运行Planet Generation到另一个14)。这样,我将收集不同的mbtiles文件,这些文件将用于生成mbutils并将.pbf切片与合并。

我读了issue,但对我来说并没有任何改变。 也许我还可以删除一些不会在地图上使用的图层? (怎么做 ?) ATM,当我运行脚本时,似乎并没有使用全部的CPU容量。

感谢您的帮助

2 个答案:

答案 0 :(得分:1)

您可以通过修改https://github.com/openmaptiles/openmaptiles/blob/master/openmaptiles.yaml

来限制返回的图层

openmaptiles.yaml内部-减少图层条目,使其仅包含所需的图层。

例如,我只需要构建数据,因此我更改了文件,以便“图层”部分仅包含以下内容。

层:     -层/building/building.yaml

我通过查看openmaptiles存储库的历史来解决这个问题。它对我有用。

希望这会有所帮助!如果您找到其他加快过程的方法,最好共享一下!

谢谢 -鲁弗斯

答案 1 :(得分:1)

我找到了一种加快过程的方法: 制作一个openmaptiles / generate-vectortiles存储库的PR,其中包含此项目的主容器的dockerfile。 在后台,此容器使用mapbox的tilelive项目,该项目允许将大型作业拆分为较小的作业。 我添加了两个环境变量:

  • JOBS:应拆分的工作数量
  • JOB_NUM:要运行的作业编号

叉子在这里:https://github.com/qlerebours/generate-vectortiles

如果您有多台服务器来生成此文件,则它可以使进程并行化。