systemed / tilemaker

Make OpenStreetMap vector tiles without the stack
https://tilemaker.org/
Other
1.4k stars 226 forks source link

Buildings and piers missing at zoom level 13 #688

Open heyman opened 4 months ago

heyman commented 4 months ago

First of all, thanks for a great project!

I've been experimenting with Tilemaker and managed to generate tiles for Sweden, and one thing I've noticed is that at zoom level 13, some buildings (and also piers) are missing.

Here's a rendering of the tiles produced by Tilemaker (using config-openmaptiles.json and process-openmaptiles.lua):

image

And here's a rendering of the same area using tiles from MapTiler:

image

I've been looking at config-openmaptiles.json and process-openmaptiles.lua, but it's not apparent to me what I could change to have all buildings and piers included at zoom level 13.

Any pointers would be greatly appreciated!

systemed commented 4 months ago

By default, the process script drops smaller items at smaller zoom levels.

You can change this by removing the calls to SetMinZoomByArea() in the parts of the script that deal with buildings (line 570 or so) and piers (line 500 or so).

heyman commented 4 months ago

Thanks for the info! With the following config:

ZRES11 = 0
ZRES12 = 0
ZRES13 = 0

all buildings seem to be visible at Zoom>13. However, the thin piers still won't appear until Zoom 14, which I can live with.

All in all, this seems to have resulted in a total size increase of ~7.5% for the whole .mbtiles file.

systemed commented 4 months ago

Great. I have something in the pipeline to improve building rendering at mid zoom levels - it won't be done immediately (I've prototyped the code in Ruby, just need to rewrite it in C++...) but should make a difference in situations like this.