vbb-stations-autocomplete

Search for stations of VBB.

Usage no npm install needed!

<script type="module">
  import vbbStationsAutocomplete from 'https://cdn.skypack.dev/vbb-stations-autocomplete';
</script>

README

vbb-stations-autocomplete

vbb-stations-autocomplete provides a stations search for the Berlin Brandenburg public transport service (VBB). It pulls its data from vbb-stations.

Note: Because there are ~ 13k stations, this module contains ~ 800k of data (~ 240k gzipped).

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

Installing

npm install vbb-stations-autocomplete

Usage

autocomplete(query, results = 3, fuzzy = false, completion = true)
const autocomplete = require('vbb-stations-autocomplete')
autocomplete('Seestr', 3)

This returns stations in a reduced form of the Friendly Public Transport Format. To get all details, pass each id into vbb-stations.

[
    {
        id: '900000009103', // U Seestr.
        relevance: 2.0817557,
        score: 40.8276194
    }, {
        id: '900000009105', // Seestr./Amrumer Str.
        relevance: 1.0408778,
        score: 15.7013362
    }, {
        id: '900000019103', // Seestr./Beusselstr.
        relevance: 1.3878371,
        score: 12.3226614
    }
]

If you set fuzzy to true, words with a Levenshtein distance <= 3 will be taken into account. This is a lot slower though:

test performance
non-fuzzy – U mehringdamm 325 ops/sec
fuzzy – U mehrigndamm 73 ops/sec

Setting completion to false speeds things up a lot:

test performance
completion – U friedr 306 ops/sec
no completion – U friedr 5076 ops/sec

Contributing

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