← Home

City Streets

What this is

Most metrics use OpenStreetMap networks and a global elevation model. Registry data supplies population and land area; Walk Score supplies optional Walk Score®, Bike Score®, and Transit Score® values; national statistical agencies supply commute modal shares. The central model treats each study area's streets as a probability measure over directions in 3D. The method extends Boeing, "Urban spatial order: street network orientation, configuration, and entropy," Applied Network Science 4:67 (2019). This release covers 133 study areas, including five explicitly labeled New York City boroughs. A missing value (—) means unavailable or inapplicable, not zero. The metric glossary defines every Compare axis. Disclaimer: These descriptions were largely generated by an LLM and so there might be slight inaccuracies or linguistic quirks.

Analyzed area

Study window. Every study area is its city limits, clipped exactly to the OpenStreetMap boundary polygon; enclaves such as Hamtramck inside Detroit are excluded. Where the municipality is not what people mean by the city, the window is a documented union of official units. Examples: Tokyo's 23 special wards, Greater London, Beijing's six central districts, central Shanghai, Sydney's Eastern City District, Copenhagen with its enclave Frederiksberg, Ottawa with Gatineau, Cairo with Giza, and Las Vegas with the unincorporated towns that hold the Strip. The city page names each choice. Province-sized units, such as Kinshasa or Giza's desert, are clipped to 60 km from the center, beyond the reach of any urban core.

Water is not land. Open water is removed from every cell: the sea, from OSM's coastline-derived land polygons, and lakes, rivers, reservoirs, and docks, from OSM water areas. It is rasterized at 50 m. A harbor or bay inside the city limits is therefore not analyzed area.

Urban core. Intersections inside the window are counted on a 400 m grid. Cells below 25 intersections per km² of land are dropped, and the connected dense region around the center is kept. A cell cut by the city limits or a shoreline is judged by its land part. Sparse cells surrounded by dense fabric (at least 4 of 8 neighbors) are connectors: they join the two sides of a park or rail yard but are not analyzed land. Dense fabric across open water up to 3 km wide is joined the same way, such as Istanbul's Asian shore across the Bosphorus or Kowloon across Victoria Harbour. The water becomes a connector, and only bridges and tunnels over it are kept. On the region map, shading marks the analyzed core, light shading marks connectors, the outline marks the study window, and circles mark neighborhoods.

Comparing areas of different size. Analyzed cores range from about 14 km² (Cambridge, MA) to 1,230 km² (Cairo with Giza). Core area counts only land inside the window, so densities are not diluted by the city edge or by water. Intersection degrees and road chains are read from the unclipped network, so the cut cannot create false dead ends or short "blocks". Shares, grades, and per-km² and per-km rates are intensive and compare across sizes. Whole-area φ and H₂D are not: pooling many local grids flattens the rose, so for non-grid cities they fall as the area grows. Local φ (2 km tiles) is the size-robust companion. Raw counts (major staircases, park km², core area) scale with area and are descriptive only.

Bearing, the rose, and entropy H₂D

Each street segment has a compass bearing; streets are bidirectional, so every segment contributes its bearing and the opposite direction. Binning length-weighted bearings into 36 wedges of 10° gives the rose (see the gallery); its Shannon entropy measures directional spread:

H = −Σ pᵢ ln pᵢ   reference: ln 4 ≈ 1.386 (one ideal orthogonal grid); maximum: ln 36 ≈ 3.584 (uniform)

The city-page polar plot is a closely related axial marginal of the 3D measure: 36 five-degree bins on [0°,180°), mirrored for display. The gallery rose is the 36-bin, full-compass distribution used for H₂D and φ.

Orientation order φ

φ = 1 − ((H − ln 4)/(ln 36 − ln 4))²

φ = 1: one perfect grid. φ = 0: bearings are uniformly distributed. Note φ measures single-grid alignment: a study area made of several differently rotated grids can score low even when each local patch is gridded.

Direction measure on the sphere

