Home

Awesome

db-stations

A collection of all stations of Deutsche Bahn, computed from open data.

Warning: This module does not contain stations without an IBNR.

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

Installing

npm install db-stations

Note: This Git repo does not contain the data, but the npm package does.

Usage

readStations() returns a readable stream in object mode, emitting Friendly Public Transport Format station objects.

import {readStations} from 'db-stations'

for await (const station of readStations()) {
	console.log(station)
}
{
	type: 'station',
	id: '8000007', // EVA number
	ril100: 'FALZ', // RIL100/RL100/DS100 code
	nr: 133, // DB internal
	name: 'Alzey',
	weight: 73.1,
	location: {
		type: 'location',
		latitude: 49.7502,
		longitude: 8.109749
	},
	operator: {
		type: 'operator',
		id: 'zweckverband-schienenpersonennahverkehr-rheinland-pfalz-sud',
		name: 'ZPNV Süd'
	},
	address: {
		city: 'Alzey',
		zipcode: '55232',
		street: 'Bahnhofstr. 30'
	}
}
// and a lot more…

readFullStations() returns a readable stream in object mode, emitting Friendly Public Transport Format station objects with more information.

import {readFullStations} from 'db-stations'

for await (const station of readFullStations()) {
	console.log(station)
}
{
	type: 'station',
	id: '8000007',
	additionalIds: [],
	ril100: 'FALZ',
	nr: 133,
	name: 'Alzey',
	weight: 73.1,
	location: {
		type: 'location',
		latitude: 49.7502,
		longitude: 8.109749
	},
	operator: {
		type: 'operator',
		id: 'zweckverband-schienenpersonennahverkehr-rheinland-pfalz-sud',
		name: 'ZPNV Süd'
	},
	address: {
		city: 'Alzey',
		zipcode: '55232',
		street: 'Bahnhofstr. 30'
	},
	category: 3,
	priceCategory: 3,
	hasParking: true,
	hasBicycleParking: true,
	hasLocalPublicTransport: true,
	hasPublicFacilities: false,
	hasLockerSystem: false,
	hasTaxiRank: true,
	hasTravelNecessities: false,
	hasSteplessAccess: 'partial',
	hasMobilityService: 'no',
	hasWiFi: false,
	hasTravelCenter: false,
	hasRailwayMission: false,
	hasDBLounge: false,
	hasLostAndFound: false,
	hasCarRental: false,
	federalState: 'Rheinland-Pfalz',
	regionalbereich: {
		number: 5,
		name: 'RB Mitte',
		shortName: 'RB M'
	},
	timeTableOffice: {
		email: 'DBS.Fahrplan.RhldPfalzSaarland@deutschebahn.com',
		name: 'Bahnhofsmanagement Mainz'
	},
	szentrale: {
		number: 24,
		publicPhoneNumber: '06131/151055',
		name: 'Mainz Hbf'
	},
	stationManagement: {
		number: 184,
		name: 'Mainz'
	},
	ril100Identifiers: [ {
		rilIdentifier: 'FALZ',
		isMain: true,
		hasSteamPermission: true,
		geographicCoordinates: {
			type: 'Point',
			coordinates: [
				8.109684725,
				49.750267695
			]
		}
	} ]
}

Related

Contributing

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

Data License

The generated data in data.ndjson has originally been published under Creative Commons Attribution 4.0 International by Deutsche Bahn (DB).