add Leitpunkte

(by johann150, with some modification by stuebinm)
This commit is contained in:
Johann150 2023-06-10 14:56:56 +02:00 committed by stuebinm
parent a7823fc059
commit 128198f070
3 changed files with 696 additions and 13 deletions

7
data/README.md Normal file
View file

@ -0,0 +1,7 @@
## data sources
- `leitpunkte.csv` from <https://assets.static-bahn.de/dam/jcr:0024ef49-e411-4ceb-8326-8317760ec52e/6)%20Leitpunktkuerzel.pdf> (published 11.12.2022)
The relevant information was extracted from the PDF manually.
More curent versions may be listed at <https://www.bahn.de/agb> as "Leitpunktkürzel" in the section "Entfernungswerk des Deutschlandtarifs".
The RL100-Code combination was added manually and is not guaranteed to be accurate. Some places do not have a one-to-one mapping between Leitpunkt and RL100.

649
data/leitpunkte.csv Normal file
View file

@ -0,0 +1,649 @@
Leitpunktkürzel;Tarifpunkt;DS100
A;Augsburg Hbf;MA
AA;Aalen Hbf;TA
AB;Aschaffenburg Hbf;NAH
ABG;Altenburg;LA
AC;Aachen Hbf;KA
ACH;Achern;RAH
ACSG;Aachen Süd(Gr);KXA
ADE;Adelebsen;HADB
AIC;Aichach;MAI
ALL;Allersberg(Rothsee);NALB
ALT;Altenbeken;HA
AN;Ansbach;NAN
AND;Andernach;KAND
ANG;Angermünde;WA
APO;Apolda;UAP
ARD;Arnsdorf(Dresden);DAF
ARN;Arnstadt Hbf;UA
ASCH;Ascheberg(Holst);AAG
ASL;Aschersleben;LAL
AU;Aue(Sachs);DAU
AUL;Aulendorf;TAU
AUS;Au(Sieg);KAU
AZ;Alzey;FALZ
B;Berlin Friedrichstr;BFRI
BA;Bamberg;NBA
BAAL;Baalberge;LBB
BAB;Babenhausen(Hess);FBA
BACK;Backnang;TB
BAD;Baden-Baden;RBB
BALI;Bad Liebenwerda;BBLW
BAS;Basel Bad Bf;RB
BB;Böblingen;TBO
BBG;Bernburg Hbf;LBG
BCH;Berlin-Charlottenbg.;BCHB
BEB;Bebra;FB
BED;Bedburg(Erft);KBE
BEGR;Bad Bentheim(Gr);HXB
BELZ;Bad Belzig;BBIG
BENS;Bensheim;FBH
BENT;Bad Bentheim;HBTH
BER;Bernau(b Berlin);BBRN
BETZ;Betzdorf(Sieg);EBZ
BF;Steinfurt-Burgstein.;EBFT
BGS;Berlin Gesundbrunnen;BGS
BHBF;Berlin Hbf;BL
BHS;Berlin-Hohenschönh.;BHSH
BHV;Bremerhaven Hbf;HBH
BI;Bielefeld Hbf;EBIL
BIET;Bietigheim-Bissingen;TBM
BILL;Billerbeck;EBB
BIN;Bingen(Rhein) Hbf;FBGK
BIW;Bischofswerda;DBW
BIZ;Biederitz;LBZ
BKH;Berlin-Karlshorst;BKH
BKL;Bad Kleinen;WK
BLAM;Blankenberg(Meckl);WBL
BLF;Blankenf(Teltow-Fl);BBF
BLG;Bad Blankenburg(Th);UBL
BLH;Blankenheim(Sangerh);FBLA
BLI;Berlin-Lichtenberg;BLO
BN;Bonn Hbf;KB
BNBE;Bonn-Beuel;KBB
BNG;Burg-u.Ndr Gemünden;FBNG
BNGO;Bonn-Bad Godesberg;KBBG
BO;Bochum Hbf;EBO
BOB;Berlin Ostbahnhof;BHF
BOH;Bocholt;EBCH
BOK;Berlin Ostkreuz;BOK
BOP;Boppard Hbf;KBOP
BOR;Borken(Westf);EBK
BORS;Borsdorf(Sachs);LBOR
BOT;Bottrop Hbf;EBTH
BR;Bruchsal;RBR
BRAC;Bielefeld-Brackwede;EBWE
BRB;Brandenburg Hbf;LB
BRE;Bretleben;UBR
BRI;Brilon Wald;EBRW
BRIT;Britz;WBR
BROI;Lengede-Broistedt;HBST
BRT;Bretten;RBT
BRV;Bremervörde;ABV
BS;Braunschweig Hbf;HBS
BSFL;Flgh. BER T5 Schöne;BFHS
BSK;Berlin Südkreuz;BPAF
BSP;Berlin-Spandau;BSPD
BSU;Bad Schandau;DAS
BT;Bayreuth Hbf;NBY
BTF;Bitterfeld;LBT
BUCH;Buchholz(Nordheide);ABLZ
BUE;Büchen;ABCH
BUEN;Bünde(Westf);HBDE
BUEZ;Bützow;WB
BULL;Bullay(DB);SBY
BULO;Buchloe;MBU
BUT;Buttstädt;UBU
BWA;Berlin-Wannsee;BWS
BWK;Berlin Westkreuz;BWKR
BZ;Bautzen;DBZ
BZG;Berlin Zoolg. Garten;BZOO
C;Chemnitz Hbf;DC
CA;Calau(Nl);BC
CALO;Calbe(Saale) Ost;LCBO
CALW;Calbe(Saale) West;LCBW
CAMB;Camburg(Saale);UCB
CB;Cottbus Hbf;BCS
CE;Celle;HC
CO;Coburg;NC
COC;Cochem(Mosel);SCOC
COE;Coesfeld(Westf);ECMF
COEL;Cölbe;FCOE
CON;Coburg Nord;NCN
COS;Coswig(Anh);LCW
COSD;Coswig(b Dresden);DCW
CR;Crailsheim;TC
CW;Calw;TCW
D;Düsseldorf Hbf;KD
DA;Darmstadt Hbf;FD
DD;Dresden Hbf;DH
DDN;Dresden-Neustadt;DN
DE;Dessau Hbf;LD
DEL;Delmenhorst;HD
DERN;Derneburg(Han);HDBG
DFL;Düsseldorf Flugh.;KDF
DH;Diepholz;HDIP
DIL;Dillenburg;FDIL
DILL;Dillingen(Saar);SDL
DL;Döbeln Hbf;DDE
DN;Düren;KDN
DO;Dortmund Hbf;EDO
DOD;Dortmund-Dorstfeld;EDDP
DOKI;Doberlug-Kirchhain;BDKO
DON;Donauwörth;MDT
DOWH;Dortmund Signal Idu.;EDWH
DOWW;Dortmund-Wickede W;EDWW
DS;Donaueschingen;RDO
DU;Duisburg Hbf;EDG
DUED;Dürrröhrsdorf;DRR
DUEL;Dülmen;EDUL
DZ;Delitzsch;LDL
E;Essen Hbf;EE
EALT;Essen-Altenessen;EEAL
EB;Eilenburg;LEG
EBB;Eberbach;REA
EF;Erfurt Hbf;UE
EGID;St Egidien;DEG
EICH;Eichenberg;HEBG
EIL;Lutherstadt Eisleben;LEL
EILS;Eilsleben(Magdeb);LEI
ELMS;Elmshorn;AEL
ELW;Elsterwerda;BEW
ELXL;Elxleben;UEX
ELZE;Elze(Han);HELZ
EMD;Emden Hbf;HE
EMM;Emmerich;EEM
EMMG;Emmerich(Gr);EXEM
ENG;Engers;KENR
ER;Erlangen;NER
ERK;Erkelenz;KERZ
ESA;Eisenach;UEI
ESW;Eschwege-Niederhone;FONH
ESWE;Eschwege;FEG
EU;Euskirchen;KEU
EUTG;Eutingen im Gäu;TET
EW;Eberswalde Hbf;WE
F;Frankfurt(Main)Hbf;FF
FB;Friedberg(Hess);FFG
FBE;Falkenberg(Elster);ILF
FD;Fulda;FFU
FDS;Freudenstadt Hbf;TFS
FF;Frankfurt(Oder);BFP
FFMF;Frankfurt(M)Flugh.;FFLF
FFMN;Frankfurt-Niederrad;FNI
FFMS;Frankfurt(Main)Süd;FFS
FG;Freiberg(Sachs);DFR
FH;Frankfurt-Höchst;FHOE
FIN;Finnentrop;EFP
FINK;Finkenkrug;BFIN
FIW;Finsterwalde(Nl);BFW
FKB;Frankenberg(Eder);FFRK
FL;Flensburg;AF
FLOE;Flöha;DFL
FN;Friedrichshafen St.;TFS
FOER;Förderstedt;LFD
FOFR;Forbach(fr);XFFB
FOR;Forst(Lausitz);BFO
FR;Freiburg(Brsg)Hbf;RF
FREI;Freilassing;MFL
FRIJ;Bad Friedrichsh Hbf;TBF
FROE;Fröndenberg;EFOE
FROS;Frose;LFE
FRT;Frankenthal Hbf;RFT
FRW;Bad Freienwalde;WFW
FS;Freising;MFR
FSTD;Frankfurt(M)Stadion;FSP
FUB;Fürstenberg(Havel);WF
FUE;Fürth(Bay)Hbf;NF
FUGR;Furth im Wald(Gr);NXFU
FW;Fürstenwalde(Spree);BFUW
G;Gera Hbf;UG
GAI;Gaimersheim;MGH
GAM;Gammertingen;TGMT
GAP;Garmisch-Partenk.;MGP
GC;Glauchau(Sachs);DGL
GE;Gelsenkirchen Hbf;EG
GEES;Geestgottberg;LGG
GELN;Gelnhausen;FGEL
GELT;Geltendorf;MGE
GEM;Gemünden(Main);NGM
GER;Germersheim;RGE
GERO;Gerolstein;SGR
GERS;Gerstungen;UGT
GF;Gifhorn;HGI
GG;Groß Gerau;FGER
GHA;Geithain;LGH
GHCB;Großenhain Cottb Bf;DGC
GHW;Gensingen-Horrweiler;FGHO
GI;Gießen;FG
GLA;Gladbeck West;EGBW
GLK;Geilenkirchen;KGEK
GNT;Genthin;LGN
GODE;Riedstadt-Goddelau;FGE
GOE;Göttingen;HG
GOES;Gößnitz;DGZ
HAUS;Hausach;RHA
HB;Bremen Hbf;HB
HBS;Halberstadt;LHB
HCH;Hechingen;THCH
HD;Heidelberg Hbf;RHA
HDL;Haldensleben;LHL
HDO;Holzdorf(Elster);LHZ
HE;Helmstedt;HHLM
HEBO;Herborn(Dillkr);FHRB
HEI;Heide(Holst);AHI
HENN;Hennigsdorf(b Bln);BHND
HER;Herne;EHER
HERB;Herbertingen;THT
HERL;Herlasgrün;DHN
HERP;Hersbruck(r Pegnitz);NHR
HERS;Bad Hersfeld;FBHF
HERV;Hervest-Dorsten;EHDT
HERZ;Herzogenrath;KHEZ
HESE;Hesepe;HHES
HET;Hettstedt;LHE
HF;Herford;EHFD
HH;Hamburg-Sternschanze;ASTZ
HHAL;Hamburg-Altona;AA
HHBD;Hamburg-Bergedorf;ABG
HHDA;Hamburg Dammtor;ADF
HHH;Hamburg Hbf;AH
HI;Hildesheim Hbf;HHI
HIDH;Hiddenh.-Schweicheln;HHIS
HL;Lübeck Hbf;AL
HM;Hameln;HHM
HML;HannoverMesseLaatzen;HHML
HN;Heilbronn Hbf;TH
HNB;Herrnburg;WHB
HO;Hof Hbf;NHO
HOCK;Hockeroda;UHR
HOE;Höchst(Odenw);FHT
HOLT;Holthusen;WHO
HOLZ;Holzminden;HHZM
HOM;Homburg(Saar)Hbf;SHO
HOR;Horb;THB
HORK;Horka;BHR
HORR;Horrem;KHR
HOS;Hosena;BHC
HOSP;Hochspeyer;SHY
HRB;Herrenberg;THE
HRO;Rostock Hbf;WR
HST;Stralsund Hbf;WSR
HU;Hanau Hbf;FH
HUS;Husum;AHM
HY;Hoyerswerda;BHW
HZ;Herzberg(Harz);HHB
IBB;Ibbenbüren;HI
IGGR;Igel(Gr);SXIG
IMM;Immendingen;RIM
IN;Ingolstadt Hbf;MIH
IS;Iserlohn;EIL
IZ;Itzehoe;AIZ
JB;Jüterbog;BJUE
JE;Jessen(Elster);LJN
JP;Jena Paradies;UJP
JS;Jena Saalbf;UJS
JUEB;Jübek;AJ
JW;Jena West;UJW
K;Köln Hbf;KK
KA;Karlsruhe Hbf;RK
KADU;Karlsruhe-Durlach;RKDU
KAHL;Kahl(Main);FKLM
KALD;Kaldenkirchen;KKAK
KAM;Kamen;EKAM
KAMZ;Kamenz(Sachs);DKA
KAUF;Kaufering;MKFG
KB;Korbach Hbf;FKOB
KBFL;Köln/Bonn Flughafen;KFKB
KBR;Königsbrück;DKB
KDEU;Köln Messe/Deutz;KKDZ
KE;Kempten(Allgäu)Hbf;MKP
KEGR;Kehl(Gr);RXKL
KEHL;Kehl;RKL
KEHR;Köln-Ehrenfeld;KKER
KF;Kaufbeuren;MKFB
KH;Bad Kreuznach;SBKN
KI;Kiel Hbf;AK
KL;Kaiserslautern Hbf;SKL
KLB;Kirchenlaibach;NKL
KLE;Kleve;KKLV
KLG;Kißlegg;TKG
KO;Koblenz Hbf;KKO
KOEB;Koblenz-Ehrenbreit.;KKOE
KOEN;Königsbach(Baden);TKB
KOET;Köthen;LK
KOLZ;Koblenz-Lützel;KKOL
KON;Könnern;LKO
KR;Krefeld Hbf;KKR
KREI;Kreiensen;HK
KREU;Kreuztal;EKT
KS;Kassel-Wilhelmshöhe;FKW
KSHB;Kassel Hbf;FK
KTW;Kettwig;EKG
KUF;Kufstein;XAKN
KW;Königs Wusterhausen;BKW
L;Leipzig Hbf;LL
LA;Landshut(Bay)Hbf;MLA
LAA;Laage(Meckl);WLA
LAGE;Lage(Lippe);ELAG
LAUD;Lauda;TL
LAUT;Lauterbach(Hess)Nord;FLAU
LAWL;Langwedel;HLGW
LB;Ludwigsburg;TLU
LBB;Lübbenau(Spreewald);BLN
LBG;Velbert-Langenberg;ELBG
LCH;Laucha(Unstrut);ULCH
LD;Landau(Pfalz)Hbf;RLA
LEES;Leese-Stolzenau;HLST
LEHR;Lehrte;HLER
LEIF;Leinefelde;UL
LER;Leer(Ostfriesl);HLEE
LETM;Letmathe;ELE
LEUT;Leutkirch;TLK
LEVM;Leverkusen Mitte;KLMI
LG;Lüneburg;ALBG
LHFL;Leipzig/Halle Flugh;LFLU
LI;Lindau-Insel;MLI
LIF;Lichtenfels;NLF
LIPP;Lippstadt;ELPP
LIRE;Lindau-Reutin;MLIR
LLEU;Leipzig-Leutzsch;LLEL
LM;Limburg(Lahn);FL
LMS;Limburg Süd;FLIS
LN;Lübben(Spreewald);BLB
LOEB;Löbau(Sachs);DL
LOEH;Löhne(Westf);HL
LOH;Lohmen;DLO
LOLL;Lollar;FLOL
LOW;Löwenberg(Mark);WLO
LPLA;Leipzig-Plagwitz;LLP
LSZ;Bad Langensalza;ULS
LU;Ludwigshafen(Rh)Hbf;RL
LUEN;Lünen Hbf;ELUE
LUF;Ludwigsfelde;BLF
LWL;Ludwigslust;WL
M;München Hbf;MH
MA;Mannheim Hbf;RM
MAK;Marktredwitz;NMR
MALS;Malsfeld;FMFH
MARG;Markkleeberg-Großst;LMAG
MCK;Mühlacker;TM
MD;Magdeburg Hbf;LM
MDR;Magdeburg-Rothensee;LMR
MEHL;Mehltheuer;DMEH
MEI;Meißen;DME
MELL;Mellingen(Thür);UMEN
MER;Merseburg Hbf;LMG
MERK;Merklingen - S. Alb;TMKL
MET;Mellrichstadt Bf;NME
MG;Mönchengladbach Hbf;KM
MH;Mülheim(Ruhr)Hbf;EMLR
MI;Minden(Westf);HM
MIDO;Michendorf;BMIP
MIL;Miltenberg;NM
MIN;Mindelheim;MMH
MIW;Mittweida;DMW
MM;Memmingen;MM
MOST;München Ost;MOP
MPAS;München-Pasing;MP
MR;Marburg(Lahn);FMBG
MS;Münster(Westf)Hbf;EMST
MT;Montabaur;FMT
MUE;Mühldorf(Oberbay);MMF
MZ;Mainz Hbf;FMZ
MZBI;Mainz-Bischofsheim;FMB
N;Nürnberg Hbf;NN
NAU;Nauen;BNAU
NB;Neubrandenburg;WN
NDD;Neudietendorf;UND
NDF;Narsdorf;LNA
NDH;Nordhausen;UN
NE;Neuss Hbf;KN
NEA;Neustadt(Aisch)Bahnh;NNA
NECK;Mosbach-Neckarelz;RNZ
NENN;Bad Nenndorf;HNDF
NEUD;Neustadt(Dosse);WNS
NEUF;Neufahrn(Niederbay);MNFR
NEUK;Neukieritzsch;LNK
NEUS;Neustadt(Sachs);DNE
NEUZ;Neuzelle;BNZ
NFS;Nürnberg Frankensta;NSTD
NGM;Neckargemünd;RNM
NHM;Bad Nauheim;FBNA
NI;Nienburg(Weser);HNBG
NIDA;Nidderau;FHWD
NIDD;Nidda;FND
NIDH;Niedernhausen(Ts);FNSD
NILA;Niederlahnstein;KNL
NK;Neunkirchen(Saar)Hbf;SNK
NKN;Neukirchen(b Sulzb);NNS
NMB;Naumburg(Saale)Hbf;UNM
NMK;Neumark(Sachs);DNM
NMO;Neumarkt(Oberpf);NNT
NMS;Neumünster;AN
NMV;Neumarkt-St Veit;MNR
NMW;Neuenmarkt-Wirsberg;NNE
NOE;Nördlingen;MNL
NOM;Northeim(Han);HN
NOR;Norden;HNN
NP;Neuruppin West;WNRW
NR;Neuwied;KNE
NST;Nordstemmen;HNOS
NW;Neustadt(Weinstr)Hbf;RN
NWAL;Niederwalgern;FNL
NZ;Neustrelitz Hbf;WNT
OB;Oberhausen Hbf;EOB
OBRO;Rödermark-Ob.Roden;FORD
OD;Bad Oldesloe;AO
OEB;Oebisfelde;LOE
OERL;Oerlinghausen;EOER
OEYN;Bad Oeynhausen;HOY
OF;Offenbach(Main)Hbf;FO
OG;Offenburg;RO
OHA;Osterode a. H. Mitte;HOTM
OKZ;Oberkotzau;NOKP
OL;Oldenburg(Oldb)Hbf;HOLD
OLD;Oldenburg(Holst);AOL
OO;Oberoderwitz;DOZ
OR;Oranienburg;BOR
ORTR;Ortrand;BORT
OS;Osnabrück Hbf;HO
OST;Osterburken;TO
OZ;Oschatz;DOT
P;Potsdam Hbf;BPD
PA;Passau Hbf;NPA
PB;Paderborn Hbf;EPD
PE;Peine;HP
PEG;Pegnitz;NPZ
PEGA;Pegau;LPG
PF;Pforzheim Hbf;TPH
PIR;Pirna;DPI
PL;Plauen(Vogtl) ob Bf;DP
PLA;Plaaz;WPZ
PLAT;Plattling;NPL
PLO;Plochingen;TP
PLTH;Plaue(Thür);UPL
PPIR;Potsdam Pirschheide;BPDP
PRIB;Priemerburg;WPI
PRIE;Priestewitz;DPR
PRO;Probstzella;UPR
PRWK;Pritzwalk;WPR
PS;Pirmasens Nord;SPSN
PULS;Pulsnitz;DPUL
PUMS;Puttgarden(MS);AXP
PUTT;Puttgarden;APU
PW;Pasewalk;WP
PZ;Prenzlau;WPL
QFT;Querfurt;LQ
QLB;Quedlinburg;LQB
R;Regensburg Hbf;NRH
RA;Rastatt;RRA
RAT;Ratingen Ost;KRAO
RCOL;Reichenbach(Ol);DRCH
RCVO;Reichenbach(V) o Bf;DRC
RD;Rendsburg;AR
RDW;Radebeul-Kötzschenb;DRBK
RE;Recklinghausen Hbf;ERE
REM;Remagen;KRE
RENN;Renningen;TRX
RHED;Rheda-Wiedenbrück;ERDW
RHEI;Rheine;HR
RHH;Rheinhausen;KRH
RIE;Riesa;DR
RN;Rathenow;LRW
RO;Rosenheim;MRO
ROBL;Röblingen am See;LRN
ROHR;Rohrbach(Saar);SRO
ROIL;Rohrbach(Ilm);MRBI
RONN;Ronneburg(Thür);DRON
ROTT;Rottenbach;URTB
ROW;Rotenburg(Wümme);AROG
RS;Remscheid Hbf;KR
RSL;Roßlau(Elbe);LR
RT;Reutlingen Hbf;TRE
RU;Rudolstadt(Thür);UR
RUHL;Ruhland;BRU
RW;Rottweil;TR
RY;Rheydt Hbf;KRY
S;Stuttgart Hbf;TS
SAD;Schwandorf;NSCH
SALZ;Salzburg Hbf;XASB
SAW;Salzwedel;LSW
SB;Saarbrücken Hbf;SSH
SBC;Stuttgart-Bad Cannst;TSC
SBG;Strasburg(Uckerm);WSB
SBK;Schönebeck(Elbe);LSB
SCHG;Schöna(Gr);DSN
SCHH;Schaffhausen;XSS
SCHL;Schlüchtern;FSUE
SCHM;Schwelm;KSWE
SCHW;Schwerte(Ruhr);ESRT
SDH;Sondershausen;USH
SDL;Stendal Hbf;LS
SECK;Seckach;RSE
SEES;Seesen;HSSN
SFB;Senftenberg;BSN
SFT;Staßfurt;LSF
SG;Solingen Hbf;KSO
SGH;Sangerhausen;USG
SGM;Schwäbisch Gmünd;TSG
SHA;Schwäb.Hall-Hessent;TSHT
SHL;Suhl;USL
SHS;Schönhausen(Elbe);LSH
SI;Siegen Hbf;ESIE
SIF;Schifferstadt;RSD
SIG;Sigmaringen;TSIG
SIGB;Siegburg/Bonn;KSIB
SIHA;Siershahn;KSIH
SIMB;Simbach(Inn);MSBI
SIN;Singen(Hohentwiel);RSI
SINS;Sinsheim(Elsenz) Hbf;RSM
SLB;Sandersleben(Anh);LSL
SLF;Saalfeld(Saale);US
SLN;Schmölln(Thür);DSM
SLZ;Bad Salzungen;USZ
SM;Schmalkalden;USM
SN;Schwerin Hbf;WS
SO;Soest;ESOT
SOEM;Sömmerda;USD
SOL;Soltau(Han);HSO
SON;Sonneberg(Thür)Hbf;USO
SPAI;Spaichingen;TSP
SR;Straubing;NST
STD;Stade;AST
STEI;Steinach(b Rothenb);NSTN
STF;Straußfurt;USF
STHM;Glauburg-Stockheim;FSTM
STOL;Stolpen;DSTL
SW;Schweinfurt Hbf;NS
SWAA;Schwaan;WSN
SWB;Schwarzenberg(Erzg);DSC
SZRI;Salzgitter-Ringelh.;HSRI
TANG;Tantow(Gr);WXT
TBZ;Treuenbrietzen;BTZN
TEL;Teltow;BTL
TEU;Teuchern;UTEU
THEM;Themar;UTH
THH;Thalheim(Erzgeb);DTAL
TP;Templin;WT
TR;Trier Hbf;STR
TREU;Treuchtlingen;MTL
TREY;Treysa;FTS
TRIP;Triptis;UTR
TROI;Troisdorf;KT
TS;Traunstein;MTS
TUE;Tübingen Hbf;TT
TUEH;Türkheim(Bay)Bf;MTHB
TUEM;Türkismühle;STM
TUT;Tuttlingen;TTU
UCKR;Luckau-Uckro;BUK
UE;Uelzen;HU
UL;Ulm Hbf;TU
UN;Unna;EUN
VAI;Vaihingen(Enz);TV
VER;Verden(Aller);HV
VIE;Viersen;KV
VIEN;Vienenburg;HVBG
VK;Völklingen;SVL
VS;Villingen(Schwarzw);RVL
W;Wuppertal Hbf;KW
WAB;Wabern(Bz Kassel);FWAB
WAF;Warendorf;EWAF
WAL;Wallau(Lahn);FWA
WALK;Walkenried;HWKD
WAN;Wanne-Eickel Hbf;EWAN
WAR;Warburg(Westf);HWAR
WB;Luth. Wittenberg Hbf;LW
WBE;Wittenberge;WW
WBG;Wiesenburg(Mark);BWG
WBR;Wüstenbrand;DWD
WDA;Werdau;DWR
WDH;Waldheim;DWA
WE;Weimar;UWM
WEB;Westerburg;FWBG
WEET;Weetzen;HWEZ
WEID;Weida;UWE
WEIL;Weil der Stadt;TW
WEIN;Weinheim(Bergstr)Hbf;RWE
WEL;Weilburg;FWG
WEN;Weiden(Oberpf);NWDO
WERH;Werder(Havel);BWE
WERL;Werl;EWER
WERN;Werneuchen;BWER
WERT;Wertheim;TWT
WES;Wesel;EWES
WEST;Westerland(Sylt);AWLA
WETZ;Wetzlar;FWR
WF;Wolfenbüttel;HWOL
WHSN;Wernshausen;UWH
WI;Wiesbaden Hbf;FW
WIBI;Wiesbaden-Biebrich;FWB
WINN;Winnweiler;SWNW
WIT;Witten Hbf;EWIT
WITT;Wittingen;HWTT
WIWA;Wiesloch-Walldorf;RWS
WK;Wittstock(Dosse);WWK
WM;Weilheim(Oberbay);MWH
WN;Waiblingen;TWN
WO;Worms Hbf;FWOR
WOB;Wolfsburg Hbf;HWOB
WOE;Wörth(Rhein);RWRT
WRN;Waren(Müritz);WWR
WSF;Weißenfels;UW
WTH;Wilthen;DWT
WTL;Wittlich Hbf;SWIH
WUE;Würzburg Hbf;NWH
WUED;Wünschendorf;DRF
WUM;Wustermark;BWUS
WUN;Wunsiedel-Holenbrunn;NHOB
WUNS;Wunstorf;HWUN
WWI;Weilerswist;KWES
WZN;Wriezen;BWRZ
Z;Zwickau(Sachs)Hbf;DZW
ZE;Zerbst/Anhalt;LZE
ZEUL;Zeulenroda unt Bf;UZU
ZGGR;Zgorzelec(Gr);XPZG
ZI;Zittau;DZ
ZME;Zella-Mehlis;UZL
ZS;Zossen;BZO
ZZ;Zeitz;LZ
1 Leitpunktkürzel Tarifpunkt DS100
2 A Augsburg Hbf MA
3 AA Aalen Hbf TA
4 AB Aschaffenburg Hbf NAH
5 ABG Altenburg LA
6 AC Aachen Hbf KA
7 ACH Achern RAH
8 ACSG Aachen Süd(Gr) KXA
9 ADE Adelebsen HADB
10 AIC Aichach MAI
11 ALL Allersberg(Rothsee) NALB
12 ALT Altenbeken HA
13 AN Ansbach NAN
14 AND Andernach KAND
15 ANG Angermünde WA
16 APO Apolda UAP
17 ARD Arnsdorf(Dresden) DAF
18 ARN Arnstadt Hbf UA
19 ASCH Ascheberg(Holst) AAG
20 ASL Aschersleben LAL
21 AU Aue(Sachs) DAU
22 AUL Aulendorf TAU
23 AUS Au(Sieg) KAU
24 AZ Alzey FALZ
25 B Berlin Friedrichstr BFRI
26 BA Bamberg NBA
27 BAAL Baalberge LBB
28 BAB Babenhausen(Hess) FBA
29 BACK Backnang TB
30 BAD Baden-Baden RBB
31 BALI Bad Liebenwerda BBLW
32 BAS Basel Bad Bf RB
33 BB Böblingen TBO
34 BBG Bernburg Hbf LBG
35 BCH Berlin-Charlottenbg. BCHB
36 BEB Bebra FB
37 BED Bedburg(Erft) KBE
38 BEGR Bad Bentheim(Gr) HXB
39 BELZ Bad Belzig BBIG
40 BENS Bensheim FBH
41 BENT Bad Bentheim HBTH
42 BER Bernau(b Berlin) BBRN
43 BETZ Betzdorf(Sieg) EBZ
44 BF Steinfurt-Burgstein. EBFT
45 BGS Berlin Gesundbrunnen BGS
46 BHBF Berlin Hbf BL
47 BHS Berlin-Hohenschönh. BHSH
48 BHV Bremerhaven Hbf HBH
49 BI Bielefeld Hbf EBIL
50 BIET Bietigheim-Bissingen TBM
51 BILL Billerbeck EBB
52 BIN Bingen(Rhein) Hbf FBGK
53 BIW Bischofswerda DBW
54 BIZ Biederitz LBZ
55 BKH Berlin-Karlshorst BKH
56 BKL Bad Kleinen WK
57 BLAM Blankenberg(Meckl) WBL
58 BLF Blankenf(Teltow-Fl) BBF
59 BLG Bad Blankenburg(Th) UBL
60 BLH Blankenheim(Sangerh) FBLA
61 BLI Berlin-Lichtenberg BLO
62 BN Bonn Hbf KB
63 BNBE Bonn-Beuel KBB
64 BNG Burg-u.Ndr Gemünden FBNG
65 BNGO Bonn-Bad Godesberg KBBG
66 BO Bochum Hbf EBO
67 BOB Berlin Ostbahnhof BHF
68 BOH Bocholt EBCH
69 BOK Berlin Ostkreuz BOK
70 BOP Boppard Hbf KBOP
71 BOR Borken(Westf) EBK
72 BORS Borsdorf(Sachs) LBOR
73 BOT Bottrop Hbf EBTH
74 BR Bruchsal RBR
75 BRAC Bielefeld-Brackwede EBWE
76 BRB Brandenburg Hbf LB
77 BRE Bretleben UBR
78 BRI Brilon Wald EBRW
79 BRIT Britz WBR
80 BROI Lengede-Broistedt HBST
81 BRT Bretten RBT
82 BRV Bremervörde ABV
83 BS Braunschweig Hbf HBS
84 BSFL Flgh. BER T5 Schöne BFHS
85 BSK Berlin Südkreuz BPAF
86 BSP Berlin-Spandau BSPD
87 BSU Bad Schandau DAS
88 BT Bayreuth Hbf NBY
89 BTF Bitterfeld LBT
90 BUCH Buchholz(Nordheide) ABLZ
91 BUE Büchen ABCH
92 BUEN Bünde(Westf) HBDE
93 BUEZ Bützow WB
94 BULL Bullay(DB) SBY
95 BULO Buchloe MBU
96 BUT Buttstädt UBU
97 BWA Berlin-Wannsee BWS
98 BWK Berlin Westkreuz BWKR
99 BZ Bautzen DBZ
100 BZG Berlin Zoolg. Garten BZOO
101 C Chemnitz Hbf DC
102 CA Calau(Nl) BC
103 CALO Calbe(Saale) Ost LCBO
104 CALW Calbe(Saale) West LCBW
105 CAMB Camburg(Saale) UCB
106 CB Cottbus Hbf BCS
107 CE Celle HC
108 CO Coburg NC
109 COC Cochem(Mosel) SCOC
110 COE Coesfeld(Westf) ECMF
111 COEL Cölbe FCOE
112 CON Coburg Nord NCN
113 COS Coswig(Anh) LCW
114 COSD Coswig(b Dresden) DCW
115 CR Crailsheim TC
116 CW Calw TCW
117 D Düsseldorf Hbf KD
118 DA Darmstadt Hbf FD
119 DD Dresden Hbf DH
120 DDN Dresden-Neustadt DN
121 DE Dessau Hbf LD
122 DEL Delmenhorst HD
123 DERN Derneburg(Han) HDBG
124 DFL Düsseldorf Flugh. KDF
125 DH Diepholz HDIP
126 DIL Dillenburg FDIL
127 DILL Dillingen(Saar) SDL
128 DL Döbeln Hbf DDE
129 DN Düren KDN
130 DO Dortmund Hbf EDO
131 DOD Dortmund-Dorstfeld EDDP
132 DOKI Doberlug-Kirchhain BDKO
133 DON Donauwörth MDT
134 DOWH Dortmund Signal Idu. EDWH
135 DOWW Dortmund-Wickede W EDWW
136 DS Donaueschingen RDO
137 DU Duisburg Hbf EDG
138 DUED Dürrröhrsdorf DRR
139 DUEL Dülmen EDUL
140 DZ Delitzsch LDL
141 E Essen Hbf EE
142 EALT Essen-Altenessen EEAL
143 EB Eilenburg LEG
144 EBB Eberbach REA
145 EF Erfurt Hbf UE
146 EGID St Egidien DEG
147 EICH Eichenberg HEBG
148 EIL Lutherstadt Eisleben LEL
149 EILS Eilsleben(Magdeb) LEI
150 ELMS Elmshorn AEL
151 ELW Elsterwerda BEW
152 ELXL Elxleben UEX
153 ELZE Elze(Han) HELZ
154 EMD Emden Hbf HE
155 EMM Emmerich EEM
156 EMMG Emmerich(Gr) EXEM
157 ENG Engers KENR
158 ER Erlangen NER
159 ERK Erkelenz KERZ
160 ESA Eisenach UEI
161 ESW Eschwege-Niederhone FONH
162 ESWE Eschwege FEG
163 EU Euskirchen KEU
164 EUTG Eutingen im Gäu TET
165 EW Eberswalde Hbf WE
166 F Frankfurt(Main)Hbf FF
167 FB Friedberg(Hess) FFG
168 FBE Falkenberg(Elster) ILF
169 FD Fulda FFU
170 FDS Freudenstadt Hbf TFS
171 FF Frankfurt(Oder) BFP
172 FFMF Frankfurt(M)Flugh. FFLF
173 FFMN Frankfurt-Niederrad FNI
174 FFMS Frankfurt(Main)Süd FFS
175 FG Freiberg(Sachs) DFR
176 FH Frankfurt-Höchst FHOE
177 FIN Finnentrop EFP
178 FINK Finkenkrug BFIN
179 FIW Finsterwalde(Nl) BFW
180 FKB Frankenberg(Eder) FFRK
181 FL Flensburg AF
182 FLOE Flöha DFL
183 FN Friedrichshafen St. TFS
184 FOER Förderstedt LFD
185 FOFR Forbach(fr) XFFB
186 FOR Forst(Lausitz) BFO
187 FR Freiburg(Brsg)Hbf RF
188 FREI Freilassing MFL
189 FRIJ Bad Friedrichsh Hbf TBF
190 FROE Fröndenberg EFOE
191 FROS Frose LFE
192 FRT Frankenthal Hbf RFT
193 FRW Bad Freienwalde WFW
194 FS Freising MFR
195 FSTD Frankfurt(M)Stadion FSP
196 FUB Fürstenberg(Havel) WF
197 FUE Fürth(Bay)Hbf NF
198 FUGR Furth im Wald(Gr) NXFU
199 FW Fürstenwalde(Spree) BFUW
200 G Gera Hbf UG
201 GAI Gaimersheim MGH
202 GAM Gammertingen TGMT
203 GAP Garmisch-Partenk. MGP
204 GC Glauchau(Sachs) DGL
205 GE Gelsenkirchen Hbf EG
206 GEES Geestgottberg LGG
207 GELN Gelnhausen FGEL
208 GELT Geltendorf MGE
209 GEM Gemünden(Main) NGM
210 GER Germersheim RGE
211 GERO Gerolstein SGR
212 GERS Gerstungen UGT
213 GF Gifhorn HGI
214 GG Groß Gerau FGER
215 GHA Geithain LGH
216 GHCB Großenhain Cottb Bf DGC
217 GHW Gensingen-Horrweiler FGHO
218 GI Gießen FG
219 GLA Gladbeck West EGBW
220 GLK Geilenkirchen KGEK
221 GNT Genthin LGN
222 GODE Riedstadt-Goddelau FGE
223 GOE Göttingen HG
224 GOES Gößnitz DGZ
225 HAUS Hausach RHA
226 HB Bremen Hbf HB
227 HBS Halberstadt LHB
228 HCH Hechingen THCH
229 HD Heidelberg Hbf RHA
230 HDL Haldensleben LHL
231 HDO Holzdorf(Elster) LHZ
232 HE Helmstedt HHLM
233 HEBO Herborn(Dillkr) FHRB
234 HEI Heide(Holst) AHI
235 HENN Hennigsdorf(b Bln) BHND
236 HER Herne EHER
237 HERB Herbertingen THT
238 HERL Herlasgrün DHN
239 HERP Hersbruck(r Pegnitz) NHR
240 HERS Bad Hersfeld FBHF
241 HERV Hervest-Dorsten EHDT
242 HERZ Herzogenrath KHEZ
243 HESE Hesepe HHES
244 HET Hettstedt LHE
245 HF Herford EHFD
246 HH Hamburg-Sternschanze ASTZ
247 HHAL Hamburg-Altona AA
248 HHBD Hamburg-Bergedorf ABG
249 HHDA Hamburg Dammtor ADF
250 HHH Hamburg Hbf AH
251 HI Hildesheim Hbf HHI
252 HIDH Hiddenh.-Schweicheln HHIS
253 HL Lübeck Hbf AL
254 HM Hameln HHM
255 HML HannoverMesseLaatzen HHML
256 HN Heilbronn Hbf TH
257 HNB Herrnburg WHB
258 HO Hof Hbf NHO
259 HOCK Hockeroda UHR
260 HOE Höchst(Odenw) FHT
261 HOLT Holthusen WHO
262 HOLZ Holzminden HHZM
263 HOM Homburg(Saar)Hbf SHO
264 HOR Horb THB
265 HORK Horka BHR
266 HORR Horrem KHR
267 HOS Hosena BHC
268 HOSP Hochspeyer SHY
269 HRB Herrenberg THE
270 HRO Rostock Hbf WR
271 HST Stralsund Hbf WSR
272 HU Hanau Hbf FH
273 HUS Husum AHM
274 HY Hoyerswerda BHW
275 HZ Herzberg(Harz) HHB
276 IBB Ibbenbüren HI
277 IGGR Igel(Gr) SXIG
278 IMM Immendingen RIM
279 IN Ingolstadt Hbf MIH
280 IS Iserlohn EIL
281 IZ Itzehoe AIZ
282 JB Jüterbog BJUE
283 JE Jessen(Elster) LJN
284 JP Jena Paradies UJP
285 JS Jena Saalbf UJS
286 JUEB Jübek AJ
287 JW Jena West UJW
288 K Köln Hbf KK
289 KA Karlsruhe Hbf RK
290 KADU Karlsruhe-Durlach RKDU
291 KAHL Kahl(Main) FKLM
292 KALD Kaldenkirchen KKAK
293 KAM Kamen EKAM
294 KAMZ Kamenz(Sachs) DKA
295 KAUF Kaufering MKFG
296 KB Korbach Hbf FKOB
297 KBFL Köln/Bonn Flughafen KFKB
298 KBR Königsbrück DKB
299 KDEU Köln Messe/Deutz KKDZ
300 KE Kempten(Allgäu)Hbf MKP
301 KEGR Kehl(Gr) RXKL
302 KEHL Kehl RKL
303 KEHR Köln-Ehrenfeld KKER
304 KF Kaufbeuren MKFB
305 KH Bad Kreuznach SBKN
306 KI Kiel Hbf AK
307 KL Kaiserslautern Hbf SKL
308 KLB Kirchenlaibach NKL
309 KLE Kleve KKLV
310 KLG Kißlegg TKG
311 KO Koblenz Hbf KKO
312 KOEB Koblenz-Ehrenbreit. KKOE
313 KOEN Königsbach(Baden) TKB
314 KOET Köthen LK
315 KOLZ Koblenz-Lützel KKOL
316 KON Könnern LKO
317 KR Krefeld Hbf KKR
318 KREI Kreiensen HK
319 KREU Kreuztal EKT
320 KS Kassel-Wilhelmshöhe FKW
321 KSHB Kassel Hbf FK
322 KTW Kettwig EKG
323 KUF Kufstein XAKN
324 KW Königs Wusterhausen BKW
325 L Leipzig Hbf LL
326 LA Landshut(Bay)Hbf MLA
327 LAA Laage(Meckl) WLA
328 LAGE Lage(Lippe) ELAG
329 LAUD Lauda TL
330 LAUT Lauterbach(Hess)Nord FLAU
331 LAWL Langwedel HLGW
332 LB Ludwigsburg TLU
333 LBB Lübbenau(Spreewald) BLN
334 LBG Velbert-Langenberg ELBG
335 LCH Laucha(Unstrut) ULCH
336 LD Landau(Pfalz)Hbf RLA
337 LEES Leese-Stolzenau HLST
338 LEHR Lehrte HLER
339 LEIF Leinefelde UL
340 LER Leer(Ostfriesl) HLEE
341 LETM Letmathe ELE
342 LEUT Leutkirch TLK
343 LEVM Leverkusen Mitte KLMI
344 LG Lüneburg ALBG
345 LHFL Leipzig/Halle Flugh LFLU
346 LI Lindau-Insel MLI
347 LIF Lichtenfels NLF
348 LIPP Lippstadt ELPP
349 LIRE Lindau-Reutin MLIR
350 LLEU Leipzig-Leutzsch LLEL
351 LM Limburg(Lahn) FL
352 LMS Limburg Süd FLIS
353 LN Lübben(Spreewald) BLB
354 LOEB Löbau(Sachs) DL
355 LOEH Löhne(Westf) HL
356 LOH Lohmen DLO
357 LOLL Lollar FLOL
358 LOW Löwenberg(Mark) WLO
359 LPLA Leipzig-Plagwitz LLP
360 LSZ Bad Langensalza ULS
361 LU Ludwigshafen(Rh)Hbf RL
362 LUEN Lünen Hbf ELUE
363 LUF Ludwigsfelde BLF
364 LWL Ludwigslust WL
365 M München Hbf MH
366 MA Mannheim Hbf RM
367 MAK Marktredwitz NMR
368 MALS Malsfeld FMFH
369 MARG Markkleeberg-Großst LMAG
370 MCK Mühlacker TM
371 MD Magdeburg Hbf LM
372 MDR Magdeburg-Rothensee LMR
373 MEHL Mehltheuer DMEH
374 MEI Meißen DME
375 MELL Mellingen(Thür) UMEN
376 MER Merseburg Hbf LMG
377 MERK Merklingen - S. Alb TMKL
378 MET Mellrichstadt Bf NME
379 MG Mönchengladbach Hbf KM
380 MH Mülheim(Ruhr)Hbf EMLR
381 MI Minden(Westf) HM
382 MIDO Michendorf BMIP
383 MIL Miltenberg NM
384 MIN Mindelheim MMH
385 MIW Mittweida DMW
386 MM Memmingen MM
387 MOST München Ost MOP
388 MPAS München-Pasing MP
389 MR Marburg(Lahn) FMBG
390 MS Münster(Westf)Hbf EMST
391 MT Montabaur FMT
392 MUE Mühldorf(Oberbay) MMF
393 MZ Mainz Hbf FMZ
394 MZBI Mainz-Bischofsheim FMB
395 N Nürnberg Hbf NN
396 NAU Nauen BNAU
397 NB Neubrandenburg WN
398 NDD Neudietendorf UND
399 NDF Narsdorf LNA
400 NDH Nordhausen UN
401 NE Neuss Hbf KN
402 NEA Neustadt(Aisch)Bahnh NNA
403 NECK Mosbach-Neckarelz RNZ
404 NENN Bad Nenndorf HNDF
405 NEUD Neustadt(Dosse) WNS
406 NEUF Neufahrn(Niederbay) MNFR
407 NEUK Neukieritzsch LNK
408 NEUS Neustadt(Sachs) DNE
409 NEUZ Neuzelle BNZ
410 NFS Nürnberg Frankensta NSTD
411 NGM Neckargemünd RNM
412 NHM Bad Nauheim FBNA
413 NI Nienburg(Weser) HNBG
414 NIDA Nidderau FHWD
415 NIDD Nidda FND
416 NIDH Niedernhausen(Ts) FNSD
417 NILA Niederlahnstein KNL
418 NK Neunkirchen(Saar)Hbf SNK
419 NKN Neukirchen(b Sulzb) NNS
420 NMB Naumburg(Saale)Hbf UNM
421 NMK Neumark(Sachs) DNM
422 NMO Neumarkt(Oberpf) NNT
423 NMS Neumünster AN
424 NMV Neumarkt-St Veit MNR
425 NMW Neuenmarkt-Wirsberg NNE
426 NOE Nördlingen MNL
427 NOM Northeim(Han) HN
428 NOR Norden HNN
429 NP Neuruppin West WNRW
430 NR Neuwied KNE
431 NST Nordstemmen HNOS
432 NW Neustadt(Weinstr)Hbf RN
433 NWAL Niederwalgern FNL
434 NZ Neustrelitz Hbf WNT
435 OB Oberhausen Hbf EOB
436 OBRO Rödermark-Ob.Roden FORD
437 OD Bad Oldesloe AO
438 OEB Oebisfelde LOE
439 OERL Oerlinghausen EOER
440 OEYN Bad Oeynhausen HOY
441 OF Offenbach(Main)Hbf FO
442 OG Offenburg RO
443 OHA Osterode a. H. Mitte HOTM
444 OKZ Oberkotzau NOKP
445 OL Oldenburg(Oldb)Hbf HOLD
446 OLD Oldenburg(Holst) AOL
447 OO Oberoderwitz DOZ
448 OR Oranienburg BOR
449 ORTR Ortrand BORT
450 OS Osnabrück Hbf HO
451 OST Osterburken TO
452 OZ Oschatz DOT
453 P Potsdam Hbf BPD
454 PA Passau Hbf NPA
455 PB Paderborn Hbf EPD
456 PE Peine HP
457 PEG Pegnitz NPZ
458 PEGA Pegau LPG
459 PF Pforzheim Hbf TPH
460 PIR Pirna DPI
461 PL Plauen(Vogtl) ob Bf DP
462 PLA Plaaz WPZ
463 PLAT Plattling NPL
464 PLO Plochingen TP
465 PLTH Plaue(Thür) UPL
466 PPIR Potsdam Pirschheide BPDP
467 PRIB Priemerburg WPI
468 PRIE Priestewitz DPR
469 PRO Probstzella UPR
470 PRWK Pritzwalk WPR
471 PS Pirmasens Nord SPSN
472 PULS Pulsnitz DPUL
473 PUMS Puttgarden(MS) AXP
474 PUTT Puttgarden APU
475 PW Pasewalk WP
476 PZ Prenzlau WPL
477 QFT Querfurt LQ
478 QLB Quedlinburg LQB
479 R Regensburg Hbf NRH
480 RA Rastatt RRA
481 RAT Ratingen Ost KRAO
482 RCOL Reichenbach(Ol) DRCH
483 RCVO Reichenbach(V) o Bf DRC
484 RD Rendsburg AR
485 RDW Radebeul-Kötzschenb DRBK
486 RE Recklinghausen Hbf ERE
487 REM Remagen KRE
488 RENN Renningen TRX
489 RHED Rheda-Wiedenbrück ERDW
490 RHEI Rheine HR
491 RHH Rheinhausen KRH
492 RIE Riesa DR
493 RN Rathenow LRW
494 RO Rosenheim MRO
495 ROBL Röblingen am See LRN
496 ROHR Rohrbach(Saar) SRO
497 ROIL Rohrbach(Ilm) MRBI
498 RONN Ronneburg(Thür) DRON
499 ROTT Rottenbach URTB
500 ROW Rotenburg(Wümme) AROG
501 RS Remscheid Hbf KR
502 RSL Roßlau(Elbe) LR
503 RT Reutlingen Hbf TRE
504 RU Rudolstadt(Thür) UR
505 RUHL Ruhland BRU
506 RW Rottweil TR
507 RY Rheydt Hbf KRY
508 S Stuttgart Hbf TS
509 SAD Schwandorf NSCH
510 SALZ Salzburg Hbf XASB
511 SAW Salzwedel LSW
512 SB Saarbrücken Hbf SSH
513 SBC Stuttgart-Bad Cannst TSC
514 SBG Strasburg(Uckerm) WSB
515 SBK Schönebeck(Elbe) LSB
516 SCHG Schöna(Gr) DSN
517 SCHH Schaffhausen XSS
518 SCHL Schlüchtern FSUE
519 SCHM Schwelm KSWE
520 SCHW Schwerte(Ruhr) ESRT
521 SDH Sondershausen USH
522 SDL Stendal Hbf LS
523 SECK Seckach RSE
524 SEES Seesen HSSN
525 SFB Senftenberg BSN
526 SFT Staßfurt LSF
527 SG Solingen Hbf KSO
528 SGH Sangerhausen USG
529 SGM Schwäbisch Gmünd TSG
530 SHA Schwäb.Hall-Hessent TSHT
531 SHL Suhl USL
532 SHS Schönhausen(Elbe) LSH
533 SI Siegen Hbf ESIE
534 SIF Schifferstadt RSD
535 SIG Sigmaringen TSIG
536 SIGB Siegburg/Bonn KSIB
537 SIHA Siershahn KSIH
538 SIMB Simbach(Inn) MSBI
539 SIN Singen(Hohentwiel) RSI
540 SINS Sinsheim(Elsenz) Hbf RSM
541 SLB Sandersleben(Anh) LSL
542 SLF Saalfeld(Saale) US
543 SLN Schmölln(Thür) DSM
544 SLZ Bad Salzungen USZ
545 SM Schmalkalden USM
546 SN Schwerin Hbf WS
547 SO Soest ESOT
548 SOEM Sömmerda USD
549 SOL Soltau(Han) HSO
550 SON Sonneberg(Thür)Hbf USO
551 SPAI Spaichingen TSP
552 SR Straubing NST
553 STD Stade AST
554 STEI Steinach(b Rothenb) NSTN
555 STF Straußfurt USF
556 STHM Glauburg-Stockheim FSTM
557 STOL Stolpen DSTL
558 SW Schweinfurt Hbf NS
559 SWAA Schwaan WSN
560 SWB Schwarzenberg(Erzg) DSC
561 SZRI Salzgitter-Ringelh. HSRI
562 TANG Tantow(Gr) WXT
563 TBZ Treuenbrietzen BTZN
564 TEL Teltow BTL
565 TEU Teuchern UTEU
566 THEM Themar UTH
567 THH Thalheim(Erzgeb) DTAL
568 TP Templin WT
569 TR Trier Hbf STR
570 TREU Treuchtlingen MTL
571 TREY Treysa FTS
572 TRIP Triptis UTR
573 TROI Troisdorf KT
574 TS Traunstein MTS
575 TUE Tübingen Hbf TT
576 TUEH Türkheim(Bay)Bf MTHB
577 TUEM Türkismühle STM
578 TUT Tuttlingen TTU
579 UCKR Luckau-Uckro BUK
580 UE Uelzen HU
581 UL Ulm Hbf TU
582 UN Unna EUN
583 VAI Vaihingen(Enz) TV
584 VER Verden(Aller) HV
585 VIE Viersen KV
586 VIEN Vienenburg HVBG
587 VK Völklingen SVL
588 VS Villingen(Schwarzw) RVL
589 W Wuppertal Hbf KW
590 WAB Wabern(Bz Kassel) FWAB
591 WAF Warendorf EWAF
592 WAL Wallau(Lahn) FWA
593 WALK Walkenried HWKD
594 WAN Wanne-Eickel Hbf EWAN
595 WAR Warburg(Westf) HWAR
596 WB Luth. Wittenberg Hbf LW
597 WBE Wittenberge WW
598 WBG Wiesenburg(Mark) BWG
599 WBR Wüstenbrand DWD
600 WDA Werdau DWR
601 WDH Waldheim DWA
602 WE Weimar UWM
603 WEB Westerburg FWBG
604 WEET Weetzen HWEZ
605 WEID Weida UWE
606 WEIL Weil der Stadt TW
607 WEIN Weinheim(Bergstr)Hbf RWE
608 WEL Weilburg FWG
609 WEN Weiden(Oberpf) NWDO
610 WERH Werder(Havel) BWE
611 WERL Werl EWER
612 WERN Werneuchen BWER
613 WERT Wertheim TWT
614 WES Wesel EWES
615 WEST Westerland(Sylt) AWLA
616 WETZ Wetzlar FWR
617 WF Wolfenbüttel HWOL
618 WHSN Wernshausen UWH
619 WI Wiesbaden Hbf FW
620 WIBI Wiesbaden-Biebrich FWB
621 WINN Winnweiler SWNW
622 WIT Witten Hbf EWIT
623 WITT Wittingen HWTT
624 WIWA Wiesloch-Walldorf RWS
625 WK Wittstock(Dosse) WWK
626 WM Weilheim(Oberbay) MWH
627 WN Waiblingen TWN
628 WO Worms Hbf FWOR
629 WOB Wolfsburg Hbf HWOB
630 WOE Wörth(Rhein) RWRT
631 WRN Waren(Müritz) WWR
632 WSF Weißenfels UW
633 WTH Wilthen DWT
634 WTL Wittlich Hbf SWIH
635 WUE Würzburg Hbf NWH
636 WUED Wünschendorf DRF
637 WUM Wustermark BWUS
638 WUN Wunsiedel-Holenbrunn NHOB
639 WUNS Wunstorf HWUN
640 WWI Weilerswist KWES
641 WZN Wriezen BWRZ
642 Z Zwickau(Sachs)Hbf DZW
643 ZE Zerbst/Anhalt LZE
644 ZEUL Zeulenroda unt Bf UZU
645 ZGGR Zgorzelec(Gr) XPZG
646 ZI Zittau DZ
647 ZME Zella-Mehlis UZL
648 ZS Zossen BZO
649 ZZ Zeitz LZ

