Awesome
vbb-stations 🚏
A collection of all stations of the Berlin Brandenburg public transport service (VBB), computed from open GTFS data.
Installing
npm install vbb-stations
Usage
The npm package contains Friendly Public Transport Format 1.2.1 station
s and stop
s. weight
is the sum of all arrivals & departures at a station, weighted by mode of transport.
[
{
type: 'station',
id: 'de:11000:900009101',
name: 'U Amrumer Str.',
location: {
type: 'location',
latitude: 52.542202,
longitude: 13.349534
},
weight: 2474,
}
]
You can filter all stations by id
or any property (lodash.get
will be used).
const stations = require('vbb-stations')
console.log(stations('de:11000:900009101')) // query a single station
console.log(stations({ // filter by property
weight: 2474,
'location.latitude': 52.542202
}))
full.json
contains all stops of each station and unshortened names.
require('vbb-stations/full.json')['de:11000:900009101']
One entry looks like this:
{
type: 'station',
id: 'de:11000:900009101',
name: 'U Amrumer Str. (Berlin)',
location: {
type: 'location',
latitude: 52.542202,
longitude: 13.349534
},
weight: 2474,
stops: [
{
type: 'stop',
id: 'de:11000:900009101::1',
name: 'U Amrumer Str. (Berlin)',
station: 'de:11000:900009101',
location: {
type: 'location',
latitude: 52.542202,
longitude: 13.349534
}
},
// …
{
type: 'stop',
id: 'de:11000:900009101::2',
name: 'U Amrumer Str. (Berlin)',
station: 'de:11000:900009101',
location: {
type: 'location',
latitude: 52.542202,
longitude: 13.349534
}
}
]
}
names.json
contains only shortened names.
require('vbb-stations/names.json')['de:11000:900009101'] // U Amrumer Str.
API
stations([pattern])
pattern
can be one of the following:
- a station ID, like
de:11000:900009101
'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.