UNPKG

kdb-tree-store

Version:

kdb tree implementation using a chunk store

32 lines (28 loc) 823 B
var kdbtree = require('../') var fdstore = require('fd-chunk-store') var tmpdir = require('os').tmpdir() var path = require('path') var file = path.join(tmpdir, 'kdb-tree-' + Math.random()) var n = Number(process.argv[2]) var kdb = kdbtree({ types: [ 'float32', 'float32', 'float32', 'uint32' ], store: fdstore(1024, file) }) var pending = n for (var i = 0; i < n; i++) (function () { var x = Math.random() * 200 - 100 var y = Math.random() * 200 - 100 var z = Math.random() * 200 - 100 var loc = Math.floor(Math.random() * 1000) kdb.insert([x,y,z], loc, function (err) { if (--pending === 0) check() }) })() function check () { var q = [[-100,100],[-100,100],[-100,100]] kdb.query(q, { depth: true }, function (err, pts) { pts.forEach(function (p) { console.log(p.depth) }) }) }