turf tin module

Usage no npm install needed!

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




Takes a set of points and creates a Triangulated Irregular Network, or a TIN for short, returned as a collection of Polygons. These are often used for developing elevation contour maps or stepped heat visualizations.

If an optional z-value property is provided then it is added as properties called a, b, and c representing its value at each of the points that represent the corners of the triangle.


  • points FeatureCollection<Point> input points
  • z String? name of the property from which to pull z values This is optional: if not given, then there will be no extra data added to the derived triangles.


// generate some random point data
var points = turf.randomPoint(30, {bbox: [50, 30, 70, 50]});

// add a random property to each point between 0 and 9
for (var i = 0; i < points.features.length; i++) {
  points.features[i].properties.z = ~~(Math.random() * 9);
var tin = turf.tin(points, 'z');

var addToMap = [tin, points]
for (var i = 0; i < tin.features.length; i++) {
  var properties  = tin.features[i].properties;
  properties.fill = '#' + properties.a + properties.b + properties.c;

Returns FeatureCollection<Polygon> TIN output

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/tin

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

$ npm install @turf/turf