0.0.11 • Published 10 years ago

csa v0.0.11

Weekly downloads
3
License
MIT
Repository
github
Last release
10 years ago

Connection Scan Algorithm for JavaScript

Build Status

State:

  • basic csa without footpaths is functional

  • merger that combines different streams of connections is functional

The Connection Scan Algorithm (CSA) for Javascript takes a stream of "connections" and transforms it into a stream of solutions to get from a certain stop to a certain stop. The algorithm will find the earliest arrival times first, and will return alternatives as long as the stream runs.

Use it

You can install the library using npm:

npm install csa

And include it in your nodejs application

var csa = require('csa');
var planner = new csa.BasicCSA({departureStop: "...", arrivalStop: "...",departureTime:new Date()});
connectionsReadStream.pipe(planner);
planner.on("result", function (result) {
    console.log("Path found:",result);
    connectionsReadStream.close();
});
planner.on("data", function (connection) {
    //Access to a minimum spanning tree of connections being built up
    //May be useful for e.g., creating isochrone maps
});

Multiple connection streams

Instead of using one stream of connections, you can combine multiple streams as input by using MergeStream

var connectionsStreams = [
	[ 'stream1', connectionsReadStream1 ],
	[ 'stream2', connectionsReadStream2 ],
	...
];

var connectionsReadStream = new csa.MergeStream(connectionsStreams, query.departureTime);

You can add streams by setting an eventlistener on the MergeStream instance. To remove a stream, just end the stream itself.

connectionsReadStream.on("data", function (connection) {
	connectionsReadStream.addConnectionsStream('newStream', newConnectionsReadStream);
});

Protip: you can use browserify on this repo to use CSA in the browser

0.0.11

10 years ago

0.0.10

10 years ago

0.0.9

10 years ago

0.0.8

10 years ago

0.0.7

10 years ago

0.0.6

10 years ago

0.0.5

10 years ago

0.0.4

10 years ago

0.0.3

10 years ago

0.0.2

10 years ago

0.0.1

10 years ago