All Projects → fnogatz → transportation

fnogatz / transportation

Licence: MIT license
node.js module to display and manipulate public transport data

Programming Languages

javascript
184084 projects - #8 most used programming language

transportation

Import GTFS data into a semantic model

Screenshot

Installation

npm install transportation

Usage

var Transit = require('transportation')
var transit = new Transit()

// import GTFS data
transit.importGTFS('/path/to/gtfs/dir', function (err) {
  // have a look at the Transit instance
  console.log(transit)
})

transportation provides a replacement for node's console by using tconsole, so you can inspect the objects in the node.js REPL by using require('transportation/console'):

> var konsole = require('transportation/console')
> konsole(transit)
┌────────────┬─────┐
│ Agencies   │ SWU │
├────────────┼─────┤
│ # Stops    │ 773 │
├────────────┼─────┤
│ # Services │ 14  │
├────────────┼─────┤
│ # Shapes   │ 65  │
└────────────┴─────┘
> konsole(transit.agencies.SWU.routes)
┌───────┬────────────┬───────────────────────────────────────────────┬─────────┐
│ ID    │ Short Name │ Long Name                                     │ # Trips │
├───────┼────────────┼───────────────────────────────────────────────┼─────────┤
│ 87001 │ 1          │ Söflingen–Böfingen                            │ 613     │
├───────┼────────────┼───────────────────────────────────────────────┼─────────┤
│ 87003 │ 3          │ Wiblingen (Alte Siedlung)–Wissenschaftsstadt  │ 649     │
├───────┼────────────┼───────────────────────────────────────────────┼─────────┤
│ 87004 │ 4          │ Grimmelfingen–Kuhberg–Böfingen Süd            │ 590     │
└───────┴────────────┴───────────────────────────────────────────────┴─────────┘

Command Line

npm install -g transportation

transportation provides a binary transportation. It supports the following commands.

Export Vehicles' Positions as GeoJSON

Prints all vehicles' positions of a specific date as GeoJSON linestrings with time components:

transportation positions /path/to/gtfs/dir

By default multiple trips are simply newline-separated GeoJSON to support streaming. If you want to return a single JSON array use the --array flag. Additional options are available via transportation positions --help. The generated GeoJSON LineString has its time property set as an array of timestamps and is therefore compatible with tools like LeafletPlayback and others.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].