timetraveller-mongodb

1.0.0 • Public • Published

timetraveller-mongodb

Store and access GeoJSON LineStrings with time components in MongoDB. Have a look at zeitpunkt to get an example of the consumed GeoJSON data.

Although being primarily developed as database connector for timetraveller, this module can be used on its own to store and query GeoJSON LineStrings with time components, as they are used in several other tools.

Usage

Create a database connection:

var Model = require('timetraveller-mongodb')
var model = new Model({
  db: {
    host: 'localhost',
    port: 27017,
    name: 'some_db_name'
  }
})

model.connect(function onConnectionEstablished() {
  // model.connect() is called implicitly before
  //   any other method
})

// Do something

model.close()

Import GeoJSON

Use model.importGeoJSON() to import a single GeoJSON LineString.

var geojson = {
  type: 'Feature',
  geometry: {
    type: 'LineString',
    coordinates: [ /* array of [lng,lat] coordinates */ ]
  },
  properties: {
    time: [ /* array of timestamps */ ]
  }
}
model.importGeoJSON(geojson, function onFinish(err) {
  console.log('Done')
})

Search database

You can query the stored trajectories by calling model.findTrajectories(). It takes a boundary box and time range.

var query = {
  bounds: { // set bounding box
    west: 10.998195,
    east: 11.034775,
    south: 49.560791,
    north: 49.587847
  },
  time: {
    start: '2015-01-01 12:00',
    end: '2015-01-01 13:00'
  }
}
model.findTrajectories(query, function foundDocument(geojson) {
  console.log(geojson)
}, function queryFinished(err) {
  console.log('Done')
})

Command Line

timetraveller-mongodb provides a command line tool to import newline delimited GeoJSON streams from stdin or search in all saved entries. You can easily use the timetraveller-mongodb executable after installing it as global module:

npm install -g timetraveller-mongodb

The import executable timetraveller-mongodb import consumes data from stdin as produced for example by zeitpunkt or transportation.

Call timetraveller-mongodb --help to get a list of all commands and options.

Package Sidebar

Install

npm i timetraveller-mongodb

Weekly Downloads

0

Version

1.0.0

License

MIT

Last publish

Collaborators

  • fnogatz