# Madrid Tickrail derived database Map and station data © OpenStreetMap contributors, available under the Open Database License. openstreetmap.org/copyright Schematic layouts computed with LOOM (University of Freiburg, Chair of Algorithms and Data Structures; github.com/ad-freiburg/loom), based on Bast, Brosi and Storandt, "Metro Maps on Octilinear Grid Graphs", EuroVis 2020. Tickrail is not affiliated with or endorsed by the University of Freiburg. ODbL 1.0. Individual contents: DbCL 1.0. As is, without warranty. Data snapshot: 2026-10-27. Scope: Metro de Madrid: 12 lines + Ramal (light-metro ML1-ML3 excluded). Pin SHA-256: cb2b673630fd6dd1e0cf3e981e593d3253baf35694314ee23f5b1ae14bf4e86d. Binary SHA-256: 78f9494b86a481c0c8a994af63ea4fa4ec43d1e1141a8f2efd2484573ee980c8. The unencrypted binary is exactly the asset bundled in the development build. JSON is its complete lossless twin. GeoJSON contains ground geometry and schematic properties; station chords are explicitly labelled where track geometry is missing. The gate report, not the existence of this file, determines release eligibility. Rebuild on macOS from ~/Projects/Android/tickrail: `python3 -m tools.citybuild build madrid --date 2026-10-27` Inputs: /Volumes/SSD/Data/metro-osm/pinned/madrid-2026-10-27.osm.json. No network requests occur during build. `pin` imports the feasibility snapshots; `fetch` explicitly refreshes to a NEW immutable date (Overpass, bounded to 100 MiB). `provenance.json` records every source's original OSM base timestamp and hash. Normalisation reuses the feasibility reference matchers, PTv2 stops/platforms and stop_area complexes. `patches.json` lists every applied patch, including scope guards. Names prefer OSM local/name:en/romanisation, then macOS ICU Any-Latin; Latin-ASCII. Optional Wikidata CC0 labels are hash-bound in wikidata provenance and exported beside this database. References come from the 2026-10-26 feasibility research, and require review when refreshing coverage counts. City speed values are explicitly model assumptions within BRIEF's 30–40 km/h range; they have not been independently established as current scheduled speeds. Schematic layout is computed locally, offline, with the unmodified LOOM build tool (GPL-3.0), commit 1e4757838104d1e4d22186c9b77d5fc4b98681a0. Its source and executables live only in /Volumes/SSD/Data/loom, never in this database, app repository, APK or data page. No operator diagrams, LOOM code or examples are copied. Layout needs designer review. Citation: Hannah Bast, Patrick Brosi and Sabine Storandt, **Metro Maps on Octilinear Grid Graphs**, Computer Graphics Forum 39(3), EuroVis 2020. https://doi.org/10.1111/cgf.13986 Tools used: Python standard library (graph normalization, routing, adapter, labels, binary encoding), macOS ICU (transliteration), Pillow (type measurement and rendering), and LOOM topo / loom / octi. No osmium, shapely, networkx or GTFS tool is used. LOOM's build-only dependencies include nlohmann/json (MIT), fmt (MIT), MurmurHash3 (public domain), util, and RTree.h (no licence text in that header, recorded residual). No Gurobi, GLPK, COIN, ILP solver or cppgtfs target is built or used. Exact solver-free command arguments, input/output SHA-256 and local executable hashes are recorded in loom-provenance.json. The stage order is topo, authoritative station/edge reconciliation, loom -m comb-no-ilp, octi -m heur (several recorded variants, the best measured one is kept), an exact import of the octilinear grid, Tickrail's own chain straightening and local repair (written from the paper, no LOOM code), and label placement. --write-stats is never passed; output keys are allowlisted. The measured G1–G9 thresholds are unchanged. Cached tool output is hash-verified: LOOM itself uses process-dependent ordering, so a fresh run is not promised to produce byte-identical geometry. See FORMAT.md for the versioned little-endian header/string table/type encoding. Publish this entire directory at https://zydeno.com/tickrail/data// before distributing an approved release. This compiler does not publish the page.