Is there a way to generate a .mbtiles file from .osm.pbf file

Viewed 4694

I have an .osm.pbf file which I want to use to generate vector tiles with (.mbtiles).

Im currently on a windows machine utilising docker, I have tried to use the tool tilemaker (https://github.com/systemed/tilemaker) though I cannot get it to work on my files and get issues like so

" terminate called after throwing an instance of 'std::runtime_error' what(): Exception during zlib decompression: (-5) "

I was just wondering if anyone else was able to generate these tiles from said file type, if so could you provide a low level detailed guide on how you did so, as I am new to vector tiles and am getting confused within some circumstances.

For anyone interested I use this code to run the docker:

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

I have to put tilemaker twice as otherwise it says it cannot open the .osm.pbf otherwise

3 Answers

I made a tutorial on how to generate tiles using maptiler: https://blog.kleunen.nl/blog/tilemaker-generate-map

It is focused on linux, but you can run it on windows as well. You can find a pre-built version of maptiler on the CI: https://github.com/systemed/tilemaker/pull/208/checks?check_run_id=2143761163

Probably soon they will also become available on the github page. Once you have the prebuilt executable and the resources (config and process lua), you can simply do:

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

The output works best from zoom level 8 - 14, borders are still missing, so lower zoom levels look pretty empty.

You can use ogr2ogr (see other answer here) to translate osm.pbf into geojson, and then Mapbox's tippecanoe tool to convert the geojson to mbtiles.

possible solutions :

1.Might be RAM issue try to run small size osm.pbf file with tilemaker

2.Run tilemaker.exe from executable file (by making build from github tilemaker clone) ---> it may solve most of issues

Related