UNPKG

raptor-journey-planner

Version:

Implementation of the Round bAsed Public Transit Optimized Router (Raptor) journey planning algorithm.

31 lines (30 loc) 1.53 kB
"use strict"; 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));