~/projects/running

SOFTWARE2026

GPS Reachability & Isochrone Mapper

A command-line tool that computes how far a person can walk or run from a GPS origin within a time or distance budget by routing along the real street network, and renders the result as an interactive map.

TIMELINE
Aug 2026
TEAM
Solo
CONTEXT
Personal project
Map of downtown San Francisco with concentric rings of crossings, green where reachable within the budget and red where not.
1.2xtypical detour ratio on a dense street grid
4.1xdetour ratio found on Treasure Island

Overview

This tool computes reachability from a GPS point by routing along the real street network rather than measuring straight-line distance, then visualizes the result as concentric reachability rings on an interactive map along with a “detour ratio” comparing network distance to straight-line distance.

Features

  • Command-line interface accepting a latitude/longitude, maximum distance, and ring spacing
  • Street network fetched from OpenStreetMap and cached locally to avoid re-downloading
  • Interactive map output with color-coded reachable and unreachable ring crossings
  • Per-crossing CSV with crow-flies distance, network distance, and detour ratio
  • Per-ring aggregate CSV summary
  • Single-Dijkstra-run optimization that prices every ring crossing from one graph traversal
  • Unit tests that run against synthetic graphs with no network access required

How it works

The tool fetches a walking-network graph from OpenStreetMap via OSMnx, buffered beyond the outermost requested ring, and reprojects it to a local UTM coordinate system so distance calculations are in real meters rather than degrees. It finds every point where the network crosses each reachability ring, then runs a single Dijkstra traversal from the origin to price every crossing’s network distance at once, pricing mid-edge crossings by interpolating between each edge’s endpoints. Results render to an interactive Folium map and two CSV summaries.