Skip to content

Generate a schematic map (“metro map”) for a given (transit) network graph using Mixed Integer Programming.

License

Notifications You must be signed in to change notification settings

budul100/transit-map

 
 

Repository files navigation

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.

About

Generate a schematic map (“metro map”) for a given (transit) network graph using Mixed Integer Programming.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 97.5%
  • Batchfile 2.0%
  • PowerShell 0.5%