Routes for walking to school

This script generates maps to analyze the potential walking routes for students to their school.

  • I excluded the addresses of the students from the repository.
  • The actual route generation is done with brouter (using the safety profile) and OSRM (for the boundary polygons), those are run locally in docker containers.
  • The basemap is pulled from Stadia Maps. The usage of the script is well within the free tier, you'll need an API key from them.

Data sources

Example figures

This script will generate a few figures:

A heatmap of student addresses:

example address figure

A map of all the walking routes within the walk boundary:

example routes figure

A map of those walking routes colored by the level of traffic stress to bike

example routes-lts figure

A map of cycling routes colored by the level of traffic stress to bike (with a 3 mile radius)

example routes-lts figure

Using make

  • make osrm-data: downloads the OpenStreetMap data for Wisconsin, and preproccesses it for use with OSRM.
  • make osrm-container: starts the OSRM containers (backends and frontends) for walking and biking.
  • make brouter-data: clones the repositories for brouter and brouter-web and downloads the segment data. It also builds the docker images for brouter and brouter-web.
  • make brouter-container: starts the brouter containers (backend and frontend).
  • make walk will run route_analysis.Rmd which calculates the walking routes using OSRM.
  • make cycle-osrm will run cycling_route_analysis.Rmd which calculates the biking routes using OSRM.
  • make cycle-brouter will run cycling_route_analysis_brouter.Rmd which calculates the biking routes using brouter.

What-if analysis

This allows you to make changes to the street network (add a bike path, reduce a lane on an arterial street) and see how it affects the routes that brouter chooses.

This is a multi-step process:

  1. Generate an OsmChange file for the changes that you want to analyze. Don't upload your hypothetical infrastructure to OpenStreetMap!
  2. Save that file as docker/brouter/osm_edit/changes.osc.
  3. make osm_edit_refresh_base will download a fresh copy of wisconsin-latest.osm.pbf and the elevation tiles for Wisconsin. You don't need to run this frequently.
  4. make osm_edit_generate_pbf will take those edits and apply them to the wisconsin-latest.osm.pbf and generate wisconsin-latest_edited.osm.pbf
  5. make osm_edit_generate_brouter will generate new brouter segment files from the edited pbf file.
  6. make osm_edit_brouter_containers starts the brouter backend and frontend using your newly created segment files with the edits you made. You can access the webui at http://127.0.0.1:8080

Misc.

OpenStreetMap Data

Description
No description provided
Readme GPL-3.0 56 MiB
Languages
Makefile 60.2%
R 39.8%