[Recap] OSM Route Master Structuring for Taoyuan Airport MRT, and the Broader Question of Modeling Through-Running Services

I kicked things off by pointing out that the Airport MRT seems to run six separate stopping patterns:

  • 00- — Direct/Express, calling only at A1, A3, A8, A12, A13
  • 00* — Peak-hour extended express with two extra stops (A18, A21)
  • 00◇ — Peak skip-stop local (A21→A18→A13→A12→A9, then all stations to A1)
  • 00 — Commuter (calls at all stations)
  • 00△ — Airport-bound Commuter (A1→A13 and A22→A12, all stations, supplementary)
    My question: does each pattern warrant its own route_master, given I wanted to attach Wikidata items to them?


System Map — Xy1904312, CC BY-SA 4.0, via Wikimedia Commons

1. Taoyuan Airport MRT — route_master scoping

Consensus reached: per the OSM wiki on route_master, variants that differ only in which stops they serve — not in destination — can share one master. A separate master is only warranted for genuine branching. On this basis, the top-level relation (6937084) was split into two masters, 普通車 Commuter and 直達車 Express, with sample Wikidata-linked tagging proposed:

name=桃園國際機場捷運  
type=network  
wikidata=Q4268353
name=普通車            
type=route_master  
wikidata=Q141252869  
network:wikidata=Q4268353

Participants noted the broader tradeoff: this level of granularity is essentially train-grade classification — accurate but maintenance-heavy, especially without automation. A related prior effort to model Taiwan HSR’s numbered-train relations had similarly gone stale after schedule changes.

2. Extended case — Through-running cases, Tokyo as example

Japan has one of the world’s most extensive rail networks, and correspondingly one of the most extensive systems of inter-operator through-running (直通運行) — trains that cross from one company’s line onto another’s rather than staying within a single operator’s route. The Chuo Rapid/Chuo-Sōbu comparison opened into a longer discussion of how to model this in Tokyo specifically (e.g., trains crossing between Tobu, Keisei, Keikyu, Toei, Tokyu, Seibu, and subway lines at hubs like Oshiage and Ikebukuro).

A recurring observation: OSM’s public transport tagging scheme was shaped largely around European and UK rail/transit conventions, where a route staying within one operator’s line is the norm — so it doesn’t map cleanly onto systems built around routine inter-operator through-running. A more inclusive schema, better accommodating operating models like Japan’s, was raised as something worth pursuing rather than forcing through-running services to fit the existing single-operator assumption. As one participant put it, half-jokingly, once the conversation turns to railways, Japanese railway systems always becomes the lingua franca.

The core tension in practice: treating every destination combination as a route variant risks pulling large portions of the network into shared relations, with routes whose endpoints fall outside their “home” line — comparable to Seoul Line 1.

Options considered:

  • Add each through-service to every operator’s relevant master — workable but can misrepresent a route’s ownership.
  • Model by “operating system” (per common Japanese rail terminology), grouping interlined services as one unit rather than by individual operator.
  • A dedicated “運用/交路” (duty-cycle/circulation) relation whose members are the individual routes composing one through-running trip — proposed as a cleaner structural fix.

Complicating factors raised: differing rolling-stock range restrictions per operator, and cases (e.g., Seibu Ikebukuro Line trains via Tokorozawa) where a single service can terminate under three different line identities depending on final routing.

As an interim, scoped step, alignment work began with the Airport Railroad Express (AREX) relation (15825720).

3. Side discussion — GTFS, multilinestring, and minimal PTv2 modeling

A tangential idea was raised: OSM’s multilinestring relation type could, in principle, auto-merge path fragments between stations — but only as a layer built on top of full GTFS timetable data, not a replacement for it; without such data, automated route assembly isn’t feasible. A minimal alternative was also discussed — PTv2 relations defined only by stop sequence, without full path geometry — with the caveat that routing between stops would then need to be inferred rather than mapped explicitly.


Reflist

Edits referenced in the thread

  • Changeset 188771163 — segment splitting work
    • Relation 21372841 Taoyuan Airport MRT Express Train
    • Relation 21376296 Taoyuan Airport MRT Express Train (Extended Service)
    • Relation 21372840 Taoyuan Airport MRT Commuter Train
  • Changeset 188777885 — Fixed mislabeled alt_name on relation 6937084
  • Changeset 188868939 — Peak-hour patterns with additional stops (r21376206) were reviewed as not require separate route_master
  • Changeset 188808065 — Top-level relation created to link the network, with the Green Line set to launch in Q4 2026.

Relations referenced

  • Relation 11382519 — Tokyo Metro
  • Relation 9841063 — Guangzhou Metro Line 3
  • Relation 8691899 — Seoul Metropolitan Subway Line 1
  • Relation 15825720 — Airport Railroad Express (AREX), used as an alignment reference to Airport MRT

Others

桃園機場捷運 route_master 結構討論,以及延伸至直通運行服務建模的更廣泛問題

桃園機場捷運目前似乎有六種不同的運行模式:

  • 00- — 直達車,只停靠 A1、A3、A8、A12、A13
  • 00* — 尖峰增停直達車,多停兩站(A18、A21)
  • 00◇ — 尖峰跳站普通車(A21→A18→A13→A12→A9,之後各站皆停至 A1)
  • 00 — 普通車(每站皆停)
  • 00△ — 往機場普通車(A1→A13 及 A22→A12,各站皆停,加開班次)

我想問的是:如果我要把每種運行模式各自綁定 Wikidata 項目,是否每種模式都需要各自建立一個 route_master?


路網圖 — Xy1904312,CC BY-SA 4.0,via Wikimedia Commons

1. 桃園機場捷運 — route_master 的範疇界定

最終達成的共識:依照 OSM wiki 上 route_master 的說明,只要是目的地相同、僅停靠站不同的變體,就可以共用同一個 route_master;只有在真正出現分岔(目的地不同)時,才需要另立新的 master。基於此原則,將頂層關聯(relation 6937084)拆分為兩個 master:普通車 Commuter 與 直達車 Express,並提出以下範例標籤,將其綁定 Wikidata:

name=桃園國際機場捷運  
type=network  
wikidata=Q4268353
name=普通車            
type=route_master  
wikidata=Q141252869  
network:wikidata=Q4268353

參與討論的圖客也指出這其中的取捨:做到這種細緻程度其實已經等同於列車等級分類——精確沒錯,但維護成本很高,尤其在缺乏自動化的情況下。先前嘗試為台灣高鐵的車次關聯建模的類似作法,也同樣在時刻表調整後陷入停滯、未再更新。

2. 延伸案例 — 直通運行案例,以東京為例

日本擁有全世界最龐大的鐵路網之一,相應地也發展出最為複雜的跨業者直通運行(直通運転)系統——也就是列車跨越不同公司的路線繼續行駛,而非侷限於單一業者的路線範圍。從中央特快/中央總武線各停的比較開始,延伸出一段較長的討論,探討該如何在 OSM 上為東京這類系統建模(例如列車跨越東武、京成、京急、都營、東急、西武及地下鐵各線,在押上、池袋等轉乘樞紐間穿梭)。一個一個一個的運行模式啊

討論中反覆提到一個觀察:OSM 的大眾運輸標籤系統在制定時,主要是以歐洲及英國的鐵路/運輸慣例為藍本,而在這些地區,路線通常侷限於單一業者範圍內——因此這套架構並不容易套用到像日本這種以跨業者直通運行為常態的系統上。與會者提出,與其硬將直通運行服務塞進既有的「單一業者」假設中,不如推動一套更具包容性的標籤架構,能更妥善地容納日本這類營運模式。有參與者半開玩笑地說,每次聊到鐵路,只要一牽扯到日本鐵道系統,就會變成共通語(lingua franca)。

實務上的核心矛盾在於:若把每一種目的地組合都當作一個路線變體處理,很容易把整個路網中相當大一部分都拉進同一組共用關聯裡,導致路線的起訖點反而落在其「所屬」路線之外——類似首爾地鐵1號線的情況。

考慮過的方案:

  • 將每個直通運行服務加入沿線各業者對應的 master — 可行,但可能造成路線歸屬不清的問題。
  • 依「運行系統」分組建立(依日本鐵路業界常見說法),將互相直通的服務視為一個整體單位,而非按個別業者區分。
  • 另立專屬的「運用/交路」關聯,其成員為構成一趟完整直通運行行程的各個路線 — 是一種較乾淨的結構性解法。

討論中也提到一些複雜因素:各業者對可駛入直通區間的車輛範圍限制不同;此外也有像是所澤發車的西武池袋線列車,最終可能以三種不同的路線身分抵達池袋(西武池袋線、有樂町線、副都心線)這類案例。

作為過渡做法,以仁川國際機場鐵道(AREX)關聯(relation 15825720)為範本進行範圍較小的編輯,有利於日常維護。

3. 附帶討論 — GTFS、multilinestring 與精簡版 PTv2 建模

討論中也提出一個較為發散的想法:OSM 的 multilinestring 關聯類型,理論上可以自動將車站之間的路徑片段合併起來——但這必須建立在完整 GTFS 時刻表資料之上,而非取代它;若缺乏這類資料,自動化的路線組合就不具可行性。另外也討論了一種精簡替代方案:PTv2 關聯只定義停靠站順序、不包含完整路徑幾何資訊——但代價是,之後若要據此做路線規劃,兩站之間的實際路徑就得靠推測,而非明確標繪出來。


參考資料

討論串中提及的編輯

  • Changeset 188771163 — 路線分段作業
    • Relation 21372841 桃園機場捷運 直達車
    • Relation 21376296 桃園機場捷運 直達車 (尖峰增停)
    • Relation 21372840 桃園機場捷運 普通車
  • Changeset 188777885 — 修正 relation 6937084 上標錯的 alt_name
  • Changeset 188868939 — 討諭尖峰增停模式(r21376206)不需另立獨立 route_master
  • Changeset 188808065 — 建立上層關聯以串連整個路網,以配合預計於 2026 年第四季通車的綠線

討論中提及的關聯

  • Relation 11382519 — 東京地下鐵
  • Relation 9841063 — 廣州地鐵3號線
  • Relation 8691899 — 首爾地鐵1號線
  • Relation 15825720 — 首爾仁川國際機場鐵道(AREX)

其他