A Free and Open-Source map style for the great outdoors.
Warning
This project is currently a Proof of Concept. It's a work in progress, so please treat it as such.
Outdoors combines a number of Free and Open-Source data sources and software projects, without which this project would not be possible.
- OpenFreeMap — Base vector tiles (OpenMapTiles schema) for the entire planet.
- Mapterhorn — Powers 3D terrain, hillshading & contour lines.
- Open GIS
- Tile Server - Outdoor-specific POIs, low-level paths & contours.
- Style Assets - Basemap style glyphs & sprites.
- © OpenStreetMap Contributors
- OpenMapTiles
- MapLibre Style Spec
- Planetiler
- maplibre-contour (contour-mvt-server)
npm install # Install dependencies
npm run build # Build `style.json` from `scripts/build.mjs` (also validates)The dev server uses the same compare app as the demo, with HMR support.
npm install # Install dependencies
npm run dev # Start Vite dev server + auto-build watcher# Validate
npm run validate:style # Validate `style.json` (MapLibre style spec)
# Sprites
npm run sprite:build # Build the outdoors sprite sheet from `icons/` into `dev/public/`
# POIs
npm run pois:schema # Regenerate `pois/pois-schema.yml` from `scripts/poi-config.mjs`
npm run check:pois # Sprite / kind-coverage / schema-sync checks
# Demo
npm run demo:build # Build demo (`demo/`)
npm run demo:preview # Preview demo
# Screenshots
npx playwright install chromium
npm run screenshots # Regenerate every shot in shots.json
npm run screenshots -- --name <id> # Regenerate a single shot by id