Skip to content

Isochrones Maps

The ability to return these amazing structures called isochrones. What's an isochrone? The word is a combination of two greek roots iso meaning equal and chrono meaning time. So indeed, an isochrone is a structure representing equal time. In our case it's a line that represents constant travel time about a given location. One can think of isochrone maps as somewhat similar to the familiar topographic maps except that instead of lines of constant height, lines are of constant travel time are depicted. For this reason other terms common in topography apply such as contours or isolines.

This is an example of 15, 30, 45 and 60 minute bicycle isochrones centered in Lancaster, PA.

isochrone map image

Inputs of the Isochrone Service

An isochrone request run locally takes the form of json={}, where the JSON inputs inside the {} includes an array of at least one location

For example, you can use the isochrone service to find out where you can travel within a 15-minute walk from your office building. The API request for this uses isochrone? as the request action, pedestrian costing, and a single contour for a 15-minute time interval. The response is GeoJSON, which you can display on a map to visualize where you might be able to walk.

json
{"locations":[{"lat":40.744014,"lon":-73.990508}],"costing":"pedestrian","contours":[{"time":15.0,"color":"ff0000"}]}

Parameters & bodyjson

ParameterDescription
latLatitude of the location in degrees
lonLongitude of the location in degrees
tokentoken parameter is required /elevation/?token=YOUR TOKEN

Output of Isochrone Service

In the service response, the isochrone contours are returned as GeoJSON, which can be integrated into mapping applications. The isochrone service returns contours as GeoJSON line or polygon features for the requested intervals (depending on the value of the polygons request parameter). These contours are calculated using a two dimensional grid. If the format request parameter is set to geotiff, the underlying grid data is returned directly instead of the contours derived from it. It will return one band for each requested metric (i.e. one for time and one for distance). If an isochrone request has been named using the optional &id= input, then the id is returned as a name property for the feature collection within the GeoJSON response. A metric attribute lets you know whether it's a distance or time contour. A warnings array may also be included. This array may contain warning objects informing about deprecated request parameters, clamped values etc.

Other request bodyjson content

ParameterDescription
date_timeThe local date and time at the location.
- type
- 0 - Current departure time.
- 1 - Specified departure time.
- 2 - Specified arrival time. Note: This is not yet implemented for multimodal.
- value - the date and time specified in ISO 8601 format (YYYY-MM-DDThh:mm) in the local time zone of departure or arrival. For example, "2016-07-03T08:06".
contoursA JSON array of contour objects with the time in minutes or distance in kilometers and color to use for each isochrone contour. You can specify up to four contours (by default).
- time - A floating point value specifying the time in minutes for the contour.
- distance - A floating point value specifying the distance in kilometers for the contour.
- color - The color for the output of the contour. Specify it as a Hex value, but without the #, such as "ff0000" for red. If no color is specified, the isochrone service will assign a default color to the output.
You can only specify one metric per contour, i.e. time or distance.
polygonsA Boolean value to determine whether to return geojson polygons or linestrings as the contours. The default is false, which returns lines; when true, polygons are returned. Note: When polygons is true, a feature's geometry type can be either Polygon or MultiPolygon, depending on the number of exterior rings formed for a given interval.
denoiseA floating point value from 0 to 1 (default of 1) which can be used to remove smaller contours. A value of 1 will only return the largest contour for a given time value. A value of 0.5 drops any contours that are less than half the area of the largest contour in the set of contours for that same time value.
generalizeA floating point value in meters used as the tolerance for Douglas-Peucker generalization. Note: Generalization of contours can lead to self-intersections, as well as intersections of adjacent contours.
show_locationsA boolean indicating whether the input locations should be returned as MultiPoint features; one feature for the exact input coordinates and one feature for the coordinates of the network node it snapped to. Default false.