0.1.0 • Published 5 years ago

mb-isochrone v0.1.0

Weekly downloads
28
License
MIT
Repository
github
Last release
5 years ago

isochrone

Isochrone generator built atop the Mapbox Matrix API, with CONREC polygonization. Calculates isochrones up to 1 hour of travel time.

Demo!

Setup

Clone the repository, and either

  • include dist/app.js in your markup directly, or
  • build your own via browserify index.js -o <filename>

For all pull requests that modify isochrone.js, please also rebuild dist/app.js to make sure your changes get applied.

Usage

isochrone(origin, options, callback)

  • origin Starting point for isochrone generation expressed as [lng, lat].

  • options

ParameterRequired?DefaultLimitsDescription
tokenYesn/a---🔑 Mapbox user token
thresholdYesn/amin:1, max: 3600⌛️ Time thresholds for the desired ischrone(s), expressed in seconds. Can be expressed as either a) an array of numbers (e.g. [600, 1200, 1800]) to calculate isochrones at those specific time cutoffs, or b) a single number (e.g. 1800) to calculate isochrones at 60-second intervals, up to that time
modeNodrivingone of driving, cycling, or walking🚗 🚲 👟 Method of transportation desired, as defined in the Mapbox Matrix API documentation.
directionNodivergentdivergent or convergent⬇️ ⬆️ Direction of travel. Divergent isochrones are the total area reachable from the origin within the given time, while convergent ones cover the total area that can reach it.
resolutionNoAn auto value, computed from mode and maximum thresholdmin:0.05, max: 5📏 Granularity of the underlying sample grid, in units of kilometers. Lower values yield finer results, but are more expensive in both query time and API request load. Scaling this value with both time threshold and transport mode is recommended.
batchSizeNo25min: 2👨 👬 👨‍👦‍👦 Number of coordinates per Matrix API request. The default value applies for most Mapbox starter plans. Higher values will speed up computation and avoid rate-limiting issues.
  • callback

Function to execute once the calculation completes.

Example

This requests a set of isochrones at 1-minute intervals up to 30 minutes, from near Sacramento, CA:

	isochrone([-121.4738,38.6194], {"token":<token>, "threshold":1800}, function(err, output){
		if (err) throw err;
		console.log(output);
	})

Output

Isochrones are returned as a GeoJSON featurecollection of polygon features. Each feature contains a time parameter that corresponds to its threshold in seconds.