Shortbread implementation for Tilemaker uses write_to for the ocean and street layers because streets have more attributes on higher zoom levels. Simplified snippet:
{
"layers": {
"streets": {
"minzoom": 14,
"maxzoom": 14,
"combine_below": 15
},
"streets_med": {
"minzoom": 11,
"maxzoom": 13,
"simplify_below": 14,
"simplify_level": 0.0002,
"combine_below": 14,
"write_to": "streets"
},
"streets_low": {
"minzoom": 5,
"maxzoom": 10,
"simplify_below": 14,
"simplify_level": 0.0001,
"combine_below": 11,
"write_to": "streets"
}
},
"settings": {
"minzoom": 0,
"maxzoom": 14,
"basezoom": 14,
"include_ids": false,
"combine_below": 14,
"name": "Shortbread",
"version": "1.0",
"description": "Tile config for a simple vector tiles schema",
"compress": "gzip",
"filemetadata": {
"tilejson": "2.0.0",
"scheme": "xyz",
"type": "baselayer",
"format": "pbf",
"tiles": [
"https://example.com/liechtenstein/{z}/{x}/{y}.pbf"
]
},
"metadata": {
"author": "OpenStreetMap contributors, Geofabrik GmbH",
"license": "Open Database License 1.0"
}
}
}
If I create vectortiles with Tilemaker using shortbread-tilemaker commit 914f335e485d0368dcda82c59b3a43ec18663431, it generates a streets layer for zoom levels 5 to 14 but the metadata expose it as zoom level 14 to 14 only.
tilemaker --input ~/Downloads/osm/baden-wuerttemberg-latest.osm.pbf --output ~/jobs/vektortiles/shortbread-tilemaker-3.2.mbtiles --bbox 7.51,47.53,10.5,49.8 --config config.json --process process.lua
sqlite3 ~/jobs/vektortiles/shortbread-tilemaker-3.2.mbtiles "SELECT value FROM metadata where name = 'json'" | jq '.vector_layers[]|select(.id == "streets")|.minzoom'
The second command is expected return 5 (smallest minzoom of all layers written to streets) but returns 14 (minzoom of streets) is returned. Some tools like Geoserver seem to rely on the metadata JSON.
This bug can be reproduced with Tilemaker 3.2 and current master (facdf93).
shortbread-tiles/shortbread-tilemaker#52 shortbread-tiles/shortbread-tilemaker#47
Shortbread implementation for Tilemaker uses
write_tofor theoceanandstreetlayers because streets have more attributes on higher zoom levels. Simplified snippet:{ "layers": { "streets": { "minzoom": 14, "maxzoom": 14, "combine_below": 15 }, "streets_med": { "minzoom": 11, "maxzoom": 13, "simplify_below": 14, "simplify_level": 0.0002, "combine_below": 14, "write_to": "streets" }, "streets_low": { "minzoom": 5, "maxzoom": 10, "simplify_below": 14, "simplify_level": 0.0001, "combine_below": 11, "write_to": "streets" } }, "settings": { "minzoom": 0, "maxzoom": 14, "basezoom": 14, "include_ids": false, "combine_below": 14, "name": "Shortbread", "version": "1.0", "description": "Tile config for a simple vector tiles schema", "compress": "gzip", "filemetadata": { "tilejson": "2.0.0", "scheme": "xyz", "type": "baselayer", "format": "pbf", "tiles": [ "https://example.com/liechtenstein/{z}/{x}/{y}.pbf" ] }, "metadata": { "author": "OpenStreetMap contributors, Geofabrik GmbH", "license": "Open Database License 1.0" } } }If I create vectortiles with Tilemaker using shortbread-tilemaker commit 914f335e485d0368dcda82c59b3a43ec18663431, it generates a streets layer for zoom levels 5 to 14 but the metadata expose it as zoom level 14 to 14 only.
The second command is expected return 5 (smallest minzoom of all layers written to
streets) but returns 14 (minzoom ofstreets) is returned. Some tools like Geoserver seem to rely on the metadata JSON.This bug can be reproduced with Tilemaker 3.2 and current master (facdf93).
shortbread-tiles/shortbread-tilemaker#52 shortbread-tiles/shortbread-tilemaker#47