Home
Softono
safe-cycling-map

safe-cycling-map

Open source JavaScript
39
Stars
2
Forks
5
Issues
6
Watchers
2 years
Last Commit

About safe-cycling-map

Safe Cycling Map is an interactive web map that visualizes how safe streets are for cycling based on configurable metrics using OpenStreetMap data. The application renders individual bike lanes and roads when zoomed in, and color-codes streets by safety ratings at lower zoom levels. The rendering pipeline relies on osm2streets to process OpenStreetMap geometry into bike infrastructure, served as vector tiles through a companion backend tileserver. The front-end is a React application that displays the map in the browser and reloads during development. A documentation key explains how the arbitrary safety scores are calculated. The project is an ongoing side project, with the developer noting the safety ratings are not guaranteed accurate and should not be relied upon for life-safety decisions. Users who spot mislabeled streets are encouraged to fix the underlying data directly in OpenStreetMap. The map is licensed under GNU GPL v3. Modern web tools power local development with Node Version Manager for environ

Platforms

Web Self-hosted

Languages

JavaScript

Safe Cycling Map

A map showing how safe a street is for cycling, based on (arbitrary) metrics. See the key for how street safety is calculated.

This is a work in progress side project. This data is not guaranteed to be accurate.

When zoomed in close, individual road and bicycle lanes are shown. When zoomed out, streets are coloured by their safety ratings.

Disclaimer

Warning: This is an arbitrary rating system. Data is open source and not guaranteed to be accurate.

This map uses OpenStreetMap data. It is not a complete or accurate map of the world and should not be used in such a manner that deficiencies, omissions, inaccuracies or errors could result in death, loss or injury. The maps are an iterative ongoing work-in-progress and everyone is welcome to contribute editing the OpenStreetMap data if you spot inaccuracies. (warning courtesy of CyclOSM)

Contributing: Found a mislabelled street? You can fix it!

Head to https://bikemaps.org/blog/post/improving-bicycling-data-on-openstreetmap for instructions on how to fix OpenStreetMap data.

Screenshot of map

A map of bike infrastructure using osm2streets output.

Uses osm2streets-vector-tileserver, a vector tileserver I wrote to generate Protobuf GeoJSON vector tiles using the JS bindings to osm2streets (which is written in Rust).

Local development

See instructions for setting up the backend tileserve at https://github.com/jakecoppinger/osm2streets-vector-tileserver

Install packages: nvm install npm i --legacy-peer-deps

Run dev server: npm run start

Runs the app in the development mode.
Open http://localhost:3000 to view it in the browser.

The page will reload if you make edits.
You will also see any lint errors in the console.

npm run build

Builds the app for production to the build folder.
It bundles React in production mode and optimizes the build for the best performance.

License

GNU GPL v3