Skip to content

Latest commit

 

History

History
77 lines (51 loc) · 1.96 KB

README.md

File metadata and controls

77 lines (51 loc) · 1.96 KB

OSM Stream

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

using

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

With browserify npm install osm-stream

api

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

Get one batch of changes right now.

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

duration is how long between runs: default 1 minute

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

maxRetries: How often to retry fetching the current diff before skipping it.

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

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.

maxRetries: How often to retry fetching the current diff before skipping it.

example

var osmStream = require('osm-stream');

// re-request every 60s
osmStream
    .run(function(err, stream) {
        stream.on('data', function(d) {
            console.log(d);
        });
    });

// re-request every 60s
// callback-style interface
osmStream
    .runFn(function(err, data) {
        // ...
    });

// one-time request
osmStream
    .once(function(err, d) {
        console.log(d);
    });

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

See Also

As Seen