The Street Spirit contains the Street Spirit style with underlying vector tiles, code for generating Shortbread Tiles, and code for generating the underlying database that powers both.
Street Spirit has a client-side Maplibre GL style. The root file for this is style.yaml
which relies on the included files in /style/
. These files are built with Charites to produce the Maplibre style.
The client-side style is applied to vector tiles which are generated by Tilekiln with the configuration file spirit.yaml
. Layers are generated using the files in spirit/
.
Shortbread tiles implement the Shortbread tile schema, a basic, lean, general-purpose vector tile schema for OpenStreetMap data. Unlike the vector tiles used internally by Street Spirit, these tiles are written with the goal of being usable by many styles. The Tilekiln configuration is shortbread.yaml
with layer files in shortbread/
and shortbread_original/
. These files are based on ones generated by osm2pgsql-themepark and the files in shortbread_original/
have not yet been modified.
The database for both Street Spirit and Shortbread tiles is loaded with osm2pgsql, with utility scripts for other data sources like oceans. The lua transforms are spirit.lua
and shortbread.lua
. They rely on osm2pgsql themepark themes in themes/
and some themes in osm2pgsql-themepark itself. Some themes are common between the Street Spirit and Shortbread databases.
In the future there will be a lua transform which combines the Street Spirit and Shortbread ones, producing a database that can be used for either type of tiles.
Ocean polygons are loaded by scripts/get-external-data.py
as specified in external-data.yml
.