Generate a schematic map (“metro map”) for a given (transit) network graph using Mixed Integer Programming.
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.
Work in progress, DO NOT USE THIS IN PRODUCTION! See todo.
Sadly, for now, you need a valid copy of the commercial Gurobi solver (free academic licenses) in order to run this project. In the near future however, this project will hopefully also support the open CBC
solver. Stay tuned.
What you need:
Then, to install the package (for CLI usage), simply run:
npm install -g transit-map
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 | transit-map > output.svg
For further information on several CLI options/params, run:
transit-map --help
The module can be used as a JS library, documentation for this will follow.
Using this input graph. Running time ≈40sec.
Using this input graph. Running time ≈20sec.
Using this input graph. Running time ≈20sec.
Using this input graph. Running time ≈15sec.
Using this input graph. Running time ≈15sec.
Using this input graph. Running time ≈20sec.
Things I am still working on or someone should work on in the future, roughly in order of perceived importance:
If you found a bug or want to propose a feature, feel free to visit the issues page.