From OpenStreetMap Wiki
Jump to navigation Jump to search
Isodistance map showing 1 mile walking distance from school in quarter mile increments

An isochrone is an isoline for travel time, that is a curve of equal travel time. Closely related is isodistance, which is a curve of equal travel distance. Typically these are based upon following transportation routes such as public transit, roadways, or foot paths rather than using a simple circle (a.k.a. buffer of a point, "as the crow flies" distance). This article will use the term isochrones, however any weighting factor can be used such as distance, or even a combination such as safety and time.


Main article: List of OSM-based services#Isochrone
  • Iso4App Public Transport Isochrone maps (Isochrones based on GTFS data).
  • Reachability Analysis An application (built using WhereOS and OSM data) which calculates reachability (isochrone) from given set of addresses.
  • Safe Routes to School Mapping Toolkit - working to create travel distance/time web app for pedestrians and bicyclists using OSM data (source code available)
  • TravelTime Uses some OSM Data and has a free isochrone generator tool using public transport, cycling, walking, driving and combined bike & train. Available as a plugin for QGIS and ArcGIS.
  • Walkscore Travel Time API - uses GTFS and OSM data for maps of Seattle, San Francisco, and Washington DC. Built on the open source Graphserver library. (no source)
  • WNYC Transit Time - public transit isochrones for NYC
  • CommuteTimeMap - lets to build and visualize isochrones worldwide

Software libraries

APIs for developers

Technical details

Creating an isochrone

Starting with a transportation network, such as OSM, we must create a shortest path tree (SPT) using something like Dijkstra's algorithm. This results in a set of points with associated travel times. This data isn't very meaningful by itself, but it can be transformed in several ways to create a useful result.

  • Raw point layer - points can be drawn as circles (buffers) with the color indicating the distance, however if intersections aren't closely spaced the resulting render will imply certain regions aren't accessible even if they are.
  • Convex hull - this is a polygon with the minimum area which surrounds all the points, however this will include areas which are unreachable
  • Alpha shapes - similar to convex hull, however it allows for holes, so it is a better representation
  • 2D interpolation - interpolating the points using something like natural neighbor produces smooth gradient-like results, however it is not the best representation since unreachable areas will likely be included
  • Filled contours - taking points interpolated to a regular grid, contour lines are created for a finite number of values, such as 5 min, 10 min, etc; has same disadvantages as simple 2D interpolation but results are more easily interpreted
  • Buffered roads - from the points extract the roads (edges) and buffer these, which produces a polygon that should fairly accurately represent the actual areas which are reachable; can take the intersection of filled contours and buffered roads to get the best of both worlds

For all of these methods it is best to interpolate along edges to ensure the maximum weight is represented (i.e. it is unlikely an intersection node will be at the exact max weight). Which method is chosen depends on the goals. For a pretty picture filled contours are likely the best choice.


See also