plannerjs
TypeScript icon, indicating that this package has built-in type declarations

0.4.2 • Public • Published

Planner.js: A JS library for route planning

🛸️ Build Status 🚴 MIT License 🚉 npm version 🚀

$ npm install plannerjs

Include it in the browser:

<script src="https://planner.js.org/js/planner-latest.js"></script>

...

<script>
  const { FlexibleTransitPlanner, Units } = PlannerJS;
</script>

Include it in your JavaScript project:

const { FlexibleTransitPlanner, Units } = require('plannerjs');

// or

import { FlexibleTransitPlanner, Units } from 'plannerjs';

Use it in both environments:

const planner = new FlexibleTransitPlanner();
planner.addConnectionSource("https://graph.irail.be/sncb/connections");
planner.addStopSource("https://irail.be/stations/NMBS");

planner.query({
  from: "http://irail.be/stations/NMBS/008812005", // Brussels North
  to: "http://irail.be/stations/NMBS/008892007", // Ghent-Sint-Pieters
  minimumDepartureTime: new Date(),
  
  walkingSpeed: 3, // KmH
  minimumWalkingSpeed: 3, // KmH
 
  maximumWalkingDistance: 200, // meters
  
  minimumTransferDuration: Units.fromMinutes(1),
  maximumTransferDuration: Units.fromMinutes(30),
  
  maximumTravelDuration: Units.fromHours(1.5),
  
  maximumTransfers: 4,
})
  .take(3)
  .on('data', (path) => {
   console.log(JSON.stringify(path, null, 4));
  })
  .on('end', () => {
    console.log('No more paths!')
  })
  .on('error', (error) => {
    console.error(error);
  });

Documentation

For further instructions, follow the documentation at https://planner.js.org/

Developing

  • Building the docs with typedoc: npm run doc
  • Testing with jest: npm test
  • Build a new browser version with npm run browser
  • Bundle the latest planner for the docs example npm run doc-bundle

Versions

Current Tags

  • Version
    Downloads (Last 7 Days)
    • Tag
  • 0.4.2
    1
    • latest

Version History

Package Sidebar

Install

npm i plannerjs

Weekly Downloads

11

Version

0.4.2

License

MIT

Unpacked Size

1.55 MB

Total Files

923

Last publish

Collaborators

  • pietercolpaert
  • julianrojas87