Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

vbb-stations

derhuerst540ISC8.22.0

A list of VBB stations.

vbb, berlin, brandenburg, public transport, stations, open data, json, ndjson, gtfs

readme

vbb-stations 🚏

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

npm version ISC-licensed support me via GitHub Sponsors chat with me on Twitter

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: '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.