abstreet icon indicating copy to clipboard operation
abstreet copied to clipboard

Measuring risk exposure of pedestrians on crowded sidewalks

Open dabreegster opened this issue 2 years ago • 5 comments

Currently, the width of sidewalks doesn't matter at all in the traffic simulation, because pedestrians don't collide with each other: https://a-b-street.github.io/docs/tech/trafficsim/discrete_event/index.html#starting-simple-pedestrians. That was an easy first thing to implement, and it's realistic enough in places without much foot traffic. But there are plenty of places where the volume of pedestrians far exceeds the capacity of the sidewalk. When that happens, people walk slower than they might wish to, and some people will step onto the street temporarily to try to dodge the crowd. In some cities, there are substantial collisions and fatalities as a result. So widening sidewalks is an interesting intervention to consider.

Sidewalks can be widened in A/B Street today. The next step is to model pedestrian behavior on crowded sidewalks better. The really cool thing to do would be consider a social force model, but a more realistic task is to measure "risk exposure" events on crowded sidewalks. Michael and I made these in #600 -- when something potentially risky happens, we record the time, place, and person experiencing it, and then we have existing dataviz to understand patterns (#607, #622).

Detecting over-crowding events

pedestrian_ghosts

When two pedestrians collide like this, let's check the width of the sidewalk, and consider emitting a "overcrowded sidewalk" event. In reality, people might slow down a bit, or maybe step into the street to dodge someone else. It also has a bit of a social distancing / COVID implication (https://www.sidewalkwidths.nyc/#13/40.67924/-73.94357).

I think there's likely an efficient way to detect these events by solving a simple linear equation when people enter/exit a sidewalk lane. Can think about that later.

How this could be used

If we have a decent travel demand model, we can run a simulation, then look for hot-spots in the overcrowdedness risk exposure layer. Then widen sidewalks there, repeat the simulation, and expect to see the problem be reduced.

Better sidewalk width data

All sidewalks in A/B Street are a fixed width right now, because there's practically never easy data about their width. But sometimes a city has open data with a full vectorized curb -- Seattle, London, Sao Paulo. Ultimately I'd like to use this to properly represent complex 2D space -- https://github.com/dabreegster/dabreegster.github.io/issues/2. But in the short term, we could try to use it to calculate an average sidewalk width and update the A/B Street representation.

dabreegster avatar Feb 17 '22 13:02 dabreegster

@Robinlovelace , @lucasccdias https://a-b-street.github.io/docs/proposals/broadmoor.html#safety is the existing "risk exposure" dataviz that we do. If we add a new event for overcrowded sidewalks, do you think that would be a worthwhile result?

Also, if you have the vector data for curbs (or road/sidewalk width) in SP, please forward it

dabreegster avatar Feb 17 '22 13:02 dabreegster

Big thumbs up from me on this. Will aim to dig out an image of before/after change to highlight the issue. Good to have a concrete use case now!

Robinlovelace avatar Feb 17 '22 13:02 Robinlovelace

Time estimate on delivering this: I could add support for overcrowding events and plug into the existing risk exposure dataviz in 2 days of my uninterrupted time. We should discuss when I can secure these 2 days. :)

Depending what the curb data looks like and how interested @lucasccdias is in this kind of GIS work, I might suggest calculating width per sidewalk is a solid standalone task that could be done in any tool/framework.

dabreegster avatar Feb 17 '22 13:02 dabreegster

@dabreegster here are the links for the sidewalks and the streets vector data.

lucasccdias avatar Feb 17 '22 13:02 lucasccdias

Screenshot from 2022-02-17 13-42-01 WOW, someone's already done the work of creating individual sidewalk polygons and splitting them into pieces! I am super interested in their methodology (because I want this kind of data in any city).

So if we can match up sidewalk polygons in sw.gpkg with the objects in A/B Street and calculate minimum or average width of the polygons, then we could really improve the map model.

dabreegster avatar Feb 17 '22 13:02 dabreegster