turf isolines module

Usage no npm install needed!

<script type="module">
  import turfIsolines from 'https://cdn.skypack.dev/@turf/isolines';




Takes a grid FeatureCollection of Point features with z-values and an array of value breaks and generates isolines.


  • pointGrid FeatureCollection<Point> input points
  • breaks Array<number> values of zProperty where to draw isolines
  • options Object Optional parameters (optional, default {})
    • options.zProperty string the property name in points from which z-values will be pulled (optional, default 'elevation')
    • options.commonProperties Object GeoJSON properties passed to ALL isolines (optional, default {})
    • options.breaksProperties Array<Object> GeoJSON properties passed, in order, to the correspondent isoline; the breaks array will define the order in which the isolines are created (optional, default [])


// create a grid of points with random z-values in their properties
var extent = [0, 30, 20, 50];
var cellWidth = 100;
var pointGrid = turf.pointGrid(extent, cellWidth, {units: 'miles'});

for (var i = 0; i < pointGrid.features.length; i++) {
    pointGrid.features[i].properties.temperature = Math.random() * 10;
var breaks = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10];

var lines = turf.isolines(pointGrid, breaks, {zProperty: 'temperature'});

var addToMap = [lines];

Returns FeatureCollection<MultiLineString> a FeatureCollection of MultiLineString features representing isolines

This module is part of the Turfjs project, an open source module collection dedicated to geographic algorithms. It is maintained in the Turfjs/turf repository, where you can create PRs and issues.


Install this module individually:

$ npm install @turf/isolines

Or install the Turf module that includes it as a function:

$ npm install @turf/turf