icancode.de

LaTeX

Ein UBarPlan für Bielefeld … mit TikZ

Veröffentlicht am .

Ein UBarPlan für Bielefeld … mit TikZ

Einleitung

Aktuell ist es schwer in Mode, alle möglichen Informationen in Straßenbahnpläne einzubauen. Aufmerksam geworden bin ich auf diesen Trend, als ich den UBarPlan von Köln sah. Dabei handelt es sich um einen »Hochglanzplan« – ziemlich professionell. Da ich für Bielefeld einen solchen Plan nicht finden konnte, habe ich mir das einfach mal genauer angesehen.

TikZ als Werkzeug?

Dieser Blog beschäftigt sich hauptsächlich mit LaTeX – welches Tool wäre dann besser geeignet als TikZ. Der Entschluss war schnell gefasst. Das erste Problem war natürlich, wie bekomme ich überhaupt den Plan in TikZ umgesetzt. Das geht einfacher als man sich vielleicht vorstellen mag. Den Originalplan gibt es im Internet bei MoBiel. Den habe ich mir also runtergeladen und erstmal in mein LaTeX Dokument eingefügt. Anschließend habe ich das Bild mit einem groben und einem feinen Raster überzogen.

 

Um dorthin zu gelangen bedarf es keiner großen Magie. Ein tikzpicture , ein paar nodes  und eine scale -Umgebung. Fertig ist das gerasterte Bild. Vorher braucht ihr natürlich das \usepackage{tikz} .

\begin{tikzpicture}
  \node[anchor=south west,inner sep=0] (image) at (0,0) {\includegraphics[width=0.9\textwidth]{netzschema.jpg}};
  
  \begin{scope}[x={(image.south east)},y={(image.north west)}]
  
    \draw[help lines,xstep=.01,ystep=.01,gray,very thin] (0,0) grid (1,1);
  
    \foreach \x in {0,1,...,9} { \node [anchor=north] at (\x/10,0) {0.\x}; }
    \foreach \y in {0,1,...,9} { \node [anchor=east] at (0,\y/10) {0.\y}; }


    \draw[help lines,xstep=.1,ystep=.1,thick,black] (0,0) grid (1,1);

    \foreach \x in {0,1,...,9} { \node [anchor=north] at (\x/10,0) {0.\x}; }
    \foreach \y in {0,1,...,9} { \node [anchor=east] at (0,\y/10) {0.\y}; }

  \end{scope}
\end{tikzpicture}

Malen nach Zahlen

Die Grundlage ist geschaffen, jetzt geht es ans fröhliche Punkte erraten. Das Raster macht die exakte Positionierung dabei ziemlich einfach. Bevor man aber alle Punkte direkt einträgt, sollte man sich darüber im Klaren sein, welche eigentlich wirklich benötigt werden. Notwendig sind eigentlich nur die charakteristischen Punkte – also die Eckpunkte und die, die Kurven kennzeichnen. Fangen wir also an, die Endhaltestellen zu markieren. Bevor es losgeht wird ein Style für die Stationen definiert.

\tikzstyle{station} = [draw,black,circle,fill=white, inner sep=2pt]

Jetzt kann es mit den eigentlichen Haltestellen losgehen. Der Lohmannshof und das Rathaus sehen z.B. so aus:

\node[station,label=above:Lohmannshof] at (0.116,0.825) (Lohmannshof) {};
\node[station,label=left:Rathaus] at (0.4668,0.4685) (Rathaus4){};

Ich habe es bei der Positionierung ein wenig mit der Genauigkeit übertrieben, in der Regel sollten zwei Stellen nach dem Komma völlig ausreichen.

Gute Kurvenlage

Für die Modellierung des Knicks der Linie verwende ich drei Punkte. Zwei Haltestellen und einen Hilfspunkt. Im fall der Linie 4 den Siegfriedplatz und den Hauptbahnhof. Der Hilfspunkt dient dem Feintuning des Kurvenbereichs.

\node at (0.417,0.628) (Siggi){};
\node at (0.4668,0.595) (HBF4h){};
\node at (0.4668,0.565) (HBF4){};

Zum Zeichnen der Kurve verwende ich ganz einfach den \draw  Befehl. Auch dieser hat einen Style erhalten, wie das nachfolgende Snippet zeigt.

\tikzstyle{inner} = [draw,semithick, #1,line width=1.6pt,rounded corners=5pt]

\draw[inner=red] (Lohmannshof.center) -- (Siggi.center) .. controls (HBF4h) .. (HBF4.center) -- (Rathaus4.center);

Auffällig ist hier der controls  Befehl. Dieser beeinflusst die Kurve. Er funktioniert mit zwei Knoten, kann aber auch einen dritten enthalten, um eine Feinabstimmung vorzunehmen. Im vorliegenden Fall ist der Hilfspunkt HBF4h  also der Hilfspunkt zu den Koordinaten des Hauptbahnhofsknoten der Linie 4. Dieser kann nun noch und runter verschoben werden, bis das Ergebnis den eigenen Vorstellungen entspricht.

Kneipensammlung

Zum aktuellen Zeitpunkt habe ich alle vier Linien gezeichnet und die Endhaltestellen dazu. Jetzt geht es darum, die Kneipen für die Haltestellen zu suchen. Dazu benötige ich eure Hilfe. Es gibt bereits ein Google Sheet, in dem ihr euch austoben könnt und gern eure Lieblingskneipen an die zugehörige Haltestelle schreiben könnt.

 

Rico Magnucki

Rico Magnucki

http://magnucki.de

21st Century Digital Boy und Blog-Gründer. Studiert naturwissenschaftliche Informatik in Bielefeld. Auf dem Blog ist er der Ansprechpartner für LaTeX, schreibt Tutorials, dreht die Videos für YouTube und durchforstet das Internetz nach spannenden Dingen.

  • Rallus Der Heilige

    Hi Rico,

    hab in Osnabrück studiert und muss sagen: “ Bielefeld gibts garnicht“ :-P

    Kenn mich deßhalb leider dort auch nicht aus. :-) aber eine sehr geile Idee

Kommentare anzeigen (1) ...
Navigation