seattleAccessMap

Seattle's sidewalks are not equally accessible. People with mobility challenges face obstacles that most pedestrians never notice, like missing curb ramps, broken surfaces, and blocked paths. The Access to Everyday Life track's dataset from Project Sidewalk contains ~80,000 crowdsourced observations of sidewalk conditions in Seattle. Using this data, we built a system that (1) reveals where the problems are, (2) routes users around them, and (3) informs the city which sidewalks to prioritize fixing first.

Dataset & Cleaning

The Project Sidewalk dataset contains 6 label types. Each record also has coordinates, neighborhood, severity (1-5), and a temporary flag. From 81,973 raw records, we kept 79,722 after dropping rows with missing severity ratings.

Adjusted Severity Metric

Raw severity (1-5) doesn't account for the differences in the label types. A lack of a sidewalk is more impactful than a damaged curb ramp, even if both are rated severity 3. In fact, after investigating Project Sidewalk's labelling methodology (by labelling a couple of sidewalks ourselves!), we found that a severity 1 CurbRamp indicates the existence of a passable curb ramp (which is a good thing). We defined a normalized 0-10 scale with rescaling ranges based on real-world impact:

Label Range Rationale
NoSidewalk 5 - 10 Always significant; no sidewalk at any severity is impactful
NoCurbRamp 3 - 8 Missing ramp is always a real barrier
Obstacle 2 - 7 Obstruction; maps directly to impact
SurfaceProblem 1 - 6 Damaged surface; impactful but less severe
CurbRamp 0 - 5 Positive feature; ramp exists but may be degraded
Other 1 - 4 Miscellaneous; low weight

Map Visualization

We plotted every barrier observation directly on the map and color-coded each point by adjusted severity. We also added a heatmap layer to reveal areas with the highest overall concentration of issues.

Hotspot Clustering

We use HDBSCAN, an unsupervised ML clustering method, to identify barrier hotspots. This is useful for people wishing to avoid such areas, or for city planners looking to identify areas to prioritize. We identified 641 clusters.

We chose HDBSCAN because unlike k-means, it does not force every point into a group and it does not require a preset cluster count, which is helpful when hotspot density varies by neighborhood. We use the haversine distance metric to cluster based on accurate geographic distance.

Fix Priorities

Hotspots show where barriers concentrate, but we decided to take it one step further by identifying exactly which barriers produce the most day-to-day impact. We rank individual barriers by combining adjusted severity with how central their street segment is in the pedestrian network.

impact = adjusted_severity × log(1 + edge_usage)

We estimate edge_usage by sampling ~1,000 random nodes and computing shortest paths from each to every other node in the pedestrian network. We then count how often each street segment appears. This highlights barriers on important thoroughfares and connectors. The log keeps usage from overpowering severity, so a small issue on a busy street still ranks below a severe obstruction in a moderately used area.

The map highlights the top 200 barriers by impact. Ties are broken by higher adjusted severity, then by edge usage, ensuring that consistently disruptive barriers surface first.

Accessibility-Aware Routing

We built a route planner on the real Seattle pedestrian network (via OpenStreetMap/OSMnx). Each barrier is snapped to its nearest network edge, and the edge's accessibility cost is the sum of adjusted severities on that edge.

The routing algorithm is modified Dijkstra's: it expands outward from the start node, always picking the next unvisited node with the lowest cumulative cost so far, and relaxes edges to update the cheapest known path to each neighbor. Edge cost is a weighted combination of distance and barrier severity:

edge cost = distance + barrier_severity × cost1.5

The 1.5 exponent produces a smooth gradient of route alternatives across the tolerance slider. At one end, the route takes significant detours to avoid as many barriers as possible. At the other, it's the pure shortest path.

Key Findings

  • Barriers are not uniformly distributed, some neighborhoods are worse than others
  • Neighborhoods with the highest barrier count and highest average severity are often different
  • Accessible routes typically add 10-30% distance to avoid the worst barriers - a meaningful but manageable tradeoff
  • Fix prioritization shows that a small number of high-traffic barriers create disproportionate impact

Limitations & Potential Expansions

  • Coverage is uneven, so a low barrier count may mean good sidewalks or poor survey coverage
  • Our rescaled severity metric is a best effort guess and might not reflect real world experiences
  • Temporary barriers change and repairs happen
  • Barrier snapping to the nearest edge is approximate in dense areas
  • Potential expansions: elevation/slope data, transit connections, and demographic/equity analysis

Overview

--
Barriers
--
Visible
--
Avg Severity

Filter

0 10

Fix Priorities

Set Points

Accessibility Tolerance

Max accessibility Standard Fastest route

Data Insights

Summary statistics from 79,722 crowdsourced sidewalk accessibility observations across Seattle.

Loading analytics...

Adjusted Severity
0
10