Skip to content

Latest commit

 

History

History
61 lines (48 loc) · 1.74 KB

Readme.md

File metadata and controls

61 lines (48 loc) · 1.74 KB

Zwiebers reisplanner

Work-in-progress journey planner for Dutch public transport.

Uses the GTFS feed from https://gtfs.ovapi.nl/nl/.

Current features and rough to-do

  • GTFS feed
    • Download GTFS data
    • Parse static GTFS data
    • Save static GTFS data to database
    • Parse realtime GTFS data
    • Save realtime GTFS data to database
      • Trip updates
        • Delays
        • Trip descriptors
      • Vehicle positions
      • Alerts
  • Misc data
    • IFF transfer times per station
    • IFF transfer times between stops
    • Bison halte data
  • Journey planning algorithm
    • CSA (proof of concept)
    • RAPTOR
      • Basic implementation
      • Modal transfers
    • Custom variant on RAPTOR
  • Display algorithm results
  • Display vehicle information

Project structure

All commands in this section should be run in this directory.

reisplanner-gtfs

Downloads the static and realtime GTFS information from ovapi and parses it into the sqlite database.
This also contains the type definitions for the GTFS objects.

The programs downloads the data initially, then updates the realtime data every minute and static data every day after 3:00 UTC.

I would not recommend running without --release since parsing the static GTFS data takes a very long time otherwise.

cargo run -p reisplanner-gtfs --release

Note: the GTFS protobuf definitions generate Rust code. If your IDE shows errors, try to run cargo build first.

reisplanner-algorithm

Contains the journey planning algorithms.

Currently only contains a very naive CSA implementation.

cargo test -p reisplanner-algorithm --release -- --nocapture