Aline Schaufelberger - 12142881
The Paper: Metro Maps on Octilinear Grid Graphs
The Approximation Algorithm
  • Order the input graph edges
  • Calculate shortest path from possible start nodes to possible end nodes on grid graph
  • If no Drawing found: Randomize Edge Ordering
  • Optimize Drawing via Local Search
  • This is a project extension from the 2022 Project: MetroMaps. The extension consists of adding the river data in the similar octilinear gri style.
    The Approximation Algorithm - Edge Routing and Station Placement
    establish edge ordering: edges in denser areas of the network are processed earlier
    create empty octilinear grid graph O and corresponding auxiliary graph A


    use edge ordering to iterate over edges; for each edge:
    The Approximation Algorithm - Input Edge Ordering
    1. Mark Node with highest LDEG as dangling
    2. While there are dangling nodes: Add all adjacent edges leading to an unprocessed node to the edge ordering
    3. Mark each just added node as dangling, the just processed node as processed
    Our Implementation - Technology
    Back-End: Python
    Front-End: HTML/JS/CSS Data: Pulled from various Public Transport Providers, JSON, Acea Smart Water Analytics
    Our Implementation - Back-End
    Python + Flask
    1. Load the River Data into JSON files
    2. Load the Metro and River Data from JSON into a NX Graph
    3. Build NX Octilinear Graph in required Size
    4. Order the Edges
    5. Route the Edges and their Stations
    6. Convert NX Graph to JSON and dispatch to Front-End
    Our Implementation - Front-End
    Web-Stack + Leaflet
    1. Set up two Maps
    2. Request JSON Graph and unchanged Map from Back-End
    3. Iterate through JSONs, convert all Web Mercator Coordinates to WGS84
    4. Place all Stations and all Lines
    Reference
    Bast, Hannah & Brosi, Patrick & Storandt, Sabine. (2020). Metro Maps on Octilinear Grid Graphs. Computer Graphics Forum. 39. 357-367. 10.1111/cgf.13986.
    Map overlay:
    Show Rivers:
    River Opacity:
    City:
    Data source:
    Grid Resolution: