VapourTrail is an interactive bus map made from OpenStreetMap data.
VapourTrail aims to be a large scale or local solution for visualizing bus lines from OpenStreetMap data.
Vapour Trail is made of:
- a tileset of map vector tiles
- an API to query bus routes and stops
- a web front-end that turns the tiles and API into an interactive map
You will need docker and docker-compose.
- Grab some OSM data (in
.osm.pbf
format) and put the file into theimposm/import/
directory - Start the services with
make run
- Import or update the OSM data with
make update-data
You can then browse your interactive map at http://localhost:8082/
Troubleshooting:
If you have performance issues, you may want to pre-generate the tiles before using the front-end : make generate-tiles bbox=minlon,minlat,maxlon,maxlat
If you are on a small area or network, you can create and use a static version (that can work without its database, tile server and API):
- start the services with
make run
- import data:
make update-data
- generate tiles for your area of interest:
make generate-tiles bbox=minlon,minlat,maxlon,maxlat
- prepare static publication:
make prepare-static static_url=http://localhost/
- you can now deploy and serve the
static
folder
Behind the scenes, Vapour Trail uses
The API is available at http://localhost:5000
.
The tiles rendered by t-rex are available at http://localhost:6767/
.
The displayed map used bus vector tiles served by the t-rex server and Jawg vector tiles with a custom theme for the background style.
While the t-rex tiles server is running you can upload glstyle.json
to the online Maputnik Editor, make your changes and export it back to the project.
This project has been developed by the Jungle Bus team. Please reuse!
The code in this repository is under the MIT license.
This project relies on OpenStreetMap data so you need to credit the contributors. We propose the following wording: Jungle Bus © OpenStreetMap contributors
If you value this work, show your support by donating to the OSM French local chapter.
🎼 There's a monkey in the jungle watching a vapour trail 🎶
🎵 Caught up in the conflict between his brain and his tail 🎜