raptor-journey-planner
Version:
Implementation of the Round bAsed Public Transit Optimized Router (Raptor) journey planning algorithm.
31 lines (30 loc) • 1.53 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const GTFSLoader_1 = require("../src/gtfs/GTFSLoader");
const StringResults_1 = require("../src/transfer-pattern/results/StringResults");
const fs = require("fs");
const RaptorAlgorithmFactory_1 = require("../src/raptor/RaptorAlgorithmFactory");
const TransferPatternQuery_1 = require("../src/query/TransferPatternQuery");
async function run() {
console.time("initial load");
const stream = fs.createReadStream("/home/linus/Downloads/gb-rail-latest.zip");
const [trips, transfers, interchange] = await (0, GTFSLoader_1.loadGTFS)(stream);
console.timeEnd("initial load");
console.time("pre-processing");
const date = new Date("2019-06-05");
const startHeap = process.memoryUsage().heapUsed;
const raptor = RaptorAlgorithmFactory_1.RaptorAlgorithmFactory.create(trips, transfers, interchange, date);
const query = new TransferPatternQuery_1.TransferPatternQuery(raptor, () => new StringResults_1.StringResults(interchange));
const endHeap = process.memoryUsage().heapUsed;
console.timeEnd("pre-processing");
console.time("patterns");
const results = query.plan("PET", date);
console.timeEnd("patterns");
console.time("paths");
const paths = Array.from(results["BHIPET"]);
console.timeEnd("paths");
console.log("Results:");
console.log(paths);
console.log(`Memory usage: ${Math.round(((endHeap - startHeap) / 1024 / 1024) * 100) / 100} MB`);
}
run().catch(e => console.error(e));