This commit is contained in:
2026-04-14 20:02:23 +02:00
parent b36d2602d4
commit ec97b915ed
39 changed files with 34391 additions and 167324 deletions
+229 -166
View File
@@ -1,184 +1,247 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
S-Bahn München Network Map Data
Extracted from Netzplan_S-Bahn_München.svg (Stand: Dezember 2024)
CC-BY-SA Zeno Heilmaier
Coordinate system: SVG viewBox 0 0 2400 1280
x/y = center of station marker circle (or midpoint between circles for multi-circle stations)
Diagonal X-marker stations: midpoint of the two crossing points
Each station listed once only, under its first-occurring line (S1 first, then S2…S8, S20)
-->
<map>
<title>Munich S</title>
<!-- ══════════════════════════════════════════
STAMMSTRECKE (central tunnel)
Shared by S1 S2 S3 S4 S6 S7 S8 S20
══════════════════════════════════════════ -->
<line name="Stammstrecke" color="None">
<station id="1" x="345" y="525" angle="0" textpos="below" lines="[S3,S4,S6,S8,S20]">Pasing</station>
<station id="2" x="385" y="525" angle="30" textpos="above" lines="[S1,S2,S3,S4,S6,S8]">Laim</station>
<station id="3" x="420" y="525" angle="90" textpos="above" lines="[S1,S2,S3,S4,S6,S8]">Hirschgarten</station>
<station id="4" x="455" y="525" angle="90" textpos="above" lines="[S1,S2,S3,S4,S6,S8,S7,S20]">Donnersbergerbrücke</station>
<station id="5" x="490" y="525" angle="90" textpos="above" lines="[S1,S2,S3,S4,S6,S8]">Hackerbrücke</station>
<station id="6" x="530" y="525" angle="90" textpos="above" lines="[S1,S2,S3,S4,S6,S8,S7]">Hauptbahnhof</station>
<station id="7" x="565" y="525" angle="90" textpos="above" lines="[S1,S2,S3,S4,S6,S8,S7]">Karlsplatz (Stachus)</station>
<station id="8" x="600" y="525" angle="90" textpos="above" lines="[S1,S2,S3,S4,S6,S8,S7]">Marienplatz</station>
<station id="9" x="635" y="525" angle="90" textpos="above" lines="[S1,S2,S3,S4,S6,S8,S7]">Isartor</station>
<station id="10" x="670" y="525" angle="90" textpos="above" lines="[S1,S2,S3,S4,S6,S8,S7]">Rosenheimer Platz</station>
<station id="11" x="710" y="525" angle="90" textpos="above" lines="[S1,S2,S3,S4,S6,S8,S7]">Ostbahnhof</station>
<station id="12" x="750" y="525" angle="90" textpos="above" lines="[S1,S2,S4,S6,S8]">Leuchtenbergring</station>
<station id="13" x="785" y="535" angle="90" textpos="below" lines="[S2,S4,S6]">Berg am Laim</station>
<station x="735" y="675" lines="[S1,S2,S3,S4,S6,S8,S20]">Pasing</station>
<station x="825" y="675" lines="[S1,S2,S3,S4,S6,S8]">Laim</station>
<station x="915" y="675" lines="[S1,S2,S3,S4,S6,S7,S8]">Donnersbergerbrücke</station>
<station x="1005" y="675" lines="[S1,S2,S3,S4,S6,S7,S8]">Hackerbrücke</station>
<station x="1095" y="675" lines="[S1,S2,S3,S4,S6,S7,S8]">Hauptbahnhof</station>
<station x="1185" y="675" lines="[S1,S2,S3,S4,S6,S7,S8]">Karlsplatz (Stachus)</station>
<station x="1275" y="675" lines="[S1,S2,S3,S4,S6,S7,S8]">Marienplatz</station>
<station x="1365" y="675" lines="[S1,S2,S3,S4,S6,S7,S8]">Isartor</station>
<station x="1455" y="675" lines="[S1,S2,S3,S4,S6,S7,S8]">Rosenheimer Platz</station>
<station x="1545" y="675" lines="[S1,S2,S3,S4,S6,S7,S8]">Ostbahnhof</station>
</line>
<line name="S1" color="cyan">
<station id="14" x="730" y="110" angle="0" textpos="left">Freising</station>
<station id="15" x="730" y="140" angle="0" textpos="left">Pulling</station>
<station id="16" x="690" y="230" angle="0" textpos="above">Neufahrn</station>
<station id="17" x="630" y="230" angle="0" textpos="above">Eching</station>
<station id="18" x="570" y="230" angle="0" textpos="above">Lohhof</station>
<station id="19" x="520" y="230" angle="0" textpos="above">Unterschleißheim</station>
<station id="20" x="460" y="230" angle="0" textpos="above">Oberschleißheim</station>
<station id="21" x="415" y="265" angle="0" textpos="right" lines="[S1,U2]">Feldmoching</station>
<station id="22" x="385" y="315" angle="0" textpos="right">Fasanerie</station>
<station id="23" x="355" y="365" angle="0" textpos="right" lines="[S1,U3]">Moosach</station>
<station id="24" x="795" y="170" angle="0" textpos="right">Flughafen München</station>
<station id="25" x="775" y="200" angle="0" textpos="right">Flughafen Besucherpark</station>
<!-- ══════════════════════════════════════════
S1 Freising / Flughafen München Erding
Color: #16bae7
══════════════════════════════════════════ -->
<line name="S1" color="#16bae7">
<station x="1725" y="150" lines="[S1]">Freising</station>
<station x="1725" y="225" lines="[S1,S8]">Pulling</station>
<!-- Airport branch -->
<station x="1820" y="285" lines="[S1]">Flughafen Besucherpark</station>
<station x="1885" y="220" lines="[S1,S8]">Flughafen München</station>
<!-- Shared S1/S8 section south of airport -->
<station x="1620" y="300" lines="[S1,S8]">Neufahrn</station>
<station x="1470" y="300" lines="[S1,S8]">Eching</station>
<station x="1320" y="300" lines="[S1,S8]">Lohhof</station>
<station x="1020" y="300" lines="[S1,S8]">Oberschleißheim</station>
<station x="1170" y="300" lines="[S1,S8]">Unterschleißheim</station>
<!-- East of Ostbahnhof -->
<station x="1725" y="675" lines="[S1,S2,S3,S4,S6]">Leuchtenbergring</station>
<station x="1815" y="675" lines="[S1,S2,S4]">Berg am Laim</station>
<station x="1905" y="615" lines="[S1,S2]">Riem</station>
<station x="1940" y="580" lines="[S1,S2]">Feldkirchen</station>
<station x="1975" y="545" lines="[S1,S2]">Heimstetten</station>
<station x="2010" y="510" lines="[S1,S2]">Grub</station>
<station x="2045" y="475" lines="[S1,S2]">Poing</station>
<station x="2080" y="440" lines="[S1,S2]">Markt Schwaben</station>
<station x="2090" y="395" lines="[S1]">Ottenhofen</station>
<station x="2090" y="350" lines="[S1]">St. Koloman</station>
<station x="2090" y="305" lines="[S1]">Aufhausen</station>
<station x="2090" y="260" lines="[S1]">Altenerding</station>
<station x="2090" y="215" lines="[S1]">Erding</station>
</line>
<line name="S2" color="lime">
<station id="26" x="120" y="70" angle="0" textpos="above">Altomünster</station>
<station id="27" x="145" y="70" angle="0" textpos="above">Kleinberghofen</station>
<station id="28" x="170" y="70" angle="0" textpos="above">Erdweg</station>
<station id="29" x="195" y="90" angle="0" textpos="left">Arnbach</station>
<station id="30" x="210" y="105" angle="0" textpos="left">Markt Indersdorf</station>
<station id="31" x="225" y="130" angle="0" textpos="left">Niederroth</station>
<station id="32" x="240" y="155" angle="0" textpos="left">Schwabhausen</station>
<station id="33" x="255" y="180" angle="0" textpos="left">Bachern</station>
<station id="34" x="270" y="205" angle="0" textpos="left">Dachau Stadt</station>
<station id="35" x="290" y="55" angle="0" textpos="right">Petershausen</station>
<station id="36" x="290" y="90" angle="0" textpos="right">Vierkirchen-Esterhofen</station>
<station id="37" x="290" y="135" angle="0" textpos="right">Röhrmoos</station>
<station id="38" x="290" y="175" angle="0" textpos="right">Hebertshausen</station>
<station id="39" x="290" y="250" angle="0" textpos="right">Dachau</station>
<station id="40" x="290" y="290" angle="0" textpos="right">Karlsfeld</station>
<station id="41" x="290" y="330" angle="0" textpos="right">Allach</station>
<station id="42" x="290" y="370" angle="0" textpos="right">Untermenzing</station>
<station id="43" x="290" y="410" angle="0" textpos="right">Obermenzing</station>
<station id="44" x="870" y="165" angle="0" textpos="right">Erding</station>
<station id="45" x="870" y="200" angle="0" textpos="right">Altenerding</station>
<station id="46" x="870" y="235" angle="0" textpos="right">Aufhausen</station>
<station id="47" x="870" y="270" angle="0" textpos="right">St. Koloman</station>
<station id="48" x="870" y="305" angle="0" textpos="right">Ottenhofen</station>
<station id="49" x="860" y="345" angle="45" textpos="right">Markt Schwaben</station>
<station id="50" x="850" y="365" angle="45" textpos="right">Poing</station>
<station id="51" x="840" y="385" angle="45" textpos="right">Grub</station>
<station id="52" x="830" y="405" angle="45" textpos="right">Heimstetten</station>
<station id="53" x="820" y="425" angle="45" textpos="right">Feldkirchen</station>
<station id="54" x="810" y="465" angle="45" textpos="right">Riem</station>
<!-- ══════════════════════════════════════════
S2 Petershausen / Altomünster Erding
Color: #76b82a
══════════════════════════════════════════ -->
<line name="S2" color="#76b82a">
<!-- NW branch: Petershausen -->
<station x="675" y="75" lines="[S2]">Petershausen</station>
<station x="675" y="125" lines="[S2]">Vierkirchen-Esterhofen</station>
<station x="675" y="175" lines="[S2]">Röhrmoos</station>
<station x="675" y="225" lines="[S2]">Hebertshausen</station>
<station x="675" y="325" lines="[S2,S3]">Dachau</station>
<station x="675" y="375" lines="[S2,S3]">Karlsfeld</station>
<station x="675" y="425" lines="[S2,S3]">Allach</station>
<station x="675" y="475" lines="[S2,S3]">Untermenzing</station>
<station x="695" y="541" lines="[S2,S3]">Obermenzing</station>
<station x="795" y="480" lines="[S2,S3]">Moosach</station>
<station x="870" y="405" lines="[S2,S3]">Fasanerie</station>
<station x="945" y="330" lines="[S2,S3]">Feldmoching</station>
<!-- NE branch: Altomünster -->
<station x="275" y="75" lines="[S2]">Altomünster</station>
<station x="350" y="75" lines="[S2]">Kleinberghofen</station>
<station x="425" y="75" lines="[S2]">Erdweg</station>
<station x="475" y="100" lines="[S2]">Arnbach</station>
<station x="510" y="135" lines="[S2]">Markt Indersdorf</station>
<station x="545" y="170" lines="[S2]">Niederroth</station>
<station x="580" y="205" lines="[S2]">Schwabhausen</station>
<station x="615" y="240" lines="[S2]">Bachern</station>
<station x="650" y="275" lines="[S2]">Dachau Stadt</station>
</line>
<line name="S3" color="purple">
<station id="55" x="160" y="255" angle="315" textpos="above">Mammendorf</station>
<station id="56" x="175" y="270" angle="315" textpos="above">Malching</station>
<station id="57" x="190" y="285" angle="315" textpos="above">Maisach</station>
<station id="58" x="205" y="300" angle="315" textpos="above">Gernlinden</station>
<station id="59" x="220" y="335" angle="315" textpos="above">Esting</station>
<station id="60" x="235" y="350" angle="315" textpos="above">Olching</station>
<station id="61" x="250" y="380" angle="315" textpos="above">Gröbenzell</station>
<station id="62" x="265" y="415" angle="315" textpos="above">Lochhausen</station>
<station id="63" x="280" y="455" angle="315" textpos="above">Langwied</station>
<station id="64" x="695" y="585" angle="0" textpos="right">St.-Martin-Straße</station>
<station id="65" x="650" y="630" angle="0" textpos="right" lines="[S3,S7,U2]">Giesing</station>
<station id="66" x="640" y="675" angle="0" textpos="left">Fasangarten</station>
<station id="67" x="640" y="710" angle="0" textpos="left">Fasanenpark</station>
<station id="68" x="640" y="745" angle="0" textpos="left">Unterhaching</station>
<station id="69" x="640" y="780" angle="0" textpos="left">Taufkirchen</station>
<station id="70" x="640" y="815" angle="0" textpos="left">Furth</station>
<station id="71" x="640" y="850" angle="0" textpos="left">Deisenhofen</station>
<station id="72" x="640" y="885" angle="0" textpos="left">Sauerlach</station>
<station id="73" x="640" y="920" angle="0" textpos="left">Otterfing</station>
<station id="74" x="640" y="955" angle="0" textpos="left">Holzkirchen</station>
<!-- ══════════════════════════════════════════
S3 Mammendorf Holzkirchen
Color: #ea516d
══════════════════════════════════════════ -->
<line name="S3" color="#ea516d">
<station x="350" y="335" lines="[S3]">Mammendorf</station>
<station x="385" y="370" lines="[S3]">Malching</station>
<station x="420" y="405" lines="[S3]">Maisach</station>
<station x="455" y="440" lines="[S3]">Gernlinden</station>
<station x="490" y="475" lines="[S3]">Esting</station>
<station x="525" y="510" lines="[S3]">Olching</station>
<station x="560" y="545" lines="[S3]">Gröbenzell</station>
<station x="595" y="580" lines="[S3]">Lochhausen</station>
<station x="630" y="615" lines="[S3,S4,S6,S8]">Langwied</station>
<!-- East via Ostbahnhof: Perlach, Giesing branch to Holzkirchen -->
<station x="1593" y="860" lines="[S3]">Perlach</station>
<station x="1545" y="815" lines="[S3]">St.-Martin-Straße</station>
<station x="1545" y="850" lines="[S3]">Giesing</station>
<station x="1520" y="871" lines="[S3]">Fasangarten</station>
<station x="1520" y="917" lines="[S3]">Fasanenpark</station>
<station x="1520" y="962" lines="[S3]">Unterhaching</station>
<station x="1520" y="1008" lines="[S3]">Taufkirchen</station>
<station x="1520" y="1053" lines="[S3]">Furth</station>
<station x="1520" y="1099" lines="[S3]">Deisenhofen</station>
<station x="1520" y="1144" lines="[S3]">Sauerlach</station>
<station x="1520" y="1190" lines="[S3]">Otterfing</station>
<station x="1520" y="1235" lines="[S3]">Holzkirchen</station>
</line>
<line name="S4" color="red">
<station id="75" x="60" y="685" angle="0" textpos="left">Geltendorf</station>
<station id="76" x="80" y="660" angle="315" textpos="above">Türkenfeld</station>
<station id="77" x="95" y="645" angle="315" textpos="above">Grafrath</station>
<station id="78" x="105" y="635" angle="315" textpos="above">Schöngeising</station>
<station id="79" x="115" y="625" angle="315" textpos="above">Buchenau</station>
<station id="80" x="135" y="595" angle="315" textpos="above">Fürstenfeldbruck</station>
<station id="81" x="155" y="550" angle="0" textpos="above">Eichenau</station>
<station id="82" x="195" y="550" angle="0" textpos="above">Puchheim</station>
<station id="83" x="225" y="550" angle="0" textpos="above">Aubing</station>
<station id="84" x="255" y="550" angle="0" textpos="above">Leienfelsstraße</station>
<station id="85" x="815" y="540" angle="0" textpos="below">Trudering</station>
<station id="86" x="840" y="550" angle="45" textpos="right">Gronsdorf</station>
<station id="87" x="850" y="565" angle="45" textpos="right">Haar</station>
<station id="88" x="860" y="580" angle="45" textpos="right">Vaterstetten</station>
<station id="89" x="870" y="595" angle="45" textpos="right">Baldham</station>
<station id="90" x="880" y="610" angle="45" textpos="right">Zorneding</station>
<station id="91" x="890" y="625" angle="45" textpos="right">Eglharting</station>
<station id="92" x="900" y="640" angle="45" textpos="right">Kirchseeon</station>
<station id="93" x="915" y="660" angle="45" textpos="right">Grafing Bahnhof</station>
<station id="94" x="925" y="685" angle="45" textpos="right">Grafing Stadt</station>
<station id="95" x="935" y="710" angle="45" textpos="right">Ebersberg</station>
<!-- ══════════════════════════════════════════
S4 Geltendorf Ebersberg
Color: #e3051b
══════════════════════════════════════════ -->
<line name="S4" color="#e3051b">
<station x="140" y="885" lines="[S4]">Geltendorf</station>
<station x="175" y="850" lines="[S4]">Türkenfeld</station>
<station x="210" y="815" lines="[S4]">Grafrath</station>
<station x="245" y="780" lines="[S4]">Schöngeising</station>
<station x="280" y="745" lines="[S4]">Buchenau</station>
<station x="315" y="710" lines="[S4]">Fürstenfeldbruck</station>
<station x="375" y="675" lines="[S4,S5,S6]">Eichenau</station>
<station x="450" y="675" lines="[S4,S5,S6]">Puchheim</station>
<station x="525" y="675" lines="[S4,S5,S6]">Aubing</station>
<station x="600" y="675" lines="[S4,S5,S6]">Leienfelsstraße</station>
<!-- East: Trudering → Ebersberg (shared with S6) -->
<station x="1905" y="682" lines="[S4,S6]">Trudering</station>
<station x="1970" y="700" lines="[S4,S6]">Gronsdorf</station>
<station x="2000" y="730" lines="[S4,S6]">Haar</station>
<station x="2030" y="760" lines="[S4,S6]">Vaterstetten</station>
<station x="2060" y="790" lines="[S4,S6]">Baldham</station>
<station x="2090" y="820" lines="[S4,S6]">Zorneding</station>
<station x="2120" y="850" lines="[S4,S6]">Eglharting</station>
<station x="2150" y="880" lines="[S4,S6]">Kirchseeon</station>
<station x="2180" y="910" lines="[S4,S6]">Grafing Bahnhof</station>
<station x="2210" y="940" lines="[S4]">Grafing Stadt</station>
<station x="2240" y="970" lines="[S4]">Ebersberg</station>
</line>
<line name="S6" color="forestgreen">
<station id="96" x="270" y="955" angle="0" textpos="right">Tutzing</station>
<station id="97" x="270" y="920" angle="0" textpos="right">Feldafing</station>
<station id="98" x="270" y="885" angle="0" textpos="right">Possenhofen</station>
<station id="99" x="270" y="850" angle="0" textpos="right">Starnberg</station>
<station id="100" x="270" y="815" angle="0" textpos="right">Starnberg Nord</station>
<station id="101" x="270" y="780" angle="0" textpos="right">Gauting</station>
<station id="102" x="270" y="745" angle="0" textpos="right">Stockdorf</station>
<station id="103" x="270" y="710" angle="0" textpos="right">Planegg</station>
<station id="104" x="270" y="675" angle="0" textpos="right">Gräfelfing</station>
<station id="105" x="270" y="630" angle="0" textpos="right">Lochham</station>
<station id="106" x="290" y="570" angle="45" textpos="left" lines="[S6,S8]">Westkreuz</station>
<!-- ══════════════════════════════════════════
S5 Herrsching Kreuzstraße
Color: #00547e
══════════════════════════════════════════ -->
<line name="S5" color="#00547e">
<station x="250" y="1120" lines="[S5]">Herrsching</station>
<station x="285" y="1085" lines="[S5]">Seefeld-Hechendorf</station>
<station x="320" y="1050" lines="[S5]">Steinebach</station>
<station x="340" y="1020" lines="[S5]">Weßling</station>
<station x="375" y="985" lines="[S5]">Neugilching</station>
<station x="410" y="950" lines="[S5]">Gilching-Argelsried</station>
<station x="445" y="915" lines="[S5]">Geisenbrunn</station>
<station x="470" y="875" lines="[S5]">Germering-Unterpfaffenhofen</station>
<station x="480" y="880" lines="[S5]">Harthaus</station>
<station x="515" y="845" lines="[S5]">Freiham</station>
<station x="550" y="810" lines="[S5]">Neuaubing</station>
<station x="590" y="770" lines="[S5,S6,S8]">Westkreuz</station>
<!-- East: Neuperlach Süd → Kreuzstraße -->
<station x="1645" y="890" lines="[S5]">Neuperlach Süd</station>
<station x="1645" y="925" lines="[S5]">Neubiberg</station>
<station x="1645" y="960" lines="[S5]">Ottobrunn</station>
<station x="1645" y="995" lines="[S5]">Hohenbrunn</station>
<station x="1645" y="1030" lines="[S5]">Wächterhof</station>
<station x="1645" y="1065" lines="[S5]">Höhenkirchen-Siegertsbrunn</station>
<station x="1645" y="1100" lines="[S5]">Dürrnhaar</station>
<station x="1645" y="1135" lines="[S5]">Aying</station>
<station x="1645" y="1165" lines="[S5]">Peiß</station>
<station x="1645" y="1200" lines="[S5]">Großhelfendorf</station>
<station x="1645" y="1235" lines="[S5]">Kreuzstraße</station>
</line>
<line name="S7" color="maroon">
<station id="107" x="400" y="955" angle="0" textpos="right">Wolfratshausen</station>
<station id="108" x="400" y="925" angle="0" textpos="right">Icking</station>
<station id="109" x="400" y="900" angle="0" textpos="right">Ebenhausen-Schäftlarn</station>
<station id="110" x="400" y="875" angle="0" textpos="right">Hohenschäftlarn</station>
<station id="111" x="400" y="850" angle="0" textpos="right">Baierbrunn</station>
<station id="112" x="400" y="825" angle="0" textpos="right">Buchenhain</station>
<station id="113" x="400" y="800" angle="0" textpos="right" lines="[S7,S20]">Höllriegelskreuth</station>
<station id="114" x="400" y="775" angle="0" textpos="right">Pullach</station>
<station id="115" x="400" y="750" angle="0" textpos="right">Großhesselohe Isartalbahnhof</station>
<station id="116" x="400" y="725" angle="0" textpos="right" lines="[S7,S20]">Solln</station>
<station id="117" x="400" y="695" angle="0" textpos="right" lines="[S7,S20]">Siemenswerke</station>
<station id="118" x="400" y="665" angle="0" textpos="right" lines="[S7,S20]">Mittersendling</station>
<station id="119" x="400" y="635" angle="0" textpos="right">Harras</station>
<station id="120" x="400" y="595" angle="0" textpos="right" lines="[S7,S20,U4,U5]">Heimeranplatz</station>
<station id="121" x="690" y="685" angle="0" textpos="right">Perlach</station>
<station id="122" x="690" y="705" angle="0" textpos="right">Neuperlach Süd</station>
<station id="123" x="690" y="725" angle="0" textpos="right">Neubiberg</station>
<station id="124" x="690" y="750" angle="0" textpos="right">Ottobrunn</station>
<station id="125" x="690" y="775" angle="0" textpos="right">Hohenbrunn</station>
<station id="126" x="690" y="800" angle="0" textpos="right">Wächterhof</station>
<station id="127" x="690" y="825" angle="0" textpos="right">Höhenkirchen-Siegertsbrunn</station>
<station id="128" x="690" y="850" angle="0" textpos="right">Dürrnhaar</station>
<station id="129" x="690" y="875" angle="0" textpos="right">Aying</station>
<station id="130" x="690" y="900" angle="0" textpos="right">Peiß</station>
<station id="131" x="690" y="925" angle="0" textpos="right">Großhelfendorf</station>
<station id="132" x="690" y="955" angle="0" textpos="right">Kreuzstraße</station>
<!-- ══════════════════════════════════════════
S6 Tutzing Ebersberg
Color: #008d58
══════════════════════════════════════════ -->
<line name="S6" color="#008d58">
<station x="635" y="1235" lines="[S6]">Tutzing</station>
<station x="635" y="1184" lines="[S6]">Feldafing</station>
<station x="635" y="1134" lines="[S6]">Possenhofen</station>
<station x="635" y="1083" lines="[S6]">Starnberg</station>
<station x="635" y="1033" lines="[S6]">Starnberg Nord</station>
<station x="635" y="982" lines="[S6]">Gauting</station>
<station x="635" y="932" lines="[S6]">Stockdorf</station>
<station x="635" y="881" lines="[S6]">Planegg</station>
<station x="635" y="831" lines="[S6]">Gräfelfing</station>
<station x="635" y="780" lines="[S6]">Lochham</station>
<!-- East stations shared with S4 listed under S4 -->
</line>
<line name="S8" color="black">
<station id="133" x="110" y="870" angle="0" textpos="left">Herrsching</station>
<station id="134" x="125" y="850" angle="45" textpos="left">Seefeld-Hechendorf</station>
<station id="135" x="135" y="835" angle="45" textpos="left">Steinebach</station>
<station id="136" x="145" y="810" angle="0" textpos="left">Weßling</station>
<station id="137" x="160" y="765" angle="45" textpos="left">Neugilching</station>
<station id="138" x="175" y="745" angle="45" textpos="left">Gilching-Argelsried</station>
<station id="139" x="190" y="725" angle="45" textpos="left">Geisenbrunn</station>
<station id="140" x="205" y="700" angle="45" textpos="left">Germering-Unterpfaffenhofen</station>
<station id="141" x="220" y="675" angle="45" textpos="left">Harthaus</station>
<station id="142" x="235" y="650" angle="45" textpos="left">Freiham</station>
<station id="143" x="250" y="615" angle="45" textpos="left">Neuaubing</station>
<station id="144" x="760" y="465" angle="0" textpos="right">Daglfing</station>
<station id="145" x="760" y="430" angle="0" textpos="right">Englschalking</station>
<station id="146" x="760" y="390" angle="0" textpos="right">Johanneskirchen</station>
<station id="147" x="760" y="350" angle="0" textpos="right">Unterföhring</station>
<station id="148" x="760" y="310" angle="0" textpos="right">Ismaning</station>
<station id="149" x="760" y="260" angle="0" textpos="right">Hallbergmoos</station>
<!-- ══════════════════════════════════════════
S7 Wolfratshausen Ostbahnhof
Color: #892e23
══════════════════════════════════════════ -->
<line name="S7" color="#892e23">
<station x="965" y="1235" lines="[S7]">Wolfratshausen</station>
<station x="965" y="1200" lines="[S7]">Icking</station>
<station x="965" y="1165" lines="[S7]">Ebenhausen-Schäftlarn</station>
<station x="965" y="1130" lines="[S7]">Hohenschäftlarn</station>
<station x="965" y="1095" lines="[S7]">Baierbrunn</station>
<station x="965" y="1060" lines="[S7]">Buchenhain</station>
<station x="965" y="1025" lines="[S7,S20]">Höllriegelskreuth</station>
<station x="965" y="990" lines="[S7]">Pullach</station>
<station x="965" y="955" lines="[S7]">Großhesselohe Isartalbahnhof</station>
<station x="965" y="920" lines="[S7]">Solln</station>
<station x="965" y="885" lines="[S7]">Siemenswerke</station>
<station x="965" y="850" lines="[S7]">Mittersendling</station>
<station x="965" y="815" lines="[S7]">Harras</station>
<station x="965" y="780" lines="[S7,S20]">Heimeranplatz</station>
</line>
<!-- ══════════════════════════════════════════
S8 Herrsching Flughafen München
Color: #f0ac32
(HerrschingWestkreuz shared with S5; Stammstrecke shared;
Berg am LaimDaglfing diverges northeast to airport)
══════════════════════════════════════════ -->
<line name="S8" color="#f0ac32">
<station x="1815" y="600" lines="[S8]">Daglfing</station>
<station x="1815" y="550" lines="[S8]">Englschalking</station>
<station x="1815" y="500" lines="[S8]">Johanneskirchen</station>
<station x="1815" y="450" lines="[S8]">Unterföhring</station>
<station x="1815" y="400" lines="[S8]">Ismaning</station>
<station x="1815" y="350" lines="[S8]">Hallbergmoos</station>
<!-- Flughafen München listed under S1 -->
</line>
<!-- ══════════════════════════════════════════
S20 Pasing Deisenhofen (orbital, limited service)
Color: #892e23
Shares Stammstrecke and S7 southern stations.
No unique-to-S20 stations beyond what is listed elsewhere.
══════════════════════════════════════════ -->
<line name="S20" color="#892e23">
<!-- All stations shared with Stammstrecke and S7; see those lines. -->
</line>
</map>