Module:Adjacent stations/Swiss Federal Railways
Yi palo
Documentation for this module may be created at Module:Adjacent stations/Swiss Federal Railways/doc
local ch = "%1 railway station (Switzerland)"
local hbf = "[[%1 Hauptbahnhof|%1 Hbf]]"
local r = {
["title"] = "[[Regio (Swiss railway train)|Regio]]",
["icon"] = "[[File:SBB R Logo.svg|20px|link=Regio (Swiss railway train)]]",
}
local re = {
["title"] = "[[RegioExpress]]",
["icon"] = "[[File:SBB RE Logo.svg|20px|link=RegioExpress]]",
}
local p = {
["system title"] = "[[Swiss Federal Railways]]",
["system icon"] = "[[File:SBB logo simplified.svg|20px|link=Swiss Federal Railways]]",
["system color"] = "ff0000",
["station format"] = {
"%1 railway station",
["Altdorf"] = ch,
["Biel/Bienne Bözingenfeld/Champ"] = "[[Biel/Bienne Bözingenfeld/Champ railway station|Biel/Bienne Bözingenfeld/​Champ]]",
["Frankfurt (Main)"] = hbf,
["Graz"] = hbf,
["Meroux"] = "Belfort – Montbéliard TGV station",
["München"] = hbf,
["Rheinfelden"] = ch,
["Sion"] = ch,
["Stuttgart"] = hbf,
["Zürich"] = "[[Zürich Hauptbahnhof]]",
["Zürich Hauptbahnhof"] = "%1",
},
["name format"] = "font-size:160%; font-family:Helvetica; font-weight:bolder; font-kerning:auto; font-stretch:expanded; color:#FFFFFF; background-color:#0E3984; padding:0.5em 4px; text-align:center; align-items:center;",
["header background color"] = "EB1A00",
["header text color"] = "FFFFFF",
["lines"] = {
["_default"] = {
["color"] = "ff0000",
},
-- InterCity services
["IC 1"] = {
["title"] = "[[InterCity (Switzerland)|IC 1]]",
["color"] = "e43d2e",
["left terminus"] = "Geneva Airport",
["right terminus"] = "St. Gallen",
["icon"] = "[[File:IC 1 logo.svg|40px|link=InterCity (Switzerland)]]",
},
["IC 2"] = {
["title"] = "[[InterCity (Switzerland)|IC 2]]",
["color"] = "8781bd",
["left terminus"] = "Zürich Hauptbahnhof",
["right terminus"] = "Lugano",
["icon"] = "[[File:IC 2 logo.svg|40px|link=InterCity (Switzerland)]]",
},
["IC 3"] = {
["title"] = "[[InterCity (Switzerland)|IC 3]]",
["color"] = "00984a",
["left terminus"] = "Basel SBB",
["right terminus"] = "Chur",
["icon"] = "[[File:IC 3 logo.svg|40px|link=InterCity (Switzerland)]]",
},
-- At least for 2023 the IC 4 lost its number
["IC 4"] = {
["title"] = "[[InterCity (Switzerland)|IC]]",
["color"] = "c9a527",
["left terminus"] = "Zürich Hauptbahnhof",
["right terminus"] = "Stuttgart",
["icon"] = "[[File:IC generic logo.svg|40px|link=InterCity (Switzerland)]]",
},
["IC 5"] = {
["title"] = "[[InterCity (Switzerland)|IC 5]]",
["color"] = "f7941d",
["left terminus"] = {"Geneva Airport", "Lausanne"},
["right terminus"] = "Rorschach",
["icon"] = "[[File:IC 5 logo.svg|40px|link=InterCity (Switzerland)]]",
["types"] = {
["Geneva Airport"] = {
["title"] = "",
["left terminus"] = "Geneva Airport",
["right terminus"] = "Rorschach",
},
["Lausanne"] = {
["title"] = "",
["left terminus"] = "Lausanne",
["right terminus"] = "Zürich Hauptbahnhof",
},
}
},
["IC 6"] = {
["title"] = "[[InterCity (Switzerland)|IC 6]]",
["color"] = "8dc63f",
["left terminus"] = "Basel SBB",
["right terminus"] = "Brig",
["icon"] = "[[File:IC 6 logo.svg|40px|link=InterCity (Switzerland)]]",
},
["IC 8"] = {
["title"] = "[[InterCity (Switzerland)|IC 8]]",
["color"] = "009bdf",
["left terminus"] = "Brig",
["right terminus"] = "Romanshorn",
["icon"] = "[[File:IC 8 logo.svg|40px|link=InterCity (Switzerland)]]",
},
["IC 21"] = {
["title"] = "[[InterCity (Switzerland)|IC 21]]",
["color"] = "ffc80b",
["text color"] = "000000",
["left terminus"] = "Basel SBB",
["right terminus"] = "Lugano",
["icon"] = "[[File:IC 21 logo.svg|40px|link=InterCity (Switzerland)]]",
},
["IC 51"] = {
["title"] = "[[InterCity (Switzerland)|IC 51]]",
["color"] = "b01116",
["left terminus"] = "Biel/Bienne",
["right terminus"] = "Basel SBB",
["icon"] = "[[File:IC 51 logo.svg|40px|link=InterCity (Switzerland)]]",
},
["IC 61"] = {
["title"] = "[[InterCity (Switzerland)|IC 61]]",
["color"] = "ef59a1",
["left terminus"] = "Basel SBB",
["right terminus"] = "Interlaken Ost",
["icon"] = "[[File:IC 61 logo.svg|40px|link=InterCity (Switzerland)]]",
},
["IC 81"] = {
["title"] = "[[InterCity (Switzerland)|IC 81]]",
["color"] = "6aa2bb",
["left terminus"] = "Interlaken Ost",
["right terminus"] = "Romanshorn",
["icon"] = "[[File:IC 81 logo.svg|40px|link=InterCity (Switzerland)]]",
},
-- IR (InterRegio)
["IR 13"] = {
["title"] = "[[InterRegio|IR 13]]",
["color"] = "f391bc",
["text color"] = "000000",
["left terminus"] = "Zürich Hauptbahnhof",
["right terminus"] = "Chur",
["icon"] = "[[File:IR 13 logo.svg|40px|link=InterRegio#Switzerland]]",
},
["IR 15"] = {
["title"] = "[[InterRegio|IR 15]]",
["color"] = "11b895",
["left terminus"] = "Geneva Airport",
["right terminus"] = "Lucerne",
["icon"] = "[[File:IR 15 logo.svg|40px|link=InterRegio#Switzerland]]",
},
["IR 16"] = {
["title"] = "[[InterRegio|IR 16]]",
["color"] = "a07032",
["left terminus"] = "Bern",
["right terminus"] = "Zürich Hauptbahnhof",
["icon"] = "[[File:IR 16 logo.svg|40px|link=InterRegio#Switzerland]]",
},
["IR 26"] = {
["title"] = "[[InterRegio|IR 26]]",
["color"] = "af8889",
["left terminus"] = "Basel SBB",
["right terminus"] = "Airolo",
["icon"] = "[[File:IR 26 logo.svg|40px|link=InterRegio#Switzerland]]",
},
["IR 27"] = {
["title"] = "[[InterRegio|IR 27]]",
["color"] = "5b6e25",
["left terminus"] = "Basel SBB",
["right terminus"] = "Lucerne",
["icon"] = "[[File:IR 27 logo.svg|40px|link=InterRegio#Switzerland]]",
},
["IR 36"] = {
["title"] = "[[InterRegio|IR 36]]",
["color"] = "ad227a",
["left terminus"] = "Basel SBB",
["right terminus"] = "Zürich Airport",
["icon"] = "[[File:IR 36 logo.svg|40px|link=InterRegio#Switzerland]]",
},
["IR 37"] = {
["title"] = "[[InterRegio|IR 37]]",
["color"] = "b8da89",
["text color"] = "000000",
["left terminus"] = "Basel SBB",
["right terminus"] = "Zürich Hauptbahnhof",
["icon"] = "[[File:IR 37 logo.svg|40px|link=InterRegio#Switzerland]]",
},
["IR 70"] = {
["title"] = "[[InterRegio|IR 70]]",
["color"] = "f391bc",
["text color"] = "000000",
["left terminus"] = "Lucerne",
["right terminus"] = "Zürich Hauptbahnhof",
["icon"] = "[[File:IR 70 logo.svg|40px|link=InterRegio#Switzerland]]",
},
["IR 75"] = {
["title"] = "[[InterRegio|IR 75]]",
["color"] = "754c98",
["left terminus"] = "Lucerne",
["right terminus"] = "Konstanz",
["icon"] = "[[File:IR 75 logo.svg|40px|link=InterRegio#Switzerland]]",
},
["IR 90"] = {
["title"] = "[[InterRegio|IR 90]]",
["color"] = "007ca3",
["left terminus"] = "Geneva Airport",
["right terminus"] = "Brig",
["icon"] = "[[File:IR 90 logo.svg|40px|link=InterRegio#Switzerland]]",
},
["Brig–Domodossola"] = {
["title"] = "[[InterRegio]]",
["left terminus"] = "Brig",
["right terminus"] = "Domodossola",
["icon"] = "[[File:SBB IR Logo.svg|20px|link=InterRegio#Switzerland]]",
},
-- R (Regio)
["R La Chaux-de-Fonds–La Chaux-de-Fonds"] = {
["title"] = r.title,
["icon"] = r.icon,
["left terminus"] = "La Chaux-de-Fonds",
["right terminus"] = "La Chaux-de-Fonds",
},
["R La Chaux-de-Fonds/Moutier–Biel/Bienne"] = {
["title"] = r.title,
["icon"] = r.icon,
["left terminus"] = {"La Chaux-de-Fonds", "Moutier"},
["right terminus"] = "Biel/Bienne",
["types"] = {
["La Chaux-de-Fonds"] = {
["title"] = "",
["left terminus"] = "La Chaux-de-Fonds",
},
["Moutier"] = {
["title"] = "",
["left terminus"] = "Moutier",
},
},
},
["R Le Locle–La Chaux-de-Fonds"] = {
["title"] = r.title,
["icon"] = r.icon,
["left terminus"] = "Le Locle",
["right terminus"] = "La Chaux-de-Fonds",
},
["R Le Locle–Neuchâtel"] = {
["title"] = r.title,
["icon"] = r.icon,
["left terminus"] = "Le Locle",
["right terminus"] = "Neuchâtel",
},
-- RE (RegioExpress)
["RE La Chaux-de-Fonds–Biel/Bienne"] = {
["title"] = re.title,
["icon"] = re.icon,
["left terminus"] = "La Chaux-de-Fonds",
["right terminus"] = "Biel/Bienne",
},
-- RegioExpress
["RegioExpress"] = {
["title"] = "[[RegioExpress]]",
["icon"] = "[[File:SBB RE Logo.svg|20px|link=RegioExpress]]",
["types"] = {
["Aarau–Arth-Goldau"] = {
["title"] = "''Südbahn-Express''",
["left terminus"] = "Aarau",
["right terminus"] = "Arth-Goldau",
},
["Aarau-Zürich"] = {
["title"] = "",
["left terminus"] = "Aarau",
["right terminus"] = "Zürich Hauptbahnhof",
},
["Annemasse–St-Maurice"] = {
["title"] = "",
["left terminus"] = {"Annemasse", "Geneva Airport"},
["right terminus"] = "St-Maurice",
},
["Frasne–Neuchâtel"] = {
["title"] = "",
["left terminus"] = "Frasne",
["right terminus"] = "Neuchâtel",
},
["La Chaux-de-Fonds-Biel/Bienne"] = {
["title"] = "",
["left terminus"] = "La Chaux-de-Fonds",
["right terminus"] = "Biel/Bienne",
},
["Le Locle–Neuchâtel"] = {
["title"] = "",
["left terminus"] = "Le Locle",
["right terminus"] = "Neuchâtel",
},
["Meroux-Biel/Bienne"] = {
["title"] = "",
["left terminus"] = "Meroux",
["right terminus"] = "Biel/Bienne",
},
["Olten-Lucerne"] = {
["title"] = "",
["left terminus"] = "Olten",
["right terminus"] = "Lucerne",
},
["Olten-Wettingen"] = {
["title"] = "",
["left terminus"] = "Olten",
["right terminus"] = "Wettingen",
},
["Renens–St-Maurice"] = {
["title"] = "",
["left terminus"] = "Renens VD",
["right terminus"] = "St-Maurice",
["note-mid"] = "Limited service",
},
["Zürich-Schaffhausen"] = {
["title"] = "",
["left terminus"] = "Zürich Hauptbahnhof",
["right terminus"] = "Schaffhausen",
},
},
},
["Regio"] = {
["title"] = "[[Regio (Swiss railway train)|Regio]]",
["icon"] = "[[File:SBB R Logo.svg|20px|link=Regio (Swiss railway train)]]",
["types"] = {
["Corcelles-Peseux–Neuchâtel"] = {
["title"] = "",
["left terminus"] = "Corcelles-Peseux",
["right terminus"] = "Neuchâtel",
},
["La Chaux-de-Fonds/Moutier–Biel/Bienne"] = {
["title"] = "",
["left terminus"] = {"La Chaux-de-Fonds", "Moutier"},
["right terminus"] = "Biel/Bienne",
},
["Le Locle–La Chaux-de-Fonds"] = {
["title"] = "",
["left terminus"] = "Le Locle",
["right terminus"] = "La Chaux-de-Fonds",
},
["Neuchâtel-Biel/Bienne"] = {
["title"] = "",
["left terminus"] = "Neuchâtel",
["right terminus"] = "Biel/Bienne",
},
["Sonceboz-Sombeval–Moutier"] = {
["title"] = "",
["left terminus"] = "Sonceboz-Sombeval",
["right terminus"] = "Moutier",
},
["Yverdon-les-Bains–Neuchâtel"] = {
["title"] = "",
["left terminus"] = "Yverdon-les-Bains",
["right terminus"] = "Neuchâtel",
},
},
},
-- S-bahn lines in Solothurn
["S20"] = {
["title"] = "S20",
["color"] = "ec008c",
["text color"] = "FFFFFF",
["left terminus"] = {"Biel/Bienne", "Oberdorf SO"},
["right terminus"] = "Olten",
},
["S21"] = {
["title"] = "S21",
["color"] = "93725f",
["text color"] = "FFFFFF",
["left terminus"] = "Moutier",
["right terminus"] = "Solothurn",
},
["S22"] = {
["title"] = "[[Oensingen–Balsthal railway line|S22]]",
["color"] = "3b6199",
["text color"] = "FFFFFF",
["left terminus"] = "Oensingen",
["right terminus"] = "Balsthal",
},
-- Seasonal service
["Verbier Express"] = {
["title"] = "''Verbier Express''",
["left terminus"] = "Annemasse",
["right terminus"] = "Le Châble",
},
},
}
-- Import EuroCity services
local ec = require('Module:Adjacent stations/EuroCity')
local ec_lines = {
"EC Basel-Milan",
"EC Frankfurt-Milan",
"EC Geneva-Milan",
"EC Hamburg-Interlaken",
"EC Hamburg-Zürich",
"EC Zürich-Graz",
"EC Zürich-Milan",
"EC Zürich-München"
}
for k, v in pairs(ec_lines) do
p["lines"][v] = ec["lines"][v]
p["lines"][v]["icon"] = "[[File:SBB EC Logo.svg|20px|link=EuroCity]]"
end
return p