Security News
38% of CISOs Fear They’re Not Moving Fast Enough on AI
CISOs are racing to adopt AI for cybersecurity, but hurdles in budgets and governance may leave some falling behind in the fight against cyber threats.
@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 the name of a z-value property 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.
This triangulates the points, as well as adds properties called a
, b
,
and c
representing the value of the given propertyName
at each of
the points that represent the corners of the triangle.
Parameters
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.Examples
// generate some random point data
var points = turf.random('points', 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 module individually:
$ npm install @turf/tin
Or install the Turf module that includes it as a function:
$ npm install @turf/turf
4.3.0
@turf/polygon-tangents
Finds the tangents of a (Multi)Polygon from a Point. (https://github.com/Turfjs/turf/pull/708)@turf/rewind
Rewind LineString or Polygon outer ring ~clockwise~ counter-clockwise and inner rings ~counterclockwise~ clockwise (https://github.com/Turfjs/turf/pull/700 & https://github.com/Turfjs/turf/issues/66)@turf/isobands
- Takes a grid FeatureCollection of Point features with z-values and an array of value breaks and generates filled contour isobands. (https://github.com/Turfjs/turf/pull/619)@turf/helpers
(https://github.com/Turfjs/turf/pull/732)@turf/inside
(https://github.com/Turfjs/turf/pull/706)@turf/meta
. (https://github.com/Turfjs/turf/pull/712 & https://github.com/Turfjs/turf/issues/692)getGeom
& getGeomType
in @turf/invariant
(https://github.com/Turfjs/turf/pull/720)round()
, radians2degrees()
and degrees2radians()
to turf-helpers
(https://github.com/Turfjs/turf/pull/715)@turf/rewind
(https://github.com/Turfjs/turf/pull/741)@turf/circle
translate properties (https://github.com/Turfjs/turf/pull/717)@turf/buffer
to polygons (https://github.com/Turfjs/turf/issues/660 & https://github.com/Turfjs/turf/pull/718)@turf/difference
(https://github.com/Turfjs/turf/pull/725)@turf/line-intersect
(https://github.com/Turfjs/turf/pull/731)@turf/line-chunk
(https://github.com/Turfjs/turf/pull/726)@turf/line-segment
(https://github.com/Turfjs/turf/pull/727 & https://github.com/Turfjs/turf/pull/711)@turf/line-overlap
(https://github.com/Turfjs/turf/pull/711)@turf/rewind
(https://github.com/Turfjs/turf/pull/741)@turf/buffer
(https://github.com/Turfjs/turf/pull/739)radius
to @turf/buffer
(https://github.com/Turfjs/turf/pull/736)FAQs
turf tin module
The npm package @turf/tin receives a total of 376,613 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
CISOs are racing to adopt AI for cybersecurity, but hurdles in budgets and governance may leave some falling behind in the fight against cyber threats.
Research
Security News
Socket researchers uncovered a backdoored typosquat of BoltDB in the Go ecosystem, exploiting Go Module Proxy caching to persist undetected for years.
Security News
Company News
Socket is joining TC54 to help develop standards for software supply chain security, contributing to the evolution of SBOMs, CycloneDX, and Package URL specifications.