Transit-oriented development checklist

Buffers, street connectivity, access to destinations, and minimum density thresholds.

By GeoLayers Team ~6 min read TOD Accessibility
Ad Slot – Leaderboard

1) Overview

Transit-oriented development (TOD) focuses growth around high-capacity stations and frequent bus corridors to maximise access, reduce car dependence and improve affordability. A practical TOD analysis should combine station buffers (walk sheds), street connectivity (how finely the grid connects), access to key destinations (jobs, education, health, retail), and minimum density thresholds to support viable transit and amenities.

Walk shed
5–10–15 min isochrones
Connectivity
Intersections/km², link–node ratio
Ad Slot – Rectangle

2) Station buffers (walk sheds)

Create network-based reach from each station/stop, not simple circles. Typical thresholds: 5, 10, 15 minutes at 4–5 km/h walking speed. Flag “core TOD” inside 10 minutes and “extended TOD” up to 15.

isochrones = network.isochrone(origins=stations, mode="walk", speeds_kmh=4.5, minutes=[5,10,15])
core_TOD   = isochrones[10]
extended   = isochrones[15]
Tip: For BRT or rail, consider weighting stations by frequency (peak headways) when aggregating scores inside the 10–15 min area.

3) Street connectivity

Fine-grained street networks support walking. Use these simple metrics inside the 10–15 min walk shed:

  • Intersection density (nodes with degree ≥3) per km²
  • Link–node ratio (street segments ÷ nodes)
  • Average block length (shorter is better)
intx_density = count(intersections_deg>=3, area=1km²)
ln_ratio     = segments / nodes
block_len_m  = mean(edge.length_m)

Aim for intersection density > 90–120/km² and link–node ratio ≳ 1.4 as a rule-of-thumb; calibrate locally.

Ad Slot – Rectangle

4) Access to destinations

Within the 10–15 min walk shed, compute reachable counts for priority POIs:

  • Jobs (employment centres or proxy via land use)
  • Education (primary/secondary/tertiary)
  • Health (clinics/hospitals)
  • Retail & daily needs
  • Parks & public facilities
access_index = zscore(jobs_15) + zscore(education_15) + zscore(health_15) + zscore(retail_15)
Tip: Cap extreme counts (winsorize) to avoid one mega-mall dominating the index.

5) Minimum density thresholds

TOD areas should commit to baseline intensity so transit stays viable:

  • Residential: e.g., ≥ 60–100 du/ha in core; ≥ 40–60 du/ha in extended
  • Non-residential FAR: e.g., FAR ≥ 2.0 in core; ≥ 1.0 in extended
  • Parking: apply shared-parking and TOD reductions (see Parking & Loading Calculator)
meets_TOD = (du_per_ha >= threshold_by_zone) && (FAR >= min_FAR) && (inside(core_TOD))

6) Implement in GeoLayers

  1. Open GeoAnalyst and add: stations, street network, POIs, zoning/parcels.
  2. Generate walk isochrones (5/10/15) via the TOD template in Use-case Playbooks.
  3. Compute connectivity stats within isochrones (intersection density, block length) and color-ramp the results.
  4. Aggregate POI access to a single index (jobs/education/health/retail).
  5. Apply density threshold filters from zoning or proposed envelopes; export PNG/PDF with legend.
{
  "name": "TOD Checklist",
  "isochrones": [5,10,15],
  "connectivity": ["intersection_density", "link_node_ratio", "block_length_m"],
  "destinations": ["jobs","education","health","retail","parks"],
  "thresholds": {"du_ha_core":80, "far_core":2.0, "du_ha_ext":50, "far_ext":1.0}
}

7) Field checklist (quick yes/no)

  • Station area mapped with 5/10/15-min walk isochrones (not circles)
  • Intersection density ≥ target; long blocks flagged for breaks
  • Access index covers jobs, edu, health, retail, parks
  • Zoning supports target DU/ha and FAR in core and extended zones
  • Parking reductions justified (shared-parking profile applied)
  • Exported map with legend + parameter JSON attached
Start with the TOD template

8) Common pitfalls

  • Using Euclidean buffers instead of network isochrones
  • Ignoring slope/grade or barriers (rail lines, highways)
  • Over-weighting a single mega-POI in the access index
  • Not aligning density thresholds with market feasibility and building envelopes
GeoLayers Team
We build practical geo-tools for planners, architects, surveyors and developers in South Africa and beyond.
Ad Slot – Rail
Ad Slot – Rectangle