The 3D extension: each segment's full direction — bearing and grade angle — is a unit vector d = (cos g sin b, cos g cos b, sin g). Reversing the street negates it, so directions live on the projective plane ℝP² = S²/{±1}: each study area is an empirical probability measure μ = Σ wᵢ δ[dᵢ], weights ∝ street length. A flat orthogonal grid occupies two projective direction classes — four antipodal directions when drawn on S² — while nonzero grades move mass away from the equator.

Real streets rarely exceed ~50% grade (26.6°), so the measure is binned on the band |sin g| ≤ 0.447 with equal-area tiles — the tile sphere and unrolled heatmap on each city page. Steeper mass (sanitized at 60%) collects in the top band ("grade ≥ …%+"). H sphere is this binned measure's normalized entropy: 0 = one tile, 1 = uniform over the band.

Orientation tensor: vertical energy & sphericity

Binning-free counterparts from the second moment T = Σ wᵢ dᵢdᵢᵀ / Σ wᵢ, eigenvalues τ₁ ≥ τ₂ ≥ τ₃ (sum 1): displayed vertical energy % = 100T₃₃, where T₃₃ is the mean squared vertical component of street direction (exactly 0 for a flat city); sphericity = τ₃/τ₁ (0 when directions lie in some plane, including any perfectly flat network; 1 when the tensor has three equal eigenvalues). Sphericity describes second-moment isotropy, not randomness by itself.

Grid angle θ*

The phase of the 4-fold circular moment Σ wᵢ e^{4iθᵢ} of the bearing measure — "which way the dominant grid is rotated," in [0°, 90°). The value is unstable when a study area has no strong four-fold orientation, so it should be interpreted together with φ.

Curviness (turn rate) & road-chain length

Circuity measures how far a road wanders; turn rate measures how sharply it bends. Road chains are maximal paths through degree-2 nodes. They join OSM way splits but stop at intersections; ramps (highway=*_link) and roundabouts are excluded. Turn rate is the degrees of mid-road turning per 100 m. Curvy share is the fraction of length on chains at least 100 m long that turn at least 15°/100 m. Mean road-chain length is the average maximal chain length, not a cadastral block measure.

Hilliness

Per-segment grade is rise/run from a 30 m-class elevation model (AWS terrarium tiles). Bridges, tunnels, segments shorter than about 15 m, and grades over 60% are excluded. hilly % = length-weighted mean |grade|; >8% len = share of length steeper than 8%. City pages show a hill fan at 3× angular exaggeration and the grade distribution.

Walkability & staircases

Computed on the pedestrian network. A staircase's grade comes from its tagged step count (≈0.17 m/step) or the elevation model — never rise/run of its tiny footprint. A way-level step count is distributed over that way's full length, so splitting the OSM way into several segments does not multiply the staircase's rise. walk hilly % is the mean |grade| a pedestrian faces, staircases included.

A staircase is a connected component of step segments, so one staircase split among several OSM ways counts once. A major staircase has at least 30 m of mapped stair length; the same rule applies everywhere.

Raw and area-based counts depend on the analyzed extent. Major stairs / km of walkable street is the primary comparable rate; major stairs/km² remains available but is marked extent-sensitive. Step mapping also varies by region.

Network character: signals, one-way, bridges, connectivity

