Socket
Socket
Sign inDemoInstall

turf-tin

Package Overview
Dependencies
3
Maintainers
1
Versions
17
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 0.1.0 to 1.0.0

bench.js

51

index.js
//http://en.wikipedia.org/wiki/Delaunay_triangulation
//https://github.com/ironwallaby/delaunay
var polygon = require('turf-polygon')
var nearest = require('turf-nearest')
var point = require('turf-point')
var polygon = require('turf-polygon');
var nearest = require('turf-nearest');
var point = require('turf-point');
module.exports = function(points, z, done){
module.exports = function(points, z){
//break down points
var vertices = []
var vertices = [];
points.features.forEach(function(p){
vertices.push({x:p.geometry.coordinates[0], y:p.geometry.coordinates[1]})
vertices.push({x:p.geometry.coordinates[0], y:p.geometry.coordinates[1]});
})
var triangulated = triangulate(vertices)
var triangulated = triangulate(vertices);
var triangles = {
type: 'FeatureCollection',
features: []
}
};
done = done || function () {};
triangulated.forEach(function(triangle){
var coords = [[[triangle.a.x, triangle.a.y], [triangle.b.x, triangle.b.y], [triangle.c.x, triangle.c.y]]]
var poly = polygon(coords, {a: null, b: null, c: null})
var coords = [[[triangle.a.x, triangle.a.y], [triangle.b.x, triangle.b.y], [triangle.c.x, triangle.c.y]]];
var poly = polygon(coords, {a: null, b: null, c: null});
triangles.features.push(poly)
})
triangles.features.push(poly);
});
if(z){
// add values from vertices
triangles.features.forEach(function(tri){
var coordinateNumber = 1
var coordinateNumber = 1;
tri.geometry.coordinates[0].forEach(function(c){

@@ -36,20 +34,19 @@ var closest = nearest(point(c[0], c[1]), points);

if(coordinateNumber === 1){
tri.properties.a = closest.properties[z]
tri.properties.a = closest.properties[z];
}
else if(coordinateNumber === 2){
tri.properties.b = closest.properties[z]
tri.properties.b = closest.properties[z];
}
else if(coordinateNumber === 3){
tri.properties.c = closest.properties[z]
tri.properties.c = closest.properties[z];
}
coordinateNumber++
})
})
coordinateNumber++;
});
});
}
triangles.features.forEach(function(tri){
tri = correctRings(tri)
})
tri = correctRings(tri);
});
done(null, triangles)
return triangles;

@@ -60,8 +57,8 @@ }

poly.geometry.coordinates.forEach(function(ring){
var isWrapped = ring[0] === ring.slice(-1)[0]
var isWrapped = ring[0] === ring.slice(-1)[0];
if(!isWrapped){
ring.push(ring[0])
ring.push(ring[0]);
}
})
return poly
return poly;
}

@@ -68,0 +65,0 @@

{
"name": "turf-tin",
"version": "0.1.0",
"version": "1.0.0",
"description": "turf tin module",

@@ -25,2 +25,3 @@ "main": "index.js",

"devDependencies": {
"benchmark": "^1.0.0",
"tape": "^2.13.4"

@@ -27,0 +28,0 @@ },

@@ -1,15 +0,15 @@

var test = require('tape')
var fs = require('fs')
var tin = require('./')
var test = require('tape');
var fs = require('fs');
var tin = require('./');
test('tin', function(t){
var points = JSON.parse(fs.readFileSync(__dirname+'/geojson/Points.geojson'))
var points = JSON.parse(fs.readFileSync(__dirname+'/geojson/Points.geojson'));
var tinned = tin(points, 'elevation')
var tinned = tin(points, 'elevation');
t.equal(tinned.features[0].geometry.type, 'Polygon')
t.equal(tinned.features.length, 24)
t.equal(tinned.features[0].geometry.type, 'Polygon');
t.equal(tinned.features.length, 24);
fs.writeFileSync(__dirname+'/geojson/Tin.geojson', JSON.stringify(tinned))
t.end()
fs.writeFileSync(__dirname+'/geojson/Tin.geojson', JSON.stringify(tinned));
t.end();
});
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc