osm-stream

stream minutely openstreetmap diffs

Uses the Overpass API for Augmented Diffs, loads data with CORS and exposes a stream.

Without browserify: copy osmstream.js. That works as an osmStream global and with UMD.

With browserify npm install osmstream

s.once(function(err, data) { }, [bbox])

Get one batch of changes right now.

s.run(function(err, stream), duration, [dir], [bbox])

duration is how long between runs: default 1 minute

dir is direction: either 1, the default, or -1 for rewind.

s.runFn(function(err, stream), duration, [dir], [bbox])

Same as .run but instead of returning a stream that pipes objects, calls the callback once per object.

duration is how long between runs: default 1 minute

dir is direction: either 1, the default, or -1 for rewind.

var osmStream = require('osmStream');
 
// re-request every 60s 
osmStream
    .run(function(errstream) {
        stream.on('data', function(d) {
            console.log(d);
        });
    });
 
// re-request every 60s 
// callback-style interface 
osmStream
    .runFn(function(errdata) {
        // ... 
    });
 
// one-time request 
osmStream
    .once(function(errd) {
        console.log(d);
    });

The stream returned uses through, so you can end it and that will also stop the run cycle.