db-stations-autocomplete

Search for stations of DB.

Usage no npm install needed!

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

README

db-stations-autocomplete

db-stations-autocomplete provides a stations search for Deutsche Bahn. Pulls its data from db-stations@4 (There's also db-hafas-stations-autocomplete, which pulls its data from db-hafas-stations).

npm version ISC-licensed minimum Node.js version support me via GitHub Sponsors chat with me on Twitter

Installing

npm install db-stations-autocomplete

Usage

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

This returns stations in a reduced form of the Friendly Public Transport Format. To get all details, pass use db-stations.

[ {
    id: '8000261', // München Hbf
    relevance: 0.8794466403162056,
    score: 11.763480191996974,
    weight: 2393.2
}, {
    id: '8004128', // München Donnersbergerbrücke
    relevance: 0.8794466403162056,
    score: 9.235186720706798,
    weight: 1158
}, {
    id: '8004132', // München Karlsplatz
    relevance: 0.8794466403162056,
    score: 9.144716179768407,
    weight: 1124.3
} ]

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 – berlin charlottenburg 626 ops/sec
fuzzy – berlin charlottenbrug (note the typo) 108 ops/sec

Setting completion to false speeds things up:

test performance
completion – Münc Hbf 592 ops/sec
no completion – Münc Hbf 12635 ops/sec

Contributing

If you have a question or need support using db-stations-autocomplete, please double-check your code and setup first. If you think you have found a bug or want to propose a feature, use the issues page.