Part 3: Technical overview
- Neighborhood connectivity
- Predicting rat-runs
- Defining a neighborhood
- Assessing overall impact
- Heuristics for placing filters
Architecture
OpenStreetMap into a graph
- Edges: road segments
- Nodes: junctions
- one-way streets, lane configuration
A neighborhood
- the perimeter
- usually “major” roads designed to handle more traffic
- the interior
- reduce traffic through here
Cells
Everywhere reachable by driving within the neighborhood, without leaving
Cells
Disconnected cells
- A cell must touch the perimeter somewhere!
- Otherwise, drivers can’t get in / out
Calculating cells
- Pretty straightforward graph floodfill
- Start from an unvisited road segment in the interior
- expand
- don’t cross modal filters, non-driveable roads, or the perimeter
Floodfill
Floodfill
Floodfill
Floodfill
The result
The graph of the neighborhood partitioned into strongly-connected components
Cells as areas
Can we match this?
Voronoi diagrams
(Balu Ertl on Wikipedia, CC BY-SA 4.0)
Not straightforward to apply to line segments
Approximating with grids
- Diffusion on a 10 meter grid
- Stop when there’s a collision
- Record the adjacency for the 4-color theorem
Approximating with grids
Approximating with grids
Approximating with grids
Approximating with grids
Marching Squares to turn the grid into nice contours
Edge cases with calculating cells
One-way streets
Edge cases with calculating cells
Roads without motor vehicles
Edge cases with calculating cells
Is this one cell?
Edge cases with calculating cells
Does this path leave the neighborhood?
Edge cases with calculating cells
Decision: separate cells
Predicting rat-runs
- What’s a rat-run?
- Why are some streets quiet?
Predicting rat-runs
Rat-run definition
- A shortest path starting and ending on the perimeter road
- Not the bigger picture
- Does this path save somebody time?
- How many people might take this shortcut?
Rat-run definition
- The start and end must be on different roads
- Name changes
Rat-run definition
In freeflow conditions, the perimeter road is faster
Rat-run definition
Force the shortest path to stay inside the neighborhood
Rat-run results
Rat-run results
Rat-run results
Defining a neighborhood
Defining a neighborhood
- This process will cross railroads, water
- If it didn’t, we’re fine with heavy traffic on the nearest local road
Defining a neighborhood
Sometimes major roads just end
Defining a neighborhood
Spaces in between motorway loops or dual carriageways
Boundary adjustment
- Plenty of reasons the heuristics aren’t perfect
- Road classification varies regionally
Boundary adjustment
Maybe road classification is worth revisiting!
- Different priorities about moving vehicles through an area
- Should that high street also be a through-route?
- Lots of resistance to LTNs is really resistance to the chosen boundary
Boundary adjustment
Don’t be too prescriptive; let users adjust
Boundary adjustment
Boundary adjustment
- Per block
- Partitioning into contiguous neighborhoods
- Adding a block to one neighborhood removes it from another
Blockfinding
- Trace around the edge of a road
- Uses the shape of roads and intersections, inferred from OpenStreetMap
- A block internally tracks a list of (road, left/right)
Merging two blocks
- Find the common slice of the perimeters
- “Rotate” the perimeter until the common part matches up
- Slice and stitch together
Merging two blocks
Merging two blocks
- Collapsing dead-ends
- Clockwise and counter-clockwise blocks
Blockfinding limitations
Only traces roads, not natural features
Blockfinding limitations
Edge of the study area
Blockfinding limitations
- Bridges / tunnels
- Trace the 2D area of the planar graph?
- Skip them?
Blockfinding limitations
Blockfinding limitations
You can’t always draw the boundaries you want
Assessing overall impact
- Show all rat-runs at once
- Rank neighborhoods by number of internal rat-runs
Assessing overall impact
- Is the rat-run realistic?
- How many people will try to take it?
- With new filters, how will traffic detour overall?
- Maybe spillover to another neighborhood
Assessing overall impact
- Where do driving trips begin and end?
- For neighborhood-scale detours, MSOA zones are too large
Assessing overall impact
- Calculate all driving routes before and after filters
- Look for quieter and busier streets
Assessing overall impact
- 2011 census data, commuting for work only
- Urban Observatories traffic counts
- Calibrate / validate
- Where do the 5,000 vehicles/hour along a road start and end?
- Bring your own demand model (doesn’t need to be public data)
Heuristics for placing filters
Heuristics for placing filters
- Human judgment
- Prioritize near parks, areas with prior problems
- Can the bin collection truck turn around?
- The use of automation
- Seed ideas
- Choice overload
Where should the filter go?
Where should the filter go?
- Greedy: the road with the most rat-runs
- Whack-a-mole
Where should the filter go?
- Only one entrance per cell
- Expensive, likely unpopular
- Very different results for residents
- Simpler crossings along the perimeter
Heuristics for placing filters
Split large cells (intuition)
Heuristics for placing filters
Minimum cut of the graph
Heuristics for placing filters
- Trivial solutions near the perimeter
- How large are the two resulting cells?
Heuristics for placing filters
Gridded streets?
Heuristics for placing filters