0

我正在尝试使用此处planet.osm.pbf找到的文件构建离线 tileserver ,但遇到了一些缩放问题。

我的第一次尝试是将其中一些数据呈现到.mbtiles文件中并使用Tilemill. 这在一定的缩放级别上效果很好,但随后预渲染图块的大小会爆炸。我对适当解决方案的猜测是将图块预渲染到某个合理的缩放级别,然后有一种机制来即时渲染剩余的缩放级别。或者,我知道有一些基于矢量的图块(也许?)总是在浏览器中有效地呈现(mapbox gl我认为是这样)。

有谁知道以这种规模设置离线 tileserver 的最佳方法?我见过的许多其他答案都涉及如何为特定城市或州提供瓷砖,但我没有想出太多来展示整个星球。

谢谢!

编辑:

或者,如果有其他格式可以提供全球范围的数据,而不是planet.osm.pbf我绝对愿意听到它——我不依赖于特定的数据源,我只是想解决这个问题。

4

1 回答 1

2

对于这种规模的任务,您将需要 Mapnik http://wiki.openstreetmap.org/wiki/Mapnik

  1. 安装 mapnik 并渲染https://switch2osm.org/serving-tiles/building-a-tile-server-from-packages/(我知道 TileMill 使用 mapnik,所以检查一下你是否已经拥有它)
  2. 将您的数据导入 PostGIS(整个地球可能需要几天时间和大约 300G 的硬盘空间)
  3. 将您的样式从 TleMill 转换为 mapnik
  4. 现在你有了自己的渲染服务器

还有一个带有一些样式的 docker 容器和 mapnik+postgis+osm2pgsql 在一个乐队中演奏。https://registry.hub.docker.com/u/dkiselev/nik4web/可能对你有帮助。

于 2015-07-22T06:09:04.153 回答