geopouch

Put some geo in your pouch

Spatial Pouch

Spatial plugin from PouchDB extracted and supporting N dimensional coordinates.

Originally by @vmx with contribution by @daleharvey and @calvinmetcalf.

Test with npm test coverage report with npm test --coverage, build with npm run build.

API

PouchDB.plugin(require('geopouch'));

db.spatial(function (doc) {emit(doc.geometry);}, [xmin, ymin, xmax, ymax], options, callback);

db.spatial('ddoc/functionName', [xmin, ymin, xmax, ymax], options, callback);

db.spatial('ddoc/functionName', [[xmin, ymin], [xmax, ymax]], options, callback);

db.spatial('ddoc/functionName', [[xmin, ymin, zmin], [xmax, ymax, zmin]], options, callback);

db.spatial('ddoc/functionName', [xmin, ymin, zmin], [xmax, ymax, zmin], options, callback);

db.spatial('ddoc/functionName', [[xmin, ymin, zmin], [xmax, ymax, zmin]], options, callback);

db.spatial('ddoc/functionName', [xmin, ymin, xmax, ymax], options).then(function (result) {}, function (err) {});

you may either give a function or a path to a ddoc, bounding boxes may be given in one of 3 formats

  • single array with 4 numbers, these are interpreted as [xmin, ymin, xmax, ymax]
  • single array with 2 arrays in it these are interpreted as [[mins], [maxs]]
  • 2 arrays with numbers in them, first one is interpreted as mins, second one as maxes

If the callback is omited then a promise is returned.

Options are optional and valid options are include_docs and stale