signals/km² — traffic signals (highway=traffic_signals nodes) per km² of urban core; signals/intersection normalizes by intersection count. one-way share and bridge share are length-weighted shares of the drive network. 4-way % (the grid hallmark), dead-end share, mean streets/intersection, and OSM-way circuity (each non-loop way's recorded length ÷ the distance between its endpoints, aggregated length-weighted) complete the connectivity picture.

Population & density

Population and land area, where available, are approximate registry values — labels, not measurements — chosen as a consistent pair for the same administrative or borough unit. Thus pop/km² = registry population ÷ registry land area. It is not divided by the analyzed-core area, which is a modeled street-network window rather than the administrative unit represented by the population. Computed densities over the core — intersections/km², street km/km² — are separate, fully-measured metrics.

Mobility: OSM infrastructure shares vs Walk Score®

Two distinct families. OSM infra shares are the share of all drive-network length whose tags record sidewalk / bike / transit-lane provision (including shared bike provision); untagged length is counted as not recorded. They are transparent and global, but measure OSM mapping as well as physical infrastructure. Walk Score® / Bike Score® / Transit Score® (shown when fetched) are the official amenity-proximity indices from Walk Score (Redfin): point-based, so a city's value is the mean over sampled urban-core points and a neighborhood's is its center point. The API's documented coverage is US/Canada, so the export suppresses cached values elsewhere; unavailable values appear as "—". Scores are provided by Walk Score.

Commute modal share (official census data)

A third family, separate from both of those: how a city's working residents usually get to work, as published by national statistical agencies. These are census or survey answers about people, not measurements of streets, and they use each agency's own geography for the city rather than the analyzed urban core: a Census place, borough, or consolidated city in the U.S., a census subdivision in Canada, a local authority in England, and so on. Where a study area is a union of official units, for example Las Vegas with Paradise and Winchester, Sydney's nine councils, or Ottawa with Gatineau, the units' counts are summed.

Five shares. Walk, bicycle, public transit, car (driver or passenger, including vans and trucks), and work from home, each a percentage of the source's workers. Taxi and ride-hailing, motorcycles, and other modes make up the remainder. Where respondents report several modes, a journey counts as transit if it uses any public transport, otherwise car, otherwise bicycle; only "walked only" counts as walk. Answers of "not stated" or "did not go to work" are left out. A mode a source does not publish appears as "—", never as zero.

Definitions differ. U.S. figures pool five survey years (2020–2024) of workers aged 16 and over; most others come from a single census, with its own age floor and question wording. Each figure has one of three bases. All workers follows the ACS definition and includes people working from home. Commuters only sources count only people who travel to work, which raises every other share. Multi-response sources let respondents name several modes, so their shares can add up to more than 100%. A few tables also count students travelling to school, or fold cycling or walking into a wider category; such shares are left blank rather than estimated. Censuses taken under COVID-19 restrictions carry a ⚠ flag: working from home is inflated and transit depressed compared with normal years. Each city page names its source, period, geography, and basis, notes any such exception, and links to the published table.

CountryAgency and datasetPeriodBasisLicence

On-street parking (estimated)

Of the paved roadway on streets where parking is mapped, the estimated fraction taken up by parking lanes rather than travel lanes — "how much of the asphalt is parking." OSM almost never records physical width, so widths are standard estimates: a parking side ≈ 2.0 m parallel / 4.3 m diagonal / 5.0 m perpendicular, a travel lane ≈ 3.0 m (lane count from the lanes tag, else 2). Both the parking:<side> and older parking:lane:<side> schemes are read; both-side / one-side shares are the mapped-street length parked on two / one sides.

OSM parking coverage varies widely. The estimate uses only mapped streets and appears only when at least 30 km of street has parking tags. Mapping coverage is shown alongside it; estimates below the 30 km threshold are left blank.

Parkland

How much of the analyzed land OSM tags as park-like: the total area of selected park polygons and their share of the urban core. The selected tags are leisure=park, nature_reserve, common, dog_park, garden, and landuse=recreation_ground / village_green. The metric does not independently verify public access.

Park area is a 20 m raster union, so overlapping polygons count once. Multipolygon holes are removed before the union. The raster uses the same grid as the urban core and is clipped to it.

All green space also includes sports pitches, playgrounds, golf courses, forest, meadow, and amenity grass. Neither measure guarantees public access or captures unmapped or differently tagged land, and the 20 m raster limits precision.

Traffic proxy (betweenness)

No globally consistent observed street-level traffic source is used. Sampled betweenness centrality counts how many sampled shortest paths cross each street and serves as a through-traffic proxy. It is modeled, not observed. It runs on the drivable network of the whole study window plus the margin downloaded around it, so streets near the city limits keep their through-routes. It is not size-neutral, though: a larger city allows longer trips, which concentrate on arterials.

Wasserstein and Jensen–Shannon

Raw KL divergence is unsuitable for direction measures: asymmetric, infinite whenever one study area has mass in a bin the other leaves empty, and geometry-blind — it does not know that two neighboring direction bins are close. Wasserstein is built on the sphere's metric, so nearby directions cost little — which is what "similar street plans" should mean. Jensen–Shannon divergence is symmetric, finite, and rotation-aligned here. It measures bin overlap rather than geometric transport. High JS with low W₂ means different exact directions but similar overall shape.

Similarity distances

Normalization: each kind lives on a ground space with its own diameter (π/2 on the projective sphere; 90° on the bearing circle; 26.6° on the grade interval). Each Wasserstein matrix is divided by its ground-space diameter, while JS is divided by its bound ln 2, putting every displayed matrix in [0,1]. This gives a common nominal range, but the four distances answer different questions and equal numerical values need not have equal substantive meaning. The MDS embedding places study areas in the plane to approximate the selected pairwise distances; Compare also ranks every city pair (most and least similar first), and each city page lists nearest neighbors under every distance. In compare overlays, each rose is drawn as a stepped outline in absolute √proportions (weights sum to 1 per city), so directional concentration compares directly across cities.

Neighborhoods

The release has 32 registered circular neighborhoods across 6 study areas. Each is sliced from its study area's cached drive and walk networks and receives a rose, φ, turn rate, hilliness, staircase measures, mobility shares, and Walk Score® fields when available. Neighborhood values use the neighborhood circle rather than the city's urban-core mask and should be compared at that smaller scale.

Metric glossary

This glossary covers all 49 scalar axes offered in Compare. Unless a definition says otherwise, network metrics use the analyzed urban core. Length shares use street-segment length as their weight. Compare displays stored fractions as percentages; a missing value is omitted rather than treated as zero.

Orientation and 3D direction

φ order
Boeing's orientation-order transform of H₂D: 1 − ((H₂D − ln 4)/(ln 36 − ln 4))². The calibration assigns 1 to one ideal orthogonal grid and 0 to a uniform 36-bin bearing distribution.
H₂D entropy
Shannon entropy, in natural-log units, of the length-weighted bidirectional street bearings in 36 full-compass bins of 10°. The ideal-grid reference is ln 4 and the uniform upper bound is ln 36. Computed over the whole study area, so it rises with area for cities whose local grids point different ways.
Local φ (2 km tiles)
φ computed separately in each 2 km × 2 km tile of the core grid (tiles with at least 2 km of street), then averaged with street-length weights. It asks how ordered a typical neighborhood-sized patch is. Unlike whole-area φ, it does not fall just because a larger study area pools more differently oriented grids. Pittsburgh's whole-city φ is 0.02, but its patches average about 0.34.
Local H₂D (2 km tiles)
H₂D computed in the same 2 km tiles and averaged with street-length weights.
H sphere
Shannon entropy of the length-weighted bearing × absolute-grade measure after coarsening to 36 azimuth by 9 equal-area vertical bins, divided by ln 324. It ranges from 0 for one occupied bin to 1 for equal mass in every bin of the modeled band.
Vertical energy (%)
One hundred times T₃₃, equivalently the length-weighted mean squared vertical component of the 3D street-direction vectors. It is 0 for a perfectly flat network.
Sphericity
τ₃/τ₁ for the descending eigenvalues of the orientation tensor. It is 0 when all directions lie in a plane and 1 when the tensor has three equal eigenvalues. It measures second-moment isotropy, not randomness by itself.
Grid angle (°)
The phase of the fourth circular moment of the bearing marginal, reported in [0°,90°). It estimates dominant grid rotation; when four-fold order is weak, the angle is not a stable summary and should be read with φ.

Grade, walking, and staircases

Hilliness (%)
One hundred times the length-weighted mean absolute rise/run grade over drivable segments with valid elevation. Bridges, tunnels, non-step segments shorter than 15 m, and grades over 60% are excluded from grade statistics.
>8% length (%)
Share of elevation-valid drivable street length whose absolute rise/run grade is greater than 8%.
Walk hilliness (%)
The hilliness calculation on the pedestrian network. For stairs, grade uses tagged step count at approximately 0.17 m rise per step over the full OSM way length when available, otherwise the sanitized elevation-model grade.
Staircases / km
Connected components of highway=steps per kilometer of ordinary street, pedestrian-street, and living-street length in the walk network. Separately mapped sidewalks, crossings, paths, and the stair lengths themselves are excluded from this denominator.
Major staircases (count)
Number of connected staircase components with at least 30 m of mapped stair length. Connected components prevent one staircase split across several OSM ways from being counted several times. A raw count: it grows with study-area size, so compare the per-km or per-km² rates across cities.
Major stairs / km street
Major-staircase count divided by the same walk-network street-length denominator used for staircases / km. This is the preferred fabric-normalized staircase rate.
Major stairs / km²
Major-staircase count divided by analyzed-core area (the in-window share of dense cells).
Mean staircase length (m)
Mean total mapped length of all connected staircase components, including both minor and major staircases.

Network geometry and connectivity

OSM-way circuity
Sum of recorded lengths of non-loop OSM ways divided by the sum of great-circle distances between each way's two endpoints. Values are at least 1; loops without two unique endpoints are omitted.
Turn rate (°/100 m)
Total change in bearing along maximal same-road chains through degree-2 nodes, divided by included chain length and scaled to 100 m. Chains break at intersections; ramps and roundabouts are excluded.
Four-way intersections (%)
Share of analyzed street nodes with degree other than 2 whose undirected street degree is exactly 4. The denominator also includes dead ends and other non-shape nodes. Degrees come from the unclipped network, so streets leaving the study area still count.
Mean road-chain length (m)
Mean length of the same maximal degree-2 chains used for turn rate. It is a network chain measure that resembles block length, not a cadastral block measurement. Chains are traced on the unclipped network; one cut by the study-area edge counts as the fraction of a chain lying inside, at its true length.
Traffic signals / km²
Count of OSM nodes tagged highway=traffic_signals inside the analyzed core, divided by core area.
Signals / intersection
The same signal-node count divided by the number of analyzed street nodes whose degree is not 2.
One-way share (%)
Share of drivable street length tagged oneway=yes, true, 1, or -1.
Bridge share (%)
Share of drivable street length carrying a nonempty, non-no bridge tag.

External labels and analyzed extent

Walk Score®
Official 0–100 Walk Score amenity-proximity index, averaged over the study-area center and up to 11 sampled urban-core cell centers. It is shown only where a supported US/Canada API result was fetched.
Bike Score®
Official 0–100 Bike Score returned for the same sampled points and averaged over nonmissing responses. Availability can differ from Walk Score.
Transit Score®
Official 0–100 Transit Score returned for the same sampled points and averaged over nonmissing responses. Availability can differ from the other two scores.
Population (approx.)
Approximate registry population for the same unit as the study window (for a union, the union's total; blank where no verified figure exists). This is contextual metadata, not computed from the analyzed network.
Population density (per city km²)
Registry population divided by its paired registry land area. It is not divided by the modeled urban-core area.
Analyzed core area (km²)
Sum over dense core cells of 0.16 km² times the share of each cell that is land inside the study window. Connector cells and open water are excluded. It is the denominator for core-area density metrics and is itself descriptive: it reflects how large the city is.
City land area (km²)
Approximate registry land area paired with the registry population for the same unit; it may be unavailable and need not equal analyzed-core area.

Commute modal share (official census data)

Walk commute (% of workers)
Share of the source's workers who usually walk to work, from the national statistical agency's latest city figure (definitions). Not derived from the street network.
Bike commute (% of workers)
Share of the source's workers who usually cycle to work.
Transit commute (% of workers)
Share who usually take public transport (bus, rail, metro, tram, ferry), including journeys that combine it with another mode.
Car commute (% of workers)
Share who usually go by car, van, or truck, as driver or passenger; taxis and motorcycles are excluded.
Work from home (% of workers)
Share who mainly work at or from home. Blank for sources that count only people who travel to work.

Network density and OSM-tagged infrastructure

Intersections / km²
Analyzed street nodes with undirected degree other than 2, including dead ends, divided by analyzed-core area. Degree-2 geometry points are excluded.
Street km / km²
Total drivable street-segment length in kilometers divided by analyzed-core area.
OSM-mapped sidewalk share (%)
Share of drivable street length whose OSM tags record a sidewalk on one or both sides, or record a separately mapped sidewalk. Untagged length remains in the denominator.
OSM-mapped bike provision (%)
Share of drivable street length whose tags indicate a shared bike facility, bike lane, or cycle track. Untagged length remains in the denominator.
OSM-mapped transit-lane share (%)
Share of drivable street length whose tags indicate a dedicated bus or public-service vehicle lane. Untagged length remains in the denominator.
OSM-mapped alley / drive length (%)
Length tagged highway=service plus service=alley in the walk network, divided by total drivable street length.
Mean lanes / road
Length-weighted mean of the first integer in the OSM lanes tag, calculated only over drivable segments where that tag can be parsed. Missing tags are excluded.

Parking and green space

On-street parking (% of asphalt, where mapped)
Estimated parking-lane area divided by estimated parking-plus-travel-lane area on parking-tagged streets. Standard widths are used; the value is blank unless at least 30 km of street carries parking tags.
Parking mapping coverage (%)
Share of total drivable street length carrying any recognized current or legacy OSM parking-side tag. This reports mapping coverage whether or not the 30 km display threshold for the asphalt estimate is met.
Parkland share of analyzed land (%)
Park km² divided by analyzed-core area. Selected OSM park-like polygons are unioned on a 20 m raster so overlaps count once; public access is not independently verified. A polygon over 1 km² whose interior is more street-dense than 1.1 times the city's median core density is treated as a legal or administrative overlay, not open space. Santiago's 104 km² "Humedal Urbano Río Mapocho" designation is the main case; real parks with internal drives stay well below that bar.
Parkland (km²)
Raster-union area inside the analyzed core of the selected OSM park, nature-reserve, common, dog-park, garden, recreation-ground, and village-green tags.
All green-space share (%)
All green-space km² divided by analyzed-core area under the broader definition below.
All green space (km²)
The park raster union plus selected OSM pitches, playgrounds, golf courses, forest, meadow, grass, greenfield, and allotment polygons. It describes mapped land cover or use, not necessarily public access.

Similarity outputs in Compare

Sphere W₂ — 3D
Debiased entropic 2-Wasserstein distance between 36 × 9 bearing × grade measures on ℝP², divided by π/2. Rotation alignment evaluates 8 candidates selected from 36 rotations, so this alignment is approximate.
Grid W₂ — 2D
Circular 2-Wasserstein distance between bearing marginals, minimized over every 5° axial bin shift and divided by 90°. It ignores elevation.
Elevation W₂
One-dimensional 2-Wasserstein distance between absolute grade-angle marginals, divided by the modeled 26.565° interval diameter. It ignores bearing.
JS divergence
Jensen–Shannon divergence between bearing × grade bins, minimized over all stored rotations and divided by ln 2. It measures binwise overlap and does not use geometric distance between neighboring bins.
MDS-1 and MDS-2
Coordinates from two-dimensional classical multidimensional scaling of the selected distance matrix. Axis signs and orientation have no intrinsic meaning; interpoint distances are the intended summary.

Sources & reproducibility

Street networks: © OpenStreetMap contributors, available under ODbL, via Overpass (drive + walk networks; snapshots currently from July–August 2026). Elevation: AWS Terrain Tiles (terrarium), bilinearly sampled and cached locally; the constituent terrain datasets and required credits are listed in the Terrain Tiles attribution. Basemap: Carto/OpenStreetMap. Methodology: Boeing (2019) extended to ℝP²; circular OT per Rabin–Delon–Gousseau (2011) / Delon–Salomon–Sobolevski (2010). Everything is cached and incremental — adding a study area is one command, with runtime depending on its extent and the remote data services; this dashboard reads only precomputed JSON. Built in Julia.

Commute modal share: adapted from the official statistics listed under commute modal share, each used under the licence shown there. Figures derived from Statistics Canada data (including summed census subdivisions) are adapted from Statistics Canada, 2021 Census of Population; this does not constitute an endorsement by Statistics Canada of this product. ONS data are licensed under the Open Government Licence v3.0. The tables are processed offline into percentages; no agency endorses this site.