Skip to content

Generate a JSON graph from Berlin & Brandenburg public transport.

License

Notifications You must be signed in to change notification settings

derhuerst/generate-vbb-graph

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

43 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

generate-vbb-graph

Generate a JSON graph from Berlin & Brandenburg public transport Writes a JGF file. See vbb-graph for published prebuilt data.

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

Installing

npm install -g generate-vbb-graph

Usage

Usage:
    generate-vbb-graph [-p subway,tram]
Options:
    --products             -p  A list of products. These are available:
                               suburban, subway, regional, tram, ferry, bus
    --projection           -P  Wether and how to project the station coordinates.
                               See juliuste/projections for details.
    --simple-lines         -s  Use a heuristic to keep only the most "canonical"
                               variant of each line. Default: false
    --simple-deduplication -d  Deduplicate edges without taking the travel
                               time into account. Default: false
    --lines-blacklist      -b  Apply a blacklist of weird lines. Default: false
Examples:
    generate-vbb-graph -p subway,tram -P mercator

This tool generates data in the JSON Graph Format. Note that instead of storing all nodes and edges in one JSON file, it will create nodes.ndjson and edges.ndjson. These are ndjson-encoded lists of all nodes and edges, respectively.

A node from nodes.ndjson looks like this:

{
	"id": "900000029101",
	"label": "S Spandau",
	"metadata": {
		"x": 536.66,
		"y": 326.25
	}
}

An edge from edges.ndjson looks like this:

{
	"source": "900000100001",
	"target": "900000003201",
	"relation": "regional",
	"metadata": {
		"line": "RB22",
		"time": 180
	}
}

Contributing

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