Dynamic Bus Routing – PROGRESS

Current progress on the Urban Data Model (UDM) Platform and the Dynamic Bus Routing prototype. See the roadmap for the ongoing development of the UDM. Here is a video showing the current state of the simulation running.

The Dynamic Bus Routing prototype has now implemented the following feature:

  • loading of street network from a postgis database
  • bus traversal on the street network
  • definition of catchment zones based on Voronoi analysis of bus current route nodes
  • assignment of riders for pickup which fall into those zones
  • rerouting based on new rider pickup locations, and drop of locations once rider is picked up

Next steps include:

  • Fix the voronoi polygon union issue – current approach (polygon -> multipolygon) is fast but creates a bunch of strange boundary lines that are very distracting. Need to find a better solution for joining all the polygons to draw clean boundary lines between bus catchment zones!!!
  • Work on display layer issues, possibly using PGraphics objects to create multiple display “layers” – i.e. a UI layer on top, followed by an annotation layer, a draw layer, and finally a background layer on bottom.
  • Providing a rider handling system so that certain bus catchments don’t become too large (solving the problem that as more riders are assigned, the catchment becomes larger, causing more riders to be assigned, and so forth)
  • Build animation output
  • Providing some toggles for display styles
  • Add a UI library

Dynamic Bus Routing

Examples of the simulation of a dynamic bus routing system running on the streets of Chicago. Work completed by Profs. Thomas Kearns + Jordan Kanter and students Adam Weissert, Haidong Fei, and Li Gong as part of the Urban Data Model Prototype Studio at IIT in 2013-2014.

image135
whiteboard systems diagram: interaction of bus, rider, and street network objects in simulation

image136
bus routing diagram: indicating the process of describing catchment zones based on an updated voronoi diagram of current bus route to determine which bus in the system to assign a new pick-up to and thus rerouting the buses

image137
process for generating riders (pickup location + destination) based on analysis of demographic data

 

image138
process of assigning weighted lengths for each edge in the street graph based on various city data and spatial inputs: number of street trees, sidewalk widths, pothole complaints, expected ridership, etc.