UNPKG

hyperlog-kdb-index

Version:

n-dimensional kdb tree spatial index for hyperlogs

35 lines (30 loc) 816 B
var fdstore = require('fd-chunk-store') var hyperkdb = require('../') var memdb = require('memdb') var hyperlog = require('hyperlog') var log = hyperlog(memdb(), { valueEncoding: 'json' }) var kdb = hyperkdb({ log: log, db: memdb(), types: [ 'float', 'float' ], kdbtree: require('kdb-tree-store'), store: fdstore(1024, '/tmp/kdb-tree-' + Math.random()), map: function (row, next) { if (row.value.type === 'point') { next(null, [ row.value.lat, row.value.lon ]) } else next() } }) for (var i = 0; i < 50; i++) { log.add(null, { type: 'point', lat: 64 + Math.random() * 2, lon: -147 - Math.random() * 2 }) } kdb.query([[64.5,65],[-147.9,-147.2]], function (err, pts) { if (err) return console.error(err) pts.forEach(function (pt) { console.log(pt.point) }) })