The scope of this repository is tile generation based on the OpenSeaCharts tile schema.
Tip
You can download generated .osm.pbf, .mbtiles and .pmtiles files:
There are different ways to use the vector tiles.
PMTiles is a relatively new concept where no tile server is required. You can either download a pmtiles file and use it locally or use it directly from a web server that supports HTTP range requests. There is an online Style Editor with PMTiles support available.
You can download the generated MBTiles archives for offline usage.
If loading times are important to you, you can serve the tiles with your own tile server. Here are some example tile servers you can use:
- Tileserver-GL: Serve vector tiles from PMTiles or MBTiles and generate your own raster tiles on the fly.
- Caddy with the pmtiles_proxy plugin: Serve vector tiles from PMTiles via Caddy webserver.
- Martin: Serve vector tiles from PMTiles or MBTiles. Written in Rust.
Both scrips require osmctools to be installed.
sudo apt install -y osmctools- Use ./osm/create.sh to generate a new file.
- This will take a long time download, convert and extract data.
- You need to have at least 200GB free disk space.
- Use ./osm/update.sh to update a file.
- Do not use this to update a file that is outdated multiple weeks, create a new file instead.
We use tilemaker to split OSM data into Mapbox Vector Tiles that get stored in an MBTiles archive. All necessary files are located in ./tilemaker.
Tilemaker requires the --skip-integrity flag to run
successfully (docs).
The tile schema is defined via tilemaker config files:
- ./tilemaker/config.json that defines what layer should be included at what zoom level
- ./tilemaker/process.lua maps the relations to the corresponding mvt layers.
