Skip to content

Latest commit

 

History

History
108 lines (58 loc) · 2.73 KB

readme.md

File metadata and controls

108 lines (58 loc) · 2.73 KB

transit-map

Generate a schematic map (“metro map”) for a given (transit) network graph using a Mixed Integer Programming approach. Part of the Generating Transit Maps project.

This fork is is based on the great Transit Map project of juliuste. But the solver in this solution is the open CBC solver. Therefore, the commercial Gurobi solver is not needed anymore.

license

Installation & Requirements

What you need:

  • node.js 8.0 or higher installed
  • cbc.exe 1.6 or higher. The location of the file needs to be added in your PATH variable.

Usage

CLI

You need a JSON graph representation of your transit network that looks like this example for the Berlin Metro (U-Bahn). You can then generate a transit map for the given graph by running:

cat graph.json | node.exe cli.js > output.svg

For further information on several CLI options/params, run:

node.exe cli.js --help

Examples

🇩🇪 Berlin (Metro)

Input

Berlin metro network

Output

Berlin metro map

Using this input graph. Running time ≈40sec.

🇦🇹 Vienna (Metro)

Input

Vienna metro network

Output

Vienna metro map

Using this input graph. Running time ≈20sec.

🇸🇪 Stockholm (Metro)

Input

Stockholm metro network

Output

Stockholm metro map

Using this input graph. Running time ≈20sec.

🇵🇹 Lisbon (Metro)

Input

Lisbon metro network

Output

Lisbon metro map

Using this input graph. Running time ≈15sec.

🇫🇷 Nantes (Tram)

Input

Nantes metro network

Output

Nantes metro map

Using this input graph. Running time ≈15sec.

🇫🇷 Montpellier (Tram)

Input

Montpellier tram network

Output

Montpellier tram map

Using this input graph. Running time ≈20sec.