← 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. 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.

Analyzed area

Most cities are fetched as a disc around the registered center (default 6 km, grown to cover registered neighborhoods); selected cities use municipal boundaries. Analysis is restricted to the urban core. Intersections are counted on a 400 m grid, cells below 25 intersections/km² are dropped, and the connected dense region around the center is kept. Sparse cells surrounded by dense fabric (at least 4 of 8 neighbors) are bridged across rivers, parks, and rail yards. On the region map, shading marks the analyzed core, the ring marks a disc window, and circles mark neighborhoods. The same density rule is used everywhere, but disc and boundary inputs are not interchangeable; raw counts and area-normalized metrics remain sensitive to extent.

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.

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, and disc clipping can bias it toward the center.

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; 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. A disc study area's fetch radius grows when necessary to contain its registered neighborhoods; a boundary study area remains limited to its fetched boundary. 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 42 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.
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.
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. It is extent-sensitive because disc and boundary inputs can cover different kinds of windows.
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.
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.
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 named administrative or borough unit. 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²)
Number of retained 400 m × 400 m urban-core cells multiplied by 0.16 km². It is the denominator for core-area density metrics.
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.

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.
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.