Security News
Bun 1.2 Released with 90% Node.js Compatibility and Built-in S3 Object Support
Bun 1.2 enhances its JavaScript runtime with 90% Node.js compatibility, built-in S3 and Postgres support, HTML Imports, and faster, cloud-first performance.
@turf/tin is a module of the Turf.js library that allows you to create a Triangulated Irregular Network (TIN) from a set of points. TINs are used in geographic information systems (GIS) to represent a surface. This package is particularly useful for spatial analysis and geospatial data visualization.
Create TIN from Points
This feature allows you to create a TIN from a set of points. Each point can have properties such as elevation, which can be used to create the TIN. The code sample demonstrates how to create a TIN from three points with elevation properties.
const turf = require('@turf/tin');
const points = turf.featureCollection([
turf.point([0, 0], {elevation: 10}),
turf.point([10, 10], {elevation: 20}),
turf.point([20, 20], {elevation: 30})
]);
const tin = turf.tin(points, 'elevation');
console.log(JSON.stringify(tin));
d3-delaunay is a D3 module that provides fast algorithms for computing Delaunay triangulations and Voronoi diagrams. It is similar to @turf/tin in that it can be used to create triangulated networks from a set of points. However, d3-delaunay is more focused on performance and is often used in data visualization contexts.
earcut is a fast, robust polygon triangulation library. While it is not specifically designed for geospatial data, it can be used to triangulate polygons, which is a similar operation to creating a TIN. earcut is known for its speed and simplicity.
triangulate is a simple library for triangulating 2D polygons. It is similar to @turf/tin in that it can be used to create a network of triangles from a set of points. However, it is more general-purpose and not specifically designed for geospatial applications.
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 pointsz
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');
//addToMap
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 single module individually:
$ npm install @turf/tin
Or install the all-encompassing @turf/turf module that includes all modules as functions:
$ npm install @turf/turf
FAQs
turf tin module
The npm package @turf/tin receives a total of 605,425 weekly downloads. As such, @turf/tin popularity was classified as popular.
We found that @turf/tin demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Bun 1.2 enhances its JavaScript runtime with 90% Node.js compatibility, built-in S3 and Postgres support, HTML Imports, and faster, cloud-first performance.
Security News
Biden's executive order pushes for AI-driven cybersecurity, software supply chain transparency, and stronger protections for federal and open source systems.
Security News
Fluent Assertions is facing backlash after dropping the Apache license for a commercial model, leaving users blindsided and questioning contributor rights.