"Schnelles" Bauen

Hier können Sie über allgemeine Themen zu BAHN diskutieren.
Antworten
Hp_0
Beiträge: 47
Registriert: Samstag 2. Februar 2013, 12:44

"Schnelles" Bauen

Beitrag von Hp_0 »

Hallo,

zum Bauen verwende ich seit Jahren die Excel Umrechnungstabelle für Earth-Koordinaten. Damit kommt man allerdings nicht so schnell voran.

Wie baut ihr eure Netze? Nach Augenmaß? Mit dem Gitter? Mit einem Hintergrundbild?
Seb144
Beiträge: 454
Registriert: Freitag 23. Juni 2006, 13:31
Wohnort: Oranienburg
Kontaktdaten:

Re: "Schnelles" Bauen

Beitrag von Seb144 »

Hallo,

nach Augenmaß unter Verwendung von Google Earth und Messen der Entfernungen durch Mitfahren mit einem verfolgten Zug.
Das Ergebnis ist leider dann immer verzerrt...

Grüße,


Sebastian
_________________
Berlin und Umgebung im Jahr 1989

http://www.bahn1989.berlin
Jan Bochmann
Beiträge: 2199
Registriert: Sonntag 16. März 2003, 15:25
Kontaktdaten:

Re: "Schnelles" Bauen

Beitrag von Jan Bochmann »

Guten Tag,

Ich baue seit vielen Jahren nur noch nach Landkarten/Stadtplänen als Hintergrundbild.

Das Erstellen einer solchen Karte ist etwas mühselig, aber wenn man sie einmal hat, dann kann man recht zügig bauen.

Grüße,
Jan B.
Hp_0
Beiträge: 47
Registriert: Samstag 2. Februar 2013, 12:44

Re: "Schnelles" Bauen

Beitrag von Hp_0 »

Wie geht das denn mit dem Erstellen des Hintergrundbilds? Wollte von Google Earth einen Ausschnitt einfügen. Wie bekommt man das im passenden Maßstab hin?
Jan Bochmann
Beiträge: 2199
Registriert: Sonntag 16. März 2003, 15:25
Kontaktdaten:

Re: "Schnelles" Bauen

Beitrag von Jan Bochmann »

Guten Abend,
Hp_0 hat geschrieben:Wie geht das denn mit dem Erstellen des Hintergrundbilds? Wollte von Google Earth einen Ausschnitt einfügen. Wie bekommt man das im passenden Maßstab hin?
Das wird eine längere Geschichte...

Teil 1: Erstellen einer Karte

Einiges dazu wurde hier diskutiert: http://www.das-bahn-forum.de/bahnforum/ ... f=2&t=3713

Dazu braucht man irgendeine Originalkarte und ein Grafikprogramm, mit dem man Bitmap-Bilder bearbeiten kann. "Bitmaps" meint hier NICHT das Windows-eigene Grafikformat .bmp, sondern alle Grafiken, die aus einer Ansammlung von Bildpunkten (sog. Pixeln) bestehen, also z.B. auch GIF, JPG/JPEG, TGA und viele andere. Das Gegenteil sind sogenannte Vektorgrafiken. Diese nützen uns hier nichts. Man kann sie zwar recht einfach in Bitmaps umwandeln, aber nicht umgekehrt, und Landkartendaten liegen auf dem Bildschirm nun mal als Bitmap vor.

Die Originalkarte kann irgendeine Online-Karte sein, wie z.B. Google Maps, Mapy CZ oder etwas aus dem OSM-Universum (OSM=Open Street Map, ÖPNV-Karte, ORM=Open Railway Map). Es kann auch eine gescannte oder abfotografierte Landkarte sein, oder eine, die irgendein Verkehrsunternehmen veröffentlicht hat.

Das Grafikprogramm muß solche Daten verarbeiten können, also insbesondere Kopieren, Einfügen und Beschneiden am Rand beherrschen, jeweils für rechtwinklige Bereiche. Das kann eigentlich jedes. Ich verwende hierfür Gimp, kann das aber aufgrund seiner Handhabung nicht wirklich weiter empfehlen. Früher habe ich mal Paintshop Pro genutzt, auch das bei Windows immer dabei liegende Paint sollte es tun. Wer sich mit irgendeinem solchem Programm auskennt, der sollte dieses auch für unseren Zweck nutzen können, ohne etwas neues zu brauchen.

Hintergrundbilder in BAHN können nicht beliebig groß sein, da irgendwann der Hauptspeicher nicht mehr dafür ausreicht. Ich habe gute Erfahrungen mit Größen bis 4000x4000 Pixeln gemacht, auch 5000x8000 geht noch.

Man legt also in seinem Grafikprogramm eine neue Datei mit der gewünschten Pixelgröße an.
Da hinein kopiert man die Teile der Landkarte, die man braucht, und setzt sie passend zusammen.
Das geht nur in Teilschritten mittels Copy&Paste (Kopieren und Einfügen), es sei denn, man hat einen riesigen Monitor zur Verfügung.

Zum Kopieren von Onlinekarten verwende ich die gewöhnliche Screenshot-Funktion, d.h. die Taste "Drucken" (dt. Tastatur) bzw. "PrtSrn" (engl. Tastatur), meist neben F12 zu finden.
Diese Taste erzeugt einen Screenshot des aktuellen Fensters, also z.B. des Browserfensters mit einem Stück Landkarte von Google Maps.
Das kann man im Grafikprogramm einfügen, und zwar erstmal als neues Fenster/Dokument, nicht gleich in die Landkarte.
Dort kann man dann den passenden Ausschnitt wählen - also ohne die Ränder und sonstige Teile des Fensters -
diesen wieder kopieren und in die Landkarte einfügen.
Nach jedem Teilschritt das Ergebnis immer wieder speichern.

Viele Landkarten enthalten ein Lineal. Das ist meistens irgendwo am Rand in einer Ecke, bei Google Maps z.B. rechts unten.
Dieses Lineal zeigt je nach Maßstab der Karte eine sinnvolle Längeneinheit in West-Ost-Richtung an, z.B. 1km oder 200m, manchmal auch in Meilen oder beides.
Wenn ein solches Lineal vorhanden ist, dann dieses mit in die Karte kopieren.
Es ist im Grunde egal, an welche Stelle, aber am besten ist oben links.

Wenn die Landkarte fertig ist, muß man sie evtl. noch in ein für BAHN geeignetes Format speichern oder exportieren. Je nach Programm geht das gewöhnlich mit "Save As" (Speichern Als) oder "Export". BAHN versteht .bmp, .tga und .jpg. Von einigen dieser Typen gibt es diverse Untervarianten, und BAHN kommt vielleicht nicht mit allen davon zurecht. Da muß man ggf. etwas probieren.

(Teil 2 folgt als Antwort)
Jan Bochmann
Beiträge: 2199
Registriert: Sonntag 16. März 2003, 15:25
Kontaktdaten:

Re: "Schnelles" Bauen

Beitrag von Jan Bochmann »

Fortsetzung:

Teil 2: Verwenden einer Karte in BAHN
2.1 Laden der Karte


Nehmen wir also mal an, wir hätten eine geeignete Karte hergestellt.
Ich habe zwar etliche Beispiele, kann aber keines davon veröffentlichen, weil das sehr heikel mit den Urheberrechten ist.
Deshalb habe ich mal als Beispiel eine fiktive Karte von "Bahnau und Umgebung" erstellt.

Unsere Beispielkarte ist in der Datei "Bahnau.jpg", zum Download hier: https://www.jbss.de/tmpdata/Bahnau.jpg

Diese Karte ist 2000x1000 Pixel groß und enthält ein Lineal in der Nordwest-Ecke (oben links), das uns einen Kilometer anzeigt.

Nun möchten wir ein BAHN ein Netz auf Basis dieser Karte bauen.
Als Maßstab für das BAHN-Netz wollen wir 64 Elemente/km nutzen.

Zuerst starten wir BAHN, rufen "Datei" - "Neu" auf. Es entsteht ein leeres Netz, dieses speichern wir als "Demo_Bahnau.nt3".
Die Datei mit der Landkarte, also "Bahnau.jpg", muß genau an die selbe Stelle kopiert werden,
wo das BAHN-Netz gespeichert wurde, also im selben Verzeichnis/Ordner.

Nun können wir die Kartendatei zum BAHN-Netz laden. Das geht unter "Optionen" - "Hintergrund-Bild".
Dort den Schalter "Auswahl" betätigen, "Bahnau.jpg" eingeben oder auswählen und OK.

In dem Dialog sind ansonsten noch ein paar Einstellungen zu machen:

"Seitenverhältnis beibehalten": X
"Bild anzeigen": X
linke obere Ecke 0,0
Elemente West-Ost (horizontal): 1000

Aufgrund des gesetzten X bei "Seitenverhältnis beibehalten" rechnet BAHN den vertikalen Wert von 500 selbst aus. Das ergibt sich hier daraus, daß die Karte doppelt so breit ist wie hoch.
Bei einer quadratischen Karte wären die beiden Werte gleich.
Mit der Einstellung "Seitenverhältnis beibehalten" muß man sich um die Nord-Süd-Richtung nicht selbst kümmern, sondern BAHN rechnet das alleine passend aus.

Nun sollte die Karte geladen und angezeigt werden. Wahrscheinlich sehen wir davon aber erstmal nichts.
Deshalb setzen wir nun den Kursor auf die Position 0,0,0, z.B. mittels "Edit" - "Kursor setzen".

Nun sollten wir viel weiß und ein Stück des Lineals sehen.
Wenn nicht, dann überprüfen, ob die Anzeige der Karte überhaupt ein ist, und ggf. einschalten.
Das geht normalerweise mit dem Hotkey <Strg+B> (Ctrl+B), oder oben rechts im Statusfenster durch Anklicken von "Hgrb".

Na gut, viel ist da nicht zu erkennen. Wir sollten also erstmal die Anzeige verkleinern, entweder mit dem Menü "Anzeige" oder dem Hotkey "/" (auf dem Ziffernfeld/Numpad der Tastatur).

Je nach Größe/Auflösung des Monitors wird die Karte nun schrittweise sichtbar, ungefähr bei 1:32 sollte sie ganz zu sehen sein.
Damit haben wir erstmal einen Eindruck vom Ganzen.

2.2 Maßstab anpassen (mit Lineal)

Das sieht schon ganz nett aus, aber es wäre ein seltener Zufall, wenn der Maßstab schon passen würde.
Um das zu prüfen und zu korrigieren, ist das Lineal auf der Karte eine große Hilfe.

Also die Ansicht wieder vergrößern, bis das Lineal ordentlich sichtbar ist.
Es beginnt etwa bei der Koordinate x=25 und endet bei x=69, ist also 44 Elemente lang.

Es soll aber 1km darstellen, und unser Netz soll im Maßstab 64El/km gebaut werden.
Wir müssen also die Karte noch so skalieren, bis das Lineal 64 Elemente lang ist, denn das ist dann genau 1km.
Wer einen anderen Maßstab will, der muß statt der 64 den gewünschten Wert verwenden.

Es gibt hier zwei Möglichkeiten: Entweder probieren oder etwas Mathematik.

a) Probieren

Unter "Optionen" - "Hintergrund-Bild" ist derzeit 1000 als Ost-West-Ausdehnung eingestellt.
Also probieren wir mal, dort 1200 einzutragen.
Danach geht das Lineal von 30 bis 83, ist also 53 Elemente lang.
Das ist schon näher an der 64, aber offenbar ist 1200 immer noch zu wenig.
Probieren wir also einen höheren Wert.
So kann man sich schrittweise an den gewünschten Zielwert herantasten.

b) Mathematik

Man kann den Zielwert auch berechnen, indem man eine Verhältnisgleichung aufstellt.
Wir haben 3 Werte, und den 4. müssen wir ermitteln.

Bekannt sind:

dxs = 64 El. (West-Ost, Sollwert)
dxi = 44 El. (West-Ost, Istwert)
woi = 1000 (West-Ost, Istwert)
x = ? (West-Ost, Sollwert)

Es gilt das Verhältnis x/woi = dxs/dxi

Das stellen wir nach x um und erhalten x = dxs/dxi * woi

Da setzen wir unsere Werte ein, und so ist x = 64/44 * 1000 = 1454

Das können wir nun wieder eingeben und danach das Lineal überprüfen.
Es sollte nun von 37 bis 101 reichen und ist damit 64 Elemente lang, also der gewünschte 1km.

Damit haben wir die Karte korrekt skaliert, so genau wie das mit BAHN möglich ist.

Was ist, wenn das Lineal auf der Karte nicht 1km lang ist, sondern z.B. 200m?

a)
Beim Erstellen der Kartendatei kann man das Lineal einfach 5x hintereinander kopieren.
Damit entsteht eines, das 1km lang ist, und mit dem kann man genauso arbeiten.

b)
200m sind 1/5 von 1km.
Das Lineal muß also als Zielgröße nicht 64 Elemente lang sein, sondern 64/5 = 12.8 = 13 Elemente.
Die Rundungsfehler werden sich immer stärker auswirken, je kleiner die Zahlen sind.

2.3 Maßstab anpassen (ohne Lineal)

Was ist, wenn die Karte kein Lineal enthält, oder wenn man Zweifel hat, ob das Lineal korrekt ist?
Es ist mir leider bei OSM-basierten Karten schon vorgekommen, daß das Lineal eine Abweichung von ca. 30% hatte. Die Ursache dafür kenne ich nicht.
Man sollte die Sache auf jeden Fall prüfen, wenn die Werte unplausibel erscheinen.

Dann müssen wir uns an irgendetwas anderem orientieren, und das wird dann unser "Lineal".
Idealerweise ist das etwas, das in Ost-West-Richtung liegt.
Es kann z.B. eine passend liegende Straße oder Bahnstrecke sein, bei der auf der Karte eine Kilometrierung eingetragen ist - z.B. zwischen zwei Orten, zwei Bahnhöfen,
zwei Kreuzungen etc.
Bei Online-Karten gibt es manchmal die Möglichkeit, die Entfernung (Luftlinie) zwischen zwei Punkten bestimmen zu lassen.
Es kann auch eine externe Info sein, wie man sie in der Wikipedia oder anderen Lexika findet, z.B. "Die Slowakei hat eine maximale Ausdehnung West-Ost von 429km."

In unserem Beispiel nehmen wir mal an, wir hätten die Info erhalten:
"Der Karpfensee (beim gleichnamigen Dorf) hat eine Ausdehnung von 1.84km in Ost-West-Richtung".

Diese Info genügt, und genauso würde eine entsprechende Info über ein Stück Straße oder Bahnlinie genügen.

Der Maßstab eines Netzes in BAHN ist definiert:

M = elzahl/km

umgestellt: elzahl = M * km

Setzen wir unseren Wunsch-Maßstab von 64 El/km. und die Breite des Sees ein:

elzahl = 64 El/km * 1.84 km = 117.76 El. = 118 Elemente

Die Karte muß also so skaliert werden, daß der See 118 Elemente breit ist.
Derzeit reicht er von 300 bis 381, ist also nur 81 Elemente breit.

Das geht entweder wieder mit Methode a) Probieren oder b) Ausrechnen:

Bekannt sind:

dxs = 118 El. (West-Ost, Sollwert)
dxi = 81 El. (West-Ost, Istwert)
woi = 1000 (West-Ost, Istwert)
x = ? (West-Ost, Sollwert)

x = dxs/dxi * woi = 118/81 * 1000 = 1456

Gegenüber der Methode mit dem Lineal ergibt sich hier eine kleine Abweichung durch Meß- und Rundungsfehler.
Daher die Empfehlung: Möglichst etwas als Orientierung verwenden, das lang ist. Je größer die Zahlen, umso weniger wirken sich die Fehlerquellen aus.

2.4 Karte verschieben

Es ist nicht schön, wenn unser Netz in der linken oberen Ecke liegt.
Vielleicht wollen wir es später mal nach Westen oder Norden erweitern, und das geht so nicht.

Also soll es irgendwo anders plaziert werden, und wir möchten den "Mittelpunkt der Welt" gerne bei 8000,8000 haben.

Derzeit liegt er in der Innenstadt von Bahnau etwa bei 706,329.
Also müssen wir die Nordwest-Ecke der Karte verschieben, und zwar auf x = 8000-706, y = 8000-329, d.h. auf 7294,7671.

Das geht auch wieder über "Optionen" - "Hintergrund-Bild".
Es müssen nur die Werte für die Nordwest-Ecke eingetragen werden, also x=7294 und y=7671.
Alles andere bleibt, denn eine Verschiebung ändert nichts am Maßstab.

Nun ist die Karte wahrscheinlich erstmal wieder unsichtbar, weil unser Kursor immer noch am alten Platz ist.
Wir setzen ihn nun also auf 8000,8000 und sollten damit mitten in Bahnstadt landen.

Diese Position sollte auch gleich als die "Pos1"-Position im Netz gespeichert werden.
Das geht über "Edit" - "Positionen verwalten".
Dort die Zeile "P1" auswählen (das ist nach der 399) und "Aktuelle Position übernehmen".
Von nun an kann man jederzeit mit der Taste "Pos1" (engl. "Home") dorthin wieder zurück gelangen, wenn man sich mal in dem Netz verirrt hat.

Das ist im Grunde alles. Nun kann man aufgrund der Karte ein maßstäbliches BAHN-Netz errichten.

Viel Erfolg,
Jan B.
S-Bahn-Freund Stgt
Beiträge: 340
Registriert: Samstag 10. Dezember 2016, 16:01
Wohnort: Dresden (ehemals Salzburg + Stuttgart)
Kontaktdaten:

Re: "Schnelles" Bauen

Beitrag von S-Bahn-Freund Stgt »

Guten Morgen,

vielen Dank auch von mir als "unbeteiligtem" für die ausführliche und verständliche Erklärung! Es wäre fast zu schade, sie hier im Forum "vergammeln" zu lassen, vielleicht könnte man sie in die Hilfe zu integrieren?
Nun werde ich diese Funktion vielleicht auch bald nutzen...

Freundliche Grüße,
Hosea
Speedeel2018
Beiträge: 34
Registriert: Samstag 10. Februar 2018, 16:55

Re: "Schnelles" Bauen

Beitrag von Speedeel2018 »

Super Tutorial. Wäre besser, mal auf Video zu erklären?
Jan Bochmann
Beiträge: 2199
Registriert: Sonntag 16. März 2003, 15:25
Kontaktdaten:

Re: "Schnelles" Bauen

Beitrag von Jan Bochmann »

Guten Tag,
Speedeel2018 hat geschrieben:Super Tutorial. Wäre besser, mal auf Video zu erklären?
Nein.

Für diesen Text inkl. Beispiel habe ich einen Tag gebraucht. Für ein Video würde ich einen Monat brauchen, ohne daß es zusätzliche Informationen enthält.

Der Text ist recht einfach in Fremdsprachen zu übersetzen - auch mit maschineller Übersetzung (z.B. Google). Ein Video wäre auf sächsisch und nicht zu übersetzen.

Grüße,
Jan B.
Darkstone
Beiträge: 63
Registriert: Freitag 23. Juli 2010, 18:35
Wohnort: Berlin

Re: "Schnelles" Bauen

Beitrag von Darkstone »

Ich arbeite sehr gerne mit BahnWerkzeuge, hier aus dem Forum (http://www.das-bahn-forum.de/bahnforum/ ... f=2&t=3753)
Damit habe ich das komplette Netz der Berliner S-Bahn geographisch korrekt und mit einer Genauigkeit der Streckenlängen von rund 95% gebaut. (http://www.das-bahn-forum.de/bahnforum/ ... 150#p66066).
Damit kannst du in OSM Strecken nachzeichnen und als .bna-Datei in Bahn importieren.
Anschließend musst du noch alles nacharbeiten, da automatisiert nur "Wellenlinien" entstehen, was aber am automatisierten Streckenbau in Bahn liegt und nicht an BahnWerkzeuge.

Edit: Nicht den Download aus dem ersten Beitrag nehmen, der ist veraltert. Es gibt ein paar Beiträge später einen neuen Link.
Antworten