Skip to content

Trott/transportation

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

68 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

About

node.js module to display and manipulate public transport data

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 100.0%