1

我有一个 .osm.pbf 文件,我想用它来生成带有 (.mbtiles) 的矢量图块。

我目前在使用 docker 的 windows 机器上,我尝试使用工具 tilemaker ( https://github.com/systemed/tilemaker ) 虽然我无法让它在我的文件上工作并遇到这样的问题

“在抛出 'std::runtime_error' what() 的实例后调用终止:zlib 解压缩期间的异常:(-5)”

我只是想知道是否有其他人能够从所述文件类型生成这些图块,如果可以,您能否提供有关如何执行此操作的低级详细指南,因为我是矢量图块的新手,并且在某些情况下会感到困惑。

对于任何感兴趣的人,我使用此代码来运行 docker:

docker run tilemaker tilemaker --input=sud-latest.osm.pbf --output=sud.mbtiles

我必须放两次tilemaker,否则它说它不能打开.osm.pbf

4

3 回答 3

3

我制作了一个关于如何使用 maptiler 生成图块的教程: https ://blog.kleunen.nl/blog/tilemaker-generate-map

它专注于 linux,但您也可以在 Windows 上运行它。您可以在 CI 上找到预构建的 maptiler 版本: https ://github.com/systemed/tilemaker/pull/208/checks?check_run_id=2143761163

可能很快它们也将在 github 页面上可用。一旦你有了预构建的可执行文件和资源(配置和进程 lua),你可以简单地做:

tilemaker.exe --input=sud-latest.osm.pbf --output=sud.mbtiles --process resources/process-openmaptiles.lua --config resources/config-openmaptiles.json

输出在缩放级别 8 到 14 时效果最佳,仍然缺少边框,因此较低的缩放级别看起来很空。

于 2021-03-18T20:59:50.523 回答
0

您可以使用 ogr2ogr(请参阅此处的其他答案)将 osm.pbf 转换为 geojson,然后使用 Mapbox 的 tippecanoe工具将 geojson 转换为 mbtiles。

于 2021-01-22T17:35:28.837 回答
0

可能的解决方案 :

1.可能是 RAM 问题尝试使用 tilemaker 运行小尺寸 osm.pbf 文件

2.从可执行文件运行tilemaker.exe(通过从github tilemaker克隆构建)--->它可以解决大部分问题

于 2021-11-17T17:00:38.297 回答