TypeScript icon, indicating that this package has built-in type declarations

    6.5.0 • Public • Published



    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


    npm i @turf/tin

    DownloadsWeekly Downloads






    Unpacked Size

    22.7 kB

    Total Files


    Last publish


    • twelch
    • jamesmilneruk
    • rowanwins
    • tmcw
    • morganherlocker
    • tcql
    • mdfedderly