Skip to main content
Version: 7.0.0



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.


pointsFeatureCollection<Point>input points
z?Stringname 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");


$ npm install @turf/tin

import { tin } from "@turf/tin";
const result = tin(...);
$ npm install @turf/turf

import * as turf from "@turf/turf";
const result = turf.tin(...);