# Isochrone

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.

## Creating isochrones

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.

## Examples

• Safe Routes to School Mapping Toolkit - working to create travel distance/time web app for pedestrians and bicyclists using OSM data (source code available)
• OpenTripPlanner - a development branch has work on an Analytics Extension, which currently provides isochrones based on the OSM network and GTFS data (source code available)
• OpenRouteService Accessibility Analysis Service - uses OSM data and map, shows isochrones worldwide (no source code available)
• OneBayArea Travel Time and Housing Prices map - uses OSM at least for base map, with lots of options for mode of travel (no source)
• isokron - isochrones for subway systems in French cities (Paris, Rennes), shows where friends should meet up; uses OSM for base map (no source)
• mySociety Commuting Time Maps - combines subway travel time with housing costs, doesn't use OSM (source code available)
• Travel Time Tube Map - not based on OSM data, but warps London Underground map based on travel time (no source)
• Mapnificient - isochrones for public transit, but doesn't use OSM and no source available
• WNYC Transit Time - public transit isochrones for NYC
• ArcGIS Service Area - web app using ESRI ArcGIS
• Walkscore Transit Time Maps - uses GTFS and OSM data for maps of Seattle, San Francisco, and Washington DC. Built on the open source Graphserver library. (no source)
• Travel Time Search Uses some OSM Data - Create own Travel Time Maps for Analysis, or add Travel Time Search to your site.
• Isochrone.ch Create isochrone maps for the travel time with public transport in Switzerland.
• OSRM Isochrone Generate drivetime isochrones from OSM using OSRM.
• GraphHopper can be used to calculate a detailed time information for every point within a certain time or distance reach. Using the open source GraphHopper library.
• Reachability Analysis An application (built using WhereOS and OSM data) which calculates reachability (isochrone) from given set of addresses.
• Route360 can be used via an API
• Iso4App Public Transport Isochrone maps (Isochrones based on GTFS data).

## Research

• Scientific Research with Isochrones at the Free University Bolzano/Bozen (including ISOGA demo)
• Scientific Research with Isochrones at the University of Innsbruck (including IsoMap demo) using OSM data. Multimodal isochrone computation is supported based on GTFS data.

## Software

• pysochrone is a Python script and simple web interface for computing and displaying isochrones from an OGR-supported data source (e.g. PostGIS)
• GRASS v.net.iso module
• pgRouting driving_distance() function
• Iso4App Isochrone/Isodistance map api service. Covered countries: Europe,Russian Federation, Ukraine, Lithuania, Latvia, Estonia, Belarus, North America, Central America, Australia-Oceania, South Africa. Javascript and Rest api available.