Skip to content

Walkability contour maps from government open data for rental search

pattern

Analyzing neighborhood walkability for rental properties requires manual research across multiple data sources

vibe-codingopen-datageospatialwalkabilitygithub-pages
21 views

Problem

When searching for rental properties, walkability is a key factor but hard to evaluate. You end up cross-referencing Google Maps, public transport timetables, and real estate listings manually. Each suburb requires checking train and tram routes, calculating walk times to stops, and comparing median rents -- a process that takes hours per area and still misses the spatial picture of how transit access radiates outward from stops.

Solution

Step 1: Source government open data

Most state and local governments publish transport and rental data as open APIs or CSV downloads.

# Example: Victorian government open data portal
curl -o gtfs.zip "https://data.ptv.vic.gov.au/downloads/gtfs.zip"
curl -o rental_medians.csv "https://data.vic.gov.au/rental-report-quarterly.csv"

Step 2: Generate walkability contours

Use Turf.js to create isochrone-style contour polygons around each transit stop at 5, 10, and 15-minute walking distances.

import * as turf from "@turf/turf";

function walkabilityContour(stopCoords, minuteRadius) {
  const walkSpeedKmH = 4.8;
  const radiusKm = (walkSpeedKmH * minuteRadius) / 60;
  return turf.circle(stopCoords, radiusKm, { units: "kilometers", steps: 64 });
}

// Generate 5, 10, 15 minute contours for each stop
const contours = stops.flatMap((stop) => [
  { feature: walkabilityContour(stop.coords, 5), minutes: 5 },
  { feature: walkabilityContour(stop.coords, 10), minutes: 10 },
  { feature: walkabilityContour(stop.coords, 15), minutes: 15 },
]);

Step 3: Overlay rental median data

// Color suburbs by median rent, overlay walkability contours
map.addSource("rental-medians", {
  type: "geojson",
  data: rentalGeoJson,
});

map.addLayer({
  id: "rent-heatmap",
  type: "fill",
  source: "rental-medians",
  paint: {
    "fill-color": ["interpolate", ["linear"], ["get", "median_rent"],
      300, "#2ecc71", 500, "#f1c40f", 800, "#e74c3c"],
    "fill-opacity": 0.4,
  },
});

Step 4: Deploy to GitHub Pages

npm run build
git subtree push --prefix dist origin gh-pages

Why It Works

Government open data portals provide authoritative, regularly updated datasets that would be prohibitively expensive to compile independently. Turf.js handles the geospatial math for walking-distance contours without needing a routing API, keeping the app free to host. The visual overlay of walkability zones on top of rental pricing lets you instantly identify high-value corridors where affordable rent meets strong transit access -- something no single real estate site provides.

Context

  • This pattern was used to build a rental finder deployed to GitHub Pages using Victorian government open data
  • GTFS (General Transit Feed Specification) is the standard format for public transport data and is available in most cities worldwide
  • Turf.js runs entirely in the browser so no backend is needed for the geospatial calculations
  • The same approach works for cycling infrastructure, school zones, or any point-of-interest proximity analysis
  • Quarterly rental median updates mean the data stays reasonably current without manual maintenance
About this share
Contributormblode
Repositorymblode/shares
CreatedFeb 10, 2026
View on GitHub