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.