View file

@ -4,6 +4,7 @@ import gleam/http.{Get}
import gleam/bit_builder.{BitBuilder} import gleam/bit_builder.{BitBuilder}
import gleam/erlang/process import gleam/erlang/process
import gleam/erlang/atom import gleam/erlang/atom
import gleam/erlang/file
import gleam/io import gleam/io
import gleam/int import gleam/int
import gleam/string import gleam/string
@ -129,6 +130,7 @@ fn lookup_station(
request: Request(t), request: Request(t),
stations: Map(String, String), stations: Map(String, String),
ds100s: Map(String, String), ds100s: Map(String, String),
leitpunkte: Map(String, String),
baseurl: String, baseurl: String,
fuzzy: fn (String) -> List(String) fuzzy: fn (String) -> List(String)
) -> Response(BitBuilder) { ) -> Response(BitBuilder) {
@ -140,13 +142,29 @@ fn lookup_station(
200, 200,
"ds100 → Name: " <> baseurl <> "/NN\n" <> "Name → ds100: " <> baseurl <> "/Nürnberg Hbf", "ds100 → Name: " <> baseurl <> "/NN\n" <> "Name → ds100: " <> baseurl <> "/Nürnberg Hbf",
) )
Request(method: Get, path: "/ds100/" <> path, ..) ->
path
|> unpercent
|> string.uppercase
|> lookup_exact(ds100s)
Request(method: Get, path: "/name/" <> path, ..) ->
path
|> unpercent
|> lookup_by_name(stations, ds100s, fuzzy)
Request(method: Get, path: "/leitpunkt/" <> path, ..) ->
path
|> unpercent
|> string.uppercase
|> lookup_exact(leitpunkte)
Request(method: Get, path: "/" <> path, ..) -> { Request(method: Get, path: "/" <> path, ..) -> {
let path = unpercent(path) let path = unpercent(path)
let by_ds100 = lookup_exact(path, ds100s) let by_ds100 = lookup_exact(path, ds100s)
let by_lp = lookup_exact(path, leitpunkte)
case by_ds100.0 { case #(by_ds100.0, by_lp.0) {
200 -> by_ds100 #(200, _) -> by_ds100
#(_, 200) -> by_lp
_ -> lookup_by_name(path, stations, ds100s, fuzzy) _ -> lookup_by_name(path, stations, ds100s, fuzzy)
} }
} }
@ -183,26 +201,25 @@ fn fetch_data() -> Result(String, hackney.Error) {
Ok(string.replace(response.body, "<EFBFBD>", "ü")) Ok(string.replace(response.body, "<EFBFBD>", "ü"))
} }
fn read_csv() -> List(#(String, String)) { fn read_csv(contents) -> List(List(String)) {
// let assert Ok(contents) = file.read(path)
let assert Ok(contents) = fetch_data()
contents contents
// the file doesn't use quotes, so this is fine // the file doesn't use quotes, so this is fine
|> string.split(on: "\n") |> string.split(on: "\n")
// drop CSV header // drop CSV header
|> list.drop(1) |> list.drop(1)
|> list.map(fn(a) { string.split(a, on: ";") }) |> list.map(fn(a) { string.split(a, on: ";") })
|> list.filter_map(fn(fields) {
case fields {
[_, ds100, name, ..] -> Ok(#(name, ds100))
_ -> Error(fields)
}
})
} }
pub fn main() { pub fn main() {
let assert Ok(bahn_ril100) = fetch_data()
let baseurl = "https://bahnhof.name" let baseurl = "https://bahnhof.name"
let stations = read_csv() let stations = read_csv(bahn_ril100)
|> list.filter_map(fn(fields) {
case fields {
[_, ds100, name, ..] -> Ok(#(name, ds100))
_ -> Error(fields)
}
})
let stationmap = let stationmap =
stations stations
|> map.from_list |> map.from_list
@ -220,6 +237,16 @@ pub fn main() {
-> map.from_list([#("id", ds100), #("name", name)] -> map.from_list([#("id", ds100), #("name", name)]
)}})) )}}))
let assert Ok(leitpunkte_raw) = file.read("data/leitpunkte.csv")
let leitpunkte =
read_csv(leitpunkte_raw)
|> list.filter_map(fn(fields) {
case fields {
[lp, _, ds100] -> Ok(#(lp, ds100))
_ -> Error(fields)
}
})
|> map.from_list
let fuzzy = fn(searchterm: String) -> List(String) { let fuzzy = fn(searchterm: String) -> List(String) {
let query = query_new() let query = query_new()
@ -259,7 +286,7 @@ pub fn main() {
let _ = mist.run_service( let _ = mist.run_service(
2345, 2345,
fn(req) { lookup_station(req, stationmap, ds100map, baseurl, fuzzy) }, fn(req) { lookup_station(req, stationmap, ds100map, leitpunkte, baseurl, fuzzy) },
max_body_limit: 100, max_body_limit: 100,
) )
process.sleep_forever() process.sleep_forever()