level-geography

1.0.0 • Public • Published

level-geography

Build Status

indexed geography storage in leveldb

install

npm install level-geography

api

.geoPut

db.geoPut(feauture, featureID, callback)

.bboxQuery

db.bboxQuery([-111.3134765625,33.90689555128866,-99.00878906249999,42.16340342422401], callback)

usage

var level = require('level');
var sublevel = require('level-sublevel');
var levelGeo = require('level-geography');
 
var limits = {min_zoom: 8, max_zoom: 15};
var bbox = [ 21.9287109375,12.382928338487408,35.5078125,25.720735134412106];
var dbPath = __dirname+'/db';
var poly = JSON.parse(fs.readFileSync('./test-polygon.geojson'));
var db = levelGeo(sublevel(level(dbPath)), limits); // limits are optional
 
//insert polygon
db.geoPut(poly, '1', function(err){
    //retrieve polygon
    db.bboxQuery(bbox, function(err, fc){
        
    });
});

about

level-geography uses tile-cover to generate quadkey indexes. For points, the quadkey simply represents a tile at the specified or default zoom level. For lines and polygons, the minimum number of tiles are used to cover the geography, and each feature is stored redundantly. level-geography abstracts these details away, however, so queries only return one line or polygon for each feature.

Package Sidebar

Install

npm i level-geography

Weekly Downloads

0

Version

1.0.0

License

MIT

Last publish

Collaborators

  • morganherlocker