Skip to content

osmlab/osm-stream

Repository files navigation

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

About

Minutely clientside OpenStreetMap changeset streams

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages