192天建造欧洲瓷砖

时间:2018-08-30 18:34:51

标签: openmaptiles

您好,感谢您在OpenMapTiles上所做的所有出色工作。

我正在尝试为欧洲,北美乃至世界制造瓷砖。

我正在使用./quickstart脚本,据说要花30天才能为美国和欧洲花费192天。 它正在c5d.18xlarge EC2实例(70 CPU,180G RAM,SSD磁盘)上运行。

我想念什么吗?

我目前正在尝试使用Docker以外的数据库(在localhost上)以查看是否可以加快速度……但是你们好吗?

3 个答案:

答案 0 :(得分:0)

我也正在使用openmaptiles,在最近一次更新后,速度极端降低了(仍然必须找出引起这种情况的更改)。 quickstart脚本非常适合尝试和弄清楚,最后,我开始编写脚本以分割和并行化工作。现在,我们以0-14(快速)缩放处理整个世界,以14-18(需要数周)处理整个欧洲大部分地区

请尝试以下操作:
*调整postgres(默认设置不适用于大型数据库)
*尝试分割区域并分配工作。

您可以看到,使用tilelive-copy进行渲染的过程并未真正使用所有内核。整个过程在使用资源方面并不那么有效。经过几次尝试,我发现并行启动多个工作程序(最终)要比以更高的CPU核心速度使服务器超载更快。

另请参阅:
https://github.com/openmaptiles/openmaptiles/issues/462
https://github.com/mapbox/tilelive/issues/181

答案 1 :(得分:0)

我也想尝试分割成几个文件。

但是如何合并渲染的mbtiles文件? 可以给您看脚本吗? GIT?

谢谢

最诚挚的问候

斯蒂芬

答案 2 :(得分:0)

我正在使用这个
https://github.com/mapbox/mbutil/blob/5e1ac74fdf7b0f85cfbbc245481e1d6b4d0f440d/patch

这是我的脚本之一,我正在将其全部合并到tmp并检查该文件上是否仍在进行tilelive-copy

for i in *.mbtiles; do
    [ -f "$i" ] || break
    if [[ $i != *"final.mbtiles"* ]]; then
      if ! [[ `lsof -c /tilelive-copy/ $i` ]]; then
  exit=$(/usr/local/bin/merge_mbtiles.sh $i /tmp/final.mbtiles)
        echo $exit
        (( $rc )) && echo "merge failed $i" && exit 1
        echo "merge sucessfull"
      fi
    fi
done