Skip to content
JavaScript Shell
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
build
.editorconfig
.gitignore
.travis.yml
index.js
license.md
package.json
readme.md
simple.js
test.js
vbb-logo.jpg

readme.md

vbb-stations 🚏

A collection of all stations of the Berlin Brandenburg public transport service (VBB), computed from open GTFS data.

npm version build status ISC-licensed gitter channel support me on Patreon

Installing

npm install vbb-stations

Usage

The npm package contains Friendly Public Transport Format 1.2.1 stations and stops. weight is the sum of all arrivals & departures at a station, weighted by mode of transport.

[
	{
		type: 'station',
		id: '900000009101',
		name: 'U Amrumer Str.',
		location: {
			type: 'location',
			latitude: 52.542202,
			longitude: 13.349534
		},
		weight: 3563
	}
]

You can filter all stations by id or any property (lodash.get will be used).

const stations = require('vbb-stations')

console.log(stations('900000009101')) // query a single station
console.log(stations({ // filter by property
	weight: 3563,
	'location.latitude': 52.542202
}))

full.json contains all stops of each station and unshortened names.

require('vbb-stations/full.json')['900000009101']

One entry looks like this:

{
	type: 'station',
	id: '900000009101',
	name: 'U Amrumer Str. (Berlin)',
	location: {
		type: 'location',
		latitude: 52.542202,
		longitude: 13.349534
	},
	weight: 3284.25,
	stops: [
		{
			type: 'stop',
			id: '070101000865',
			name: 'U Amrumer Str. (Berlin)',
			station: '900000009101',
			location: {
				type: 'location',
				latitude: 52.542202,
				longitude: 13.349534
			}
		},
		//
		{
			type: 'stop',
			id: '070201092402',
			name: 'U Amrumer Str. (Berlin)',
			station: '900000009101',
			location: {
				type: 'location',
				latitude: 52.542202,
				longitude: 13.349534
			}
		}
	]
}

names.json contains only shortened names.

require('vbb-stations/names.json')['900000009101'] // U Amrumer Str.

API

stations([pattern])

pattern can be one of the following:

  • a station ID, like 900000009101
  • 'all'
  • an object like {weight: 42, name: 'Alt Pinnow'}, with each property being mandatory

Contributing

If you have a question, found a bug or want to propose a feature, have a look at the issues page.

You can’t perform that action at this time.