cagov / caldata-mdsa-caltrans-pems

CalData's MDSA project with Caltrans on Performance Measurement System (PeMS) data
https://cagov.github.io/caldata-mdsa-caltrans-pems/
MIT License
2 stars 0 forks source link

Bottleneck Spatial Extent #255

Open britt-allen opened 1 week ago

britt-allen commented 1 week ago

Bottleneck Identification Algorithm The PeMS system runs a bottleneck identification algorithm every day. The original algorithm was presented in, "Systematic Identification of Freeway Bottlenecks," by Chen, C., Skabardonis, A., Varaiya, P. (2003). Transportation Research Board, 2004.

This algorithm attempts to identify bottlenecks on the freeway system at every detector. At a high level, a bottleneck exists at a particular detector when there is a persistent drop in speed from the current detector to the detector immediately upstream. Specifically we have the following defining conditions:

There is a drop in speed of at least 20 mph. The speed at the current detector is less than 40 mph. The detectors are less than 3 miles apart. The speed drop persists for at least 5 out of any 7 contiguous 5-minute data points. When localizing PeMS to metric units these thresholds are translated directly. If all of these conditions are met then we declare that there is a bottleneck at this location that has been activated for all of the 7 5-minute time points (technically the bottleneck is between these two detectors - we don't know where exactly. We declare that the bottleneck is at the detector where the speed has dropped.) We perform this analysis for each of three time periods: AM shift (5am-10am), noon shift (10am-3pm), and PM shift (3pm-8pm). For each location where a bottleneck is activated we compute the following:

Bottleneck (Spatial) Extent: For each 5-minute period when the bottleneck was active we see how far upstream the bottleneck extends. For this, at each time point, we find the farthest upstream detector with speed less than 40 mph and use that location as the extent during that 5-minute period. To get a single extent for the entire bottleneck, we take the median of the extents for each 5-minute period.

Related to issue #186 and #256

britt-allen commented 5 days ago

Add a "shift" column to determine which of the 3 shifts a bottleneck is in