Grassroots movement · Founded 2026 · Stockholm Sunday, May 31, 2026 SE EN

Methodology

How we rank Stockholm's streets

Overview

Gatuligan ranks 859 inner-city streets in Stockholm (inside the old toll boundary) based on five factors. Each factor is normalized to a 0–100 score with percentile ranking, weighted, and summed into a total score.

The higher the score, the better the street is to spend time on as a person, cleaner air, more greenery, more street life and less car traffic.

The five factors

20%

Air quality

Source: SLB-analys Kartläggning ABC 2025 (Stockholm Environment Administration)

Data: Modeled annual mean values for NO2 and PM10 in µg/m³, published as class intervals.

Method: The midpoints of the intervals are sampled every 10 meters along each street segment. Length-weighted average per street.

Limitation: The values are class intervals (e.g. "6–8 µg/m³"), not exact measurements. Streets within the same interval get an identical score.

20%

Traffic volume

Source: The Traffic Office's traffic-flow map (OpenStreetGS WFS)

Data: Annual average daily traffic (AADT), number of vehicles per weekday.

Method: Each street segment is matched to the nearest traffic-flow segment (within 50 m). Length-weighted average per street.

Limitation: The data comes from the 2014–2016 base year and may be out of date. Streets without a measurement point are excluded from the traffic factor (not penalized).

20%

Noise

Source: Bullerkartan 2022 (Stockholm Environment Administration, via ArcGIS)

Data: Modeled equivalent noise levels (LAeq, dBA) as polygon intervals (e.g. "55–60 dBA").

Method: The midpoints of the intervals are sampled every 10 meters along street segments. Length-weighted average per street.

Limitation: Based on 2019 traffic data, model-calculated. Temporary noise sources (construction, events) are not included.

30%

Street life

Source: OpenStreetMap (Overpass API, March 2026)

Data: Number of shops (shop=*) plus restaurants, cafés, bars and pubs (amenity=restaurant/cafe/bar/pub/fast_food).

Method: Amenities within a 15-meter buffer around each street segment are counted. Each amenity is assigned to its nearest street (avoiding double counting). Normalized per 100 meters of street length.

Limitation: OpenStreetMap data is collected voluntarily. Coverage varies, some areas lack data entirely. Streets with no amenities in OSM get 0 points.

10%

Greenery

Source: SBK tree-crown footprint 2022 (City Planning Administration, LiDAR scan)

Data: Individual tree-crown polygons (crown area >3 m², height >2 m) from laser data with >16 points/m².

Method: 15-meter buffer around each street. Tree-crown coverage is calculated as the ratio of crown area / buffer area.

Limitation: The data is from 2022 and does not capture trees planted or felled since then.

Scoring

Each factor is converted to a 0–100 score using percentile ranking among all streets:

  • A street with better air than 90% of all streets gets an air score of 90.
  • Factors where a high value = bad (air, traffic, noise) are inverted: score = 100 − percentile.
  • Factors where a high value = good (street life, greenery) are kept: score = percentile.

The total score is a weighted average. Streets that lack measurement data for a factor (e.g. traffic) are excluded from that factor, they are not penalized, but the average is computed over fewer factors.

Scope

The ranking covers Stockholm's inner city (roughly inside the old toll boundary / congestion-charge zone). The boundary is defined as a manually drawn polygon based on the toll-station locations.

The following are filtered out:

  • Motorways and arterials (e.g. Klarastrandsleden, Söderleden)
  • On- and off-ramps (e.g. Riddarfjärdspåfarten)
  • Bridges (e.g. Centralbron, Barnhusbron)
  • Interchanges and connections
  • Street segments shorter than 50 meters

Known limitations

  • Traffic data is old (2014–2016). Traffic patterns may have changed, especially after the pandemic and new traffic regulations.
  • Air data is coarse. Class intervals (e.g. "6–8 µg/m³") give an identical score to all streets within the same interval.
  • OSM data is uneven. Areas with active mappers have more registered shops/restaurants, which gives an artificially higher street-life score.
  • Time mismatch. Air data is from 2025, noise and trees from 2022, traffic from 2014–2016. The streets are compared using data from different years.
  • No account for street type. Alleys and boulevards are compared head-on, a narrow alley without trees is penalized as hard as a wide street without trees.

Open data and source code

All underlying data is open and free to use.

Have feedback, found an error, or want to contribute? Get in touch on r/BilfrittStockholm.