Rrrr

From TransitWiki
Jump to: navigation, search

RRRR, or R4, or rapid real-time routing is an open source computer program written in C that has implemented multiple public transport journey planning algorithms. The software accepts GTFS, as input, and compiles this to an intermediate timetable format. Additionally GTFS-realtime is supported for updating the journey planner in realtime. The output of the program complies to the JSON format found in OpenTripPlanner. The program can be used in simple A-B routing, and directly supports A to all, and all to B at the same operating cost. The software supports advanced routing features such as wait-time compression. Additionally an API for the Python programming language is available allowing scripted batch processing. The source code is available under a BSD license on Github.

Background

In The Netherlands a pre-commercial public procurement for ITS project was organised by Province of Noord-Brabant as part of the national Dutch project Optimising Use. The project Multimodal Travel Information (MMRI) would host five consortia bridging the gap between realtime public transport data in national Dutch interfaces and journey planners. The Bliksem Consortium (now: Bliksem Labs B.V.) was formed to build a journey planner small enough to run on a mobile device without an internet connection. The initial pitch contained demo of static information running on iOS and Android. During the project a mobile journey planner, server program and data integration platform were created. The high quality input data Bliksem Integration provided in GTFS and GTFS-RT was used by all other consortia, and includes accessibility features for all trips and stops in the network.

Key people involved

  • Andrew Byrd, initial implementation and interpretation of the RAPTOR paper paper by Daniel Delling, Thomas Pajor and Renato F. Werneck.
  • Stefan de Konink, the current project lead and responsible for the initial time-dependent file structure and realtime updates. Furthermore the conversion of all code to ANSI-C and interpretation and implementation of the Scan Algorithm paper.
  • Thomas Koch, the Java bridge to Android and further development of timetable integration in the side project: Bliksem Integration and Bliksem Integration Realtime.
  • Joel Haasnoot, the initial Windows Phone implementation.
  • Edwin Bosveld, the initial iOS implementation.