Awesome
VBB JavaScript modules
This is a list of JavaScript modules for Berlin & Brandenburg public transport (VBB), grouped by their data source.
Friendly Public Transport Format
Most of the modules below should be compatible with the Friendly Public Transport Format by now, making them interoperable.
Static Data
VBB publishes static public transport data (stops of all trains of all lines at all stations) as GTFS. These GTFS data sets look & feel like a database dump, so a lot of processing needs to be done to actually consume this data.
Modules containing processed static data:
vbb-gtfs.jannisr.de
– Raw data for Berlin & Brandenburg public transport.vbb-stations
– A list of stations.vbb-lines
– Lines and their stations.vbb-lines-at
– Which lines run at a station?vbb-stations-connected-to
– Get all stations connected to a station.vbb-trips
– When do trains run where?vbb-shapes
– Shapes of lines.vbb-runs-every
– Compute frequencies of departures and routes. unmaintainedvbb-translate-ids
– Translate VBB IDs from 9-digit to 12-digit and reverse.vbb-static
– outdated, use the modules above
Modules to find stations:
vbb-stations-autocomplete
– Autocomplete stations.vbb-find-stations
– Search for stations.vbb-stations-cli
– Find and filter stations from the command line.
Modules with additional data:
vbb-change-positions
– Station-specific platform positions for changes between vbb main lines.vbb-fare-zones
– All VBB stations and their fare zones.vbb-station-operators
– Which operator services a Berlin public transport station?vbb-common-places
– Aliases for common stations.vbb-osm-relations
– VBB lines, platforms, entrances and their OSM relations.vbb-station-photos
– Photos of every subway station in Berlin.vbb-platform-patterns
– VBB station platform wall (tile) color patterns.vbb-stations-with-wifi
– VBB stations with free wifi and their BSSIDs.vbb-stations-with-bicycle-parking
– VBB stations with nearby bicycle parking facilities. Taken from OSM.vbb-logos
– Nice SVG logos for Berlin & Brandenburg public transport.vbb-entrances
– Entrances for VBB stations. outdatedvbb-delays-list
– Statistics on delays at VBB stations. unfinishedvbb-graph
– Berlin & Brandenburg public transport as JSON graph.
APIs
VBB also provides an API under a proprietary license. This public API provides all the information they have, but is rate-limited, doesn't have CORS and isn't REST.
The VBB app talks to another private API that has no rate limits. Please note that the usage of this API is not officially endorsed and does not have any licensing. Use it through the modules below at your own risk.
These modules can be used to query data from the (private) API and other places.
API is down for now, see derhuerst/vbb-rest#29.vbb-client
– An API client forvbb-rest
, covering all of VBB, deployed at2.vbb.transport.rest
.vbb-rest
– An HTTP API, covering all of VBB.vbb-hafas
– A client for their HAFAS API.hafas-collect-departures-at
– Utility to collect departures, using any HAFAS client.hafas-monitor-trips
– Using a HAFAS endpoint, watch all trips in a bounding box.hafas-live-ws-server
– A WebSocket server that sends out live HAFAS data.hafas-monitor-trips-server
– A server that manages HAFAS monitors.hafas-monitor-departures
– Pass in a HAFAS client, fetch all departures at any set of stations.hafas-gtfs-rt-feed
– Generate a GTFS Realtime feed by monitoring a HAFAS endpoint.find-hafas-data-in-another-hafas
– Find data from one HAFAS endpoint in another HAFAS endpoint.hafas-client
– A client for HAFAS mobile APIs.cached-hafas-client
– Pass in a HAFAS client, cache data from it.hafas-client-rpc
– Make JSON-RPC calls tohafas-client
via WebSockets & stdio.observe-hafas-client
– Observe all departures/arrivals/etc. returned byhafas-client
.hafas-rest-api
– Expose a HAFAS client via an HTTP REST API.vbb-disruptions
– Disruptions in VBB public transport.sbahn-berlin-tweets
– Fetch & parse@SBahnBerlin
tweets on the operating status of S-Bahn Berlin.augment-vbb-hafas
– Augment VBB HAFAS responses with realtime data from other channels.vbb-positions-stream
– A realtime stream for positions of buses and trains.
Tools, UIs & Experiments
pan-european-public-transport
– Merges data from API endpoints for various regions to get better public transport routing than what one endpoint provides. unfinished -stable-public-transport-ids
– Get stable IDs for public transport data. unfinishedmonitor-hafas-cli
– Monitor any HAFAS endpoint from the command line.record-hafas-data
– CLI tool to record data frommonitor-hafas-cli
into a LevelDB.vbb-cli
– A CLI for VBB.vbb-telegram
– A Telegram bot for VBB.vbb-map-routing
– Travel in Berlin, using a map. unfinishedvbb-journey-ui
– UI component for displaying a journey like in Google Maps.vbb-delays-map
– A map showing delays of public transport in Berlin. outdatedgenerate-vbb-gtfs
– Generate clean GTFS from VBB data. unfinishedbvg-topological-map
– BVG transport map as a nice SVG.vbb-stations-html
– An HTML index of all VBB stations.vbb-web
– A web client for Berlin & Brandenburg public transport.vbb-anybar
– Let the status bar show you when to catch the train.vbb-get-off-bot
– A Telegram bot that helps you get off your train on time.hafas-linked-connections-server
– Create a Linked Connections endpoint from a HAFAS client.berlin-commute-footprint
– Compare cost, environmental and health impact of commuting by car, public transport of bike. unfinishedpredict-vbb-delays
– Predict delays of Berlin public transport vehicles. unfinishedvbb-routing
– Compute journeys based on the VBB GTFS data. unfinishednaive-gtfs-routing
– A naive routing engine for GTFS data. unfinishedremix-bvg-map-frontend
– A website that allows you to remix the BVG transit map. unfinishedremix-bvg-map-backend
– The backend of a website that allows you to remix the BVG transit map. unfinished
From the How to automatically generate transit maps. experiment:
generate-vbb-graph
– Berlin & Brandenburg public transport as JGF file.generate-vbb-transit-map
– Generate an SVG transit map for Berlin public transport.transit-map-generator
– Generate and optimize transit maps interactively. unfinsihedvbb-graph-computation-server
– A web service to queue VBB transit map computations. unfinsihed
Modules I'm not willing to maintain right now:
vbb-map
– Render lines on a map. unmaintainedvbb-osm-map
– Render lines on a map, using OpenStreetMap. unmaintainedvbb-toy-map-feed
– A live feed for the BVG delays map. unmaintainedvbb-station-graph
– Visualize public transport next to any station. unmaintained
Community
Modules by others, in no particular order:
vbb-stations
– Lists of stations in Berlin which are operated by BVG or S-Bahn.MMM-PublicTransportBerlin
– MagicMirror module to display public transport with VBB Hafas data.vbb-interactive
– Attempt to draw the VBB public transport map with JS and SVGisometric-icons
– VBB toy map, created at mobility{hacks} 2016vbb-delay-map
– VBB delay map, created at mobility{hacks} 2016vbb-bot
– A bot that tells you times for public transport in BerlinInfoVis-VBB-Fahrplandaten-Starplot
– Eine Informationsvisualisierung der VBB-Fahrplandaten von Dezember 2014 bis Dezember 2015.VBBNow
– A VBB NotificationCenter Widget. It shows the nearby transit informationvbb_permalink
– Ein Bookmarklet, das Permalinks von VBB-Fahrinfo und der Deutschen Bahn generiert.berlin-transport-status
– Distributed crawler for VBB-Fahrinfo written in node.jsvbb-json
– JSON-API wrapper around the VBB APIvbbFXOS
– vbb maps ported to firefox osvbb-coverage
– Visualization of the VBB data fromdaten.berlin.de
Utilities
These modules perform a specific distinct task. They are used by the modules above.
vbb-parse-line
– Parse VBB lines like M4, TXL, S42.vbb-sort-lines
– Sort VBB lines by their importance.vbb-mode-weights
– Weights of modes of public transport in Berlin.merge-vbb-stations
– Heuristic to find VBB stations & stops that should be one.merged-vbb-stations
– A precomputed list of VBB stations that should be one.vbb-parse-ticket
– Parse ticket information from the HAFAS API.vbb-short-station-name
– Remove noise from station names.vbb-tokenize-station
– Make station names search-safe.vbb-line-colors
– Colors of VBB lines.are-vbb-hafas-stations-the-same
– Check if two stations from the VBB API should be one.hafas-discover-stations
– Pass in a HAFAS client, discover stations by querying departures.hafas-estimate-station-weight
– Pass in a HAFAS client, estimate the importance of a station.hafas-monitor-journeys
– Use any HAFAS API to monitor journeys from A to B.hafas-fetch-track-slice
– Pass in a journey (leg) ID, get a slice between stations of its track.hafas-find-trips
– Provide location and bearing, get a list vehicles you're most likely in.hafas-find-alternative-legs
– Given a journey, get alternatives for each leg from HAFAS.fetch-commute-from-hafas
– For a set commuting instructions, fetch journeys from HAFAS.vbb-line-variant-score
– Identify the canonical variants of a VBB line.osm-transit-lines
– Fetch public transit lines from OpenStreetMap for a given area (bounding box).