Has anyone published a reproducible workflow for turning NPMRDS 5-min speeds into time-dependent edge costs for pgRouting 3.6 or ArcGIS Pro 3.3 Network Analyst? I’m building AM/PM profiles on a TMC-to-OSM conflation for Phoenix using Jan-Mar 2025 NPMRDS and seeing ramp segments over-penalized when bins are missing; sample scripts or schema tips to smooth gaps without biasing peak flow would help.
I hit the same thing in Phoenix; to stop “ramp segments over-penalized when bins are missing,” I impute each missing 5‑min ramp bin with the hour‑of‑week median for that TMC, cap it at 0.85× the concurrent upstream mainline speed and never below 0.6× FFS, then smooth with a 3‑bin rolling median before aggregating to AM/PM for pgRouting 3.6… On Jan–Mar 2025 this kept ramps realistic without flattening the peaks. Are you tying each ramp TMC to a single feeder OSM edge or blending multiple?
For ramps, I’ve had better luck with a spatially aware fill: for each missing 5‑min bin, take a LOESS‑smoothed speed from the upstream and downstream TMCs on the same ramp set (think “borrow from the neighbors,” not the whole city), then clamp the imputed speed between the ramp’s free‑flow speed and 0.9× the adjacent mainline’s P85 so short segments aren’t punished. In pgRouting 3.6 I store a 288‑int array of milliseconds and select the bin via a tiny SQL function, and I add a coverage_pct field so Network Analyst evaluators fall back to free‑flow when “coverage < 60%”. If you want, I can share a tiny Postgres function and schema snippet.