Skip to content

Latest commit

 

History

History
25 lines (13 loc) · 2.16 KB

STRUCTURE.md

File metadata and controls

25 lines (13 loc) · 2.16 KB

Project Structure

Overview

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 client-side style

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.

Street Spirit vector tiles

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 vector tiles

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.

Database loading

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.