Tool zur erleichterten Modulauswahl beim Fahrplanbau

Alles, was nicht in die anderen Kategorien passt.
Nachricht
Autor
Benutzeravatar
Johannes Feltes
Beiträge: 10
Registriert: 25.02.2017 20:10:02

Tool zur erleichterten Modulauswahl beim Fahrplanbau

#1 Beitrag von Johannes Feltes »

Hallo zusammen!

Ich habe in den letzten Tagen an einem Tool gearbeitet, das die Modulauswahl bei der Fahrplanerstellung erleichtert.
Die benötigten Module können auf einer Karte graphisch mit wenigen Klicks ausgewählt werden. Dadurch muss nicht mehr geraten werden, welches Modul denn genau an ein anderes angrenzt und in welchem Ordner es zu finden ist.
Im nächsten Schritt kann dann ein Fahrplanrohling erstellt werden, der mit dem Original-Fahrplaneditor weiter bearbeitet werden kann.


Beim Starten liest das Programm alle Module ein, was auf meinem PC ca. 2 Sekunden dauert.
(Hier könnte es bei 32Bit-PCs zu Problemen bei der Abfrage des Datenverzeichnisses kommen. Wenn ihr Zusi auf einem 32Bit-PC installiert habt, würde ich deswegen um Rückmeldung bitten.)

Danach wird dieser Bildschirm angezeigt:
Bild

Auf der rechten Seite ist die Karte der installierten Module. Diese kann mit der Maus wie bei Google Maps verschoben und vergrößert werden.
Auf der linken Seite ist eine Liste der installierten Module. Mit dem Knopf darunter kann später der Fahrplanrohling ausgegeben werden.

Vergrößert man die Karte genug, werden zuerst die einzelnen Module als Punkte, danach auch deren Namen angezeigt:
Bild

Zur Auswahl der Module klickt man sie entweder einzeln auf der Karte an oder wählt sie in der Liste aus. Die gewählten Module werden auf der Karte rot und in der Liste blau hinterlegt.
Bild

Sind alle Module ausgewählt, kann der Fahrplanrohling mit dem Knopf ".fpn erstellen" erzeugt werden. Er wird als "Rohling.fpn" in dem Ordner ausgegeben, in dem das Tool liegt. Der passende UTM-Referenzpunkt wird dabei automatisch berechnet.
Der Rohling kann dann in den Fahrplan-Ordner im Datenverzeichnis verschoben werden und mit dem offiziellen Fahrplaneditor weiter bearbeitet werden.


Mein Tool hat aktuell noch einen sehr beschränkten Funktionsumfang und wird nicht ganz fehlerfrei sein. Mehr als die beschriebenen Funktionen hat es also nicht. Wer es dennoch benutzen möchte, kann es hier herunterladen:

http://qtng.io/proj/zfe/ZuSiFplEdit.exe" target="_blank
Die unter diesem Link verfügbare Version unterliegt keiner Lizenz und kann für alle Zwecke auch ohne meine Einwilligung verwendet werden.


Ich plane, dieses Tool zu einem vollständigen Fahrplaneditor weiterzuentwickeln. Am Ende hoffe ich vor allem auf eine Wegfindung für Züge, die auch über Zugwendungen hinaus funktioniert.
Als nächstes werde ich wahrscheinlich mehr Details in die Karte einfügen, zum Beispiel ein Gleisplan, wie er auch im Original-Fahrplaneditor zu finden ist.
Für weitere Vorschläge bin ich offen. Wenn Interesse besteht, kann ich den Code auch über GitHub verwalten, um eine Kollaboration zu erleichtern.


Ich hoffe mal, dass es diese Funktion nicht schon gab und ich nur zu blöd war, sie zu finden ;)

Benutzeravatar
Michael Springer
Beiträge: 2925
Registriert: 24.06.2002 16:22:44
Wohnort: Schwäbisch Gmünd

Re: Tool zur erleichterten Modulauswahl beim Fahrplanbau

#2 Beitrag von Michael Springer »

Ich hoffe mal, dass es diese Funktion nicht schon gab und ich nur zu blöd war, sie zu finden ;)
Spielt für mich keine Rolle, ich teste gerne neue Sachen und gebe meinen Senf dazu.

Meine Ideen für die aktuelle Version:
- Hauptfenster sollte Größenänderung zulassen
- Rahmen aufziehen, fügt mehrere Module hinzu oder entfernt
- Datei speichern-Dialog bei fpn ausgeben, das ich gleich einen Namen eingeben kann
- Liste aller verfügbaren Befehlskonfigurationen zum Auswählen (Combobox vielleicht?)
- Autoren-Informationen werden automatisch eingefügt
- Schaltfläche fpn ausgeben überschreibt ohne Rückfrage eine bestehende Rohling.fpn

Wo ich Schwierigkeiten hatte
- Module die noch keinen Nachbarn haben sind schwer zu finden. Man muss wissen wo sie sind, um sie nach dem Zoomen auch zu finden.
- Wenn es mehrere Module an der gleichen Stelle gibt, wird der Text überschrieben, z. B. Gersthofen_1990, Gersthofen_2016

Was ich mir irgendwann mal wünschen würde:
- Einen Taktfahrplan-Modus, der so funktionieren könnte:
Ich markiere einen Zug, habe 3 Eingabefelder (Zugnummer/Zeit/Menge) und eine "Los" Schaltfläche.
Beispiel: Ich markiere RE4711, gebe +4 +60 5 ein, drücke auf Los. Das Programm generiert dann auf diesen Klick 5 Züge (passt eventuell auch gleich die timetable.xml an)
RE4715 mit +60 Minuten Zeitverschiebung
RE4719 mit +120 Minuten Zeitverschiebung
RE4723 mit +180 Minuten Zeitverschiebung
RE4727 mit +240 Minuten Zeitverschiebung
RE4731 mit +300 Minuten Zeitverschiebung

Michael
Zuletzt geändert von Michael Springer am 26.02.2017 00:13:11, insgesamt 5-mal geändert.

Christian Sch.
Beiträge: 374
Registriert: 15.01.2009 23:29:56
Aktuelle Projekte: Gesundheit geht vor...
Wohnort: Haidlfing

Re: Tool zur erleichterten Modulauswahl beim Fahrplanbau

#3 Beitrag von Christian Sch. »

Hallo,

Auf 32-Bit-Windows 7 kam sofort eine Absturzmeldung...

Gruß

Christian

Christian Marx
Beiträge: 542
Registriert: 12.03.2016 21:37:29
Wohnort: Forchheim

Re: Tool zur erleichterten Modulauswahl beim Fahrplanbau

#4 Beitrag von Christian Marx »

Ich finde es toll, dass du dir Gedanken machst, wie Abläufe vereinfacht werden können, Zeit und Arbeit investierst und das Ergebnis hier allen zur Verfügung stellst. Dafür ein herzliches Dankeschön!!!

Alwin Meschede
Beiträge: 8926
Registriert: 04.11.2001 19:57:46
Aktuelle Projekte: Zusi3 Objektbau
Kontaktdaten:

Re: Tool zur erleichterten Modulauswahl beim Fahrplanbau

#5 Beitrag von Alwin Meschede »

Auf einem meiner internen Bestände stürzt das Ding schon beim Start ab ("ZusiFplEdit funktioniert nicht mehr"). Man kann sehen, dass die Ursache wohl eine nicht abgefangene System.Xml.XmlException ist. Du solltest versuchen, das Einlesen von XML so zu gestalten, dass er nicht sofort stirbt wenn eine st3 mal nicht im erwarteten Datenformat vorliegt. In dem Fall ist es wahrscheinlich sinnvoll, die betroffene Datei einfach zu überspringen, oder wenigstens eine Fehlermeldung mit dem Dateinamen rauszuhauen. Im offiziellen Bestand wird sowas normalerweise nicht vorkommen. Aber ich sitze bei mir halt auch auf einem illusteren Bestand an Testfällen und Arbeitsversionen in veralteten Datenformaten aus der Beta-Zeit.
Zuletzt geändert von Alwin Meschede am 26.02.2017 09:56:47, insgesamt 2-mal geändert.
Mein Youtube-Kanal: youtube.com/echoray1

Christian Sch.
Beiträge: 374
Registriert: 15.01.2009 23:29:56
Aktuelle Projekte: Gesundheit geht vor...
Wohnort: Haidlfing

Re: Tool zur erleichterten Modulauswahl beim Fahrplanbau

#6 Beitrag von Christian Sch. »

Alwin Meschede hat geschrieben:Auf einem meiner internen Bestände stürzt das Ding schon beim Start ab ("ZusiFplEdit funktioniert nicht mehr"). Man kann sehen, dass die Ursache wohl eine nicht abgefangene System.Xml.XmlException ist. Du solltest versuchen, das Einlesen von XML so zu gestalten, dass er nicht sofort stirbt wenn eine st3 mal nicht im erwarteten Datenformat vorliegt. In dem Fall ist es wahrscheinlich sinnvoll, die betroffene Datei einfach zu überspringen, oder wenigstens eine Fehlermeldung mit dem Dateinamen rauszuhauen. Im offiziellen Bestand wird sowas normalerweise nicht vorkommen. Aber ich sitze bei mir halt auch auf einem illusteren Bestand an Testfällen und Arbeitsversionen in veralteten Datenformaten aus der Beta-Zeit.
Das dürfte bei mir auch zutreffen. Das mit 32 Bit streiche ich dann wieder.

Gruss

Christian

Benutzeravatar
Carsten Hölscher
Administrator
Beiträge: 33384
Registriert: 04.07.2002 00:14:42
Wohnort: Braunschweig
Kontaktdaten:

Re: Tool zur erleichterten Modulauswahl beim Fahrplanbau

#7 Beitrag von Carsten Hölscher »

Ermittelst Du die Koordinaten der Ortspunkte aus dem Dateipfad oder aus den echten st3-Daten?
Und die Nachbarmodule ermittelst Du anhand der Streckenelement-Übergänge?

Evtl. könnte man überlegen, sowas in den Fahrplaneditor zu integrieren.

Carsten

Benutzeravatar
Johannes Feltes
Beiträge: 10
Registriert: 25.02.2017 20:10:02

Re: Tool zur erleichterten Modulauswahl beim Fahrplanbau

#8 Beitrag von Johannes Feltes »

Danke für die vielen Rückmeldungen und Ideen. Da nur ein kleiner Teil der möglichen Fehler auf meinem eigenen PC auftreten wird, sind gerade Fehlermeldung für die Stabilität des Programmes wichtig.

Ein paar Punkte habe ich bereits umgesetzt; das Ergebnis ist als Modulauswahl V0.2 unter dem gleichen Link verfügbar:
http://qtng.io/proj/zfe/ZuSiFplEdit.exe" target="_blank

Die alte Version ist weiter unter diesem Link verfügbar:
http://qtng.io/proj/zfe/bin/0.1/ZuSiFplEdit.exe" target="_blank

Changelog der V0.2 - Stabilitäts- und Nutzbarkeitsupdate
- Umstieg auf .net4.0 (mit Zusi vorinstalliert)
- Unterstützung von 32Bit
- Fenstergröße kann jetzt verändert werden
- Unlesbare .st3 sollten nicht mehr zum Absturz führen
- Speicherort der Fahrplandatei kann jetzt frei gewählt werden
- Module mit weniger als zwei vorhandenen Nachbarn (Netzgrenzen) sowie ausgewählte Module werden jetzt unabhängig von der Vergrößerung angezeigt


Zu den verbleibenden Vorschlägen von Michael:
Sachen, die wahrscheinlich in einer der nächsten Versionen kommen werden:
- Eine Auswahl von mehreren verbundenen Modulen auf einmal
- Eine bessere Ausrichtung der Modulnamen
Autoreninfo und Befehlskonfigurationen kommen wahrscheinlich irgendwann. Da der Fahrplaneditor das aber auch macht, hat das im Moment eine niedrigere Priorität für mich.
Ein Taktfahrplan-Modus ist eine gute Idee, die ich mir für die späteren Versionen merken werde.

Zu den Abstürzen auf win32:
Das lag bisher immer an der Bitzahl. Zusi verlinkt das Datenverzeichnis abhängig von der Bitzahl an anderen Orten in der Registry. Bisher hat das Tool nur an dem ort für win64 gesucht und ist dann noch vor dem Einlesen der Streckenmodule abgestürzt. Das Problem sollte jetzt behoben sein.

Zu den Abstürzen wegen fehlerhaften .st3-Dateien:
Den Fall habe ich bisher wirklich nicht vernünftig abgefangen. Jetzt wird nach dem Laden kurz eine Liste mit nicht geladenen Modulen angezeigt.

Zu dem Einlesen der Module:
- Jedes Modul wird Zeile für Zeile mit einem XmlReader eingelesen
- Der Name kommt bei mir aus dem Dateinamen
- Die Position wird aus dem <UTM>-Element in der .st3-Datei gelesen
- Die Verbindungen werden aus den <ModulDateien>-Elementen der .st3-Datei gelesen. Nachdem alle Module eingelesen wurden, muss noch überprüft werden, ob es die Verbindung auch wirklich im Datenbestand vorhanden ist. Komplett zuverlässig ist diese Methode nicht.
- Das Einlesen der XML-Datei wird sofort unterbrochen, wenn das nächste Element kein <ModulDateien>-Element ist. Dadurch wird die benötigte Zeit deutlich reduziert.

Johannes

Benutzeravatar
Johannes
Beiträge: 3197
Registriert: 14.03.2009 22:36:06
Aktuelle Projekte: Zusitools (http://git.io/zusitools)

Re: Tool zur erleichterten Modulauswahl beim Fahrplanbau

#9 Beitrag von Johannes »

Ein sehr praktisches Programm. Bei mir kam es in einem kurzen Testlauf nicht damit zurecht, dass das Zusi-Datenverzeichnis ohne abschliessenden Backslash in der Registry stand.

Benutzeravatar
Johannes Feltes
Beiträge: 10
Registriert: 25.02.2017 20:10:02

Re: Tool zur erleichterten Modulauswahl beim Fahrplanbau

#10 Beitrag von Johannes Feltes »

Danke für den Hinweis. Ich habe eine Überprüfung eingebaut, die bei Bedarf ein Backslash anhängt. Die überarbeitete Version ist wieder unter dem gleichen Link verfügbar:
http://qtng.io/proj/zfe/ZuSiFplEdit.exe" target="_blank

Benutzeravatar
Michael Springer
Beiträge: 2925
Registriert: 24.06.2002 16:22:44
Wohnort: Schwäbisch Gmünd

Re: Tool zur erleichterten Modulauswahl beim Fahrplanbau

#11 Beitrag von Michael Springer »

V0.2 angetestet:

:tup gelöst
- Fenster vergrößerbar
- Einzelne Module sind jetzt sichtbar
- Speichern-Dialog mit Überschreibwarnung
- Was ich auch cool finde, die Pixel/km-Anzeige zum Abschätzen von Entfernungen (gab's in V0.1 auch schon)

Bei mir gibt es eine direkte Verbindung von Abzw Hörn nach St. Peter-Ording. Verschiebt man das Netz so, dass beide Modulkreise nicht den zu sehen sind, ist die Linie weg.

Wenn das so weitergeht, wird das ein Top-Tool :applaus Ich freu mich schon darauf.

Michael

Christian Sch.
Beiträge: 374
Registriert: 15.01.2009 23:29:56
Aktuelle Projekte: Gesundheit geht vor...
Wohnort: Haidlfing

Re: Tool zur erleichterten Modulauswahl beim Fahrplanbau

#12 Beitrag von Christian Sch. »

Hallo Johannes,

Auch bir mir jetzt mit ohne Absturz.

Wäre es möglich die "Grundplatte_Hüllkurve"-Dateien zu ignorieren ?

Gruß

Christian

Benutzeravatar
Johannes Feltes
Beiträge: 10
Registriert: 25.02.2017 20:10:02

Re: Tool zur erleichterten Modulauswahl beim Fahrplanbau

#13 Beitrag von Johannes Feltes »

Dateien zu ignorieren ist im Prinzip möglich, das mache ich im Moment z.B. bei Dummy-Modulen.
Ich habe allerdings nur den offiziellen Datenbestand installiert, da gibt es nur *.st3-Dateien, die auch wirklich Module sind. Kannst du mir beschreiben, wo diese Hüllkurvendateien mit welchem Dateinamen auftreten?
Langfristig ist die werde ich wohl einen Filter aus einer Textdatei einlesen lassen, dann kann sich jeder selber die (un-)passenden Module rausfiltern.


Unabhängig davon habe ich noch eine Frage an Streckenbauer und andere, die sich mit der Struktur der .st3-Dateien auskennen.
Ich versuche gerade, den tatsächlichen Streckenverlauf einzulesen und auf Wunsch anzuzeigen. Meine Ergebnisse sehen bisher so aus:

Bild

Wie man sehen kann, wird nicht nur die Gleise eingelesen, sondern auch umliegende Straßen.
Gibt es eine einfache Möglichkeit, die Arten der Streckenelemente in der Datei zu unterscheiden?
Das XML-Attribut "Oberbau" hilft nicht wirklich und die Dokumentation erklärt scheinbar auch nicht mehr als die verwendeten Datentypen, nicht aber ihre Funktion.

Johannes

Benutzeravatar
Michael_Poschmann
Beiträge: 19877
Registriert: 05.11.2001 15:11:18
Aktuelle Projekte: Modul Menden (Sauerland)
Wohnort: Str.Km "1,6" der Oberen Ruhrtalbahn (DB-Str. 2550)

Re: Tool zur erleichterten Modulauswahl beim Fahrplanbau

#14 Beitrag von Michael_Poschmann »

Hallo Johannes,

sofern der Streckenbauer ordentlich gearbeitet hat, sollten Straßen & Co die Elementeigenschaft "keine Gleisfunktion" aufweisen.

Grüße
Michael

Benutzeravatar
Johannes
Beiträge: 3197
Registriert: 14.03.2009 22:36:06
Aktuelle Projekte: Zusitools (http://git.io/zusitools)

Re: Tool zur erleichterten Modulauswahl beim Fahrplanbau

#15 Beitrag von Johannes »

Das sollte weiterhelfen:

Code: Alles auswählen

// Funktions-Flags
auto fkt_flags = liesInt(*elem_node, "Fkt");
if (fkt_flags & 1) element->flags.insert(StreckenelementFlag::Tunnel);
if (fkt_flags & 2) element->flags.insert(StreckenelementFlag::KeineGleisfunktion);
if (fkt_flags & 4) element->flags.insert(StreckenelementFlag::Weichenbausatz);
if (fkt_flags & 8) element->flags.insert(StreckenelementFlag::KeineSchulterRechts);
if (fkt_flags & 16) element->flags.insert(StreckenelementFlag::KeineSchulterLinks);

Benutzeravatar
Frank Wenzel
Beiträge: 5118
Registriert: 06.11.2001 01:13:47
Wohnort: Trier
Kontaktdaten:

Re: Tool zur erleichterten Modulauswahl beim Fahrplanbau

#16 Beitrag von Frank Wenzel »

Hallo Johannes,

ein nettes Tool, ich wünsche weiter gutes Gelingen und freue mich auf deine geplante Erweiterung zu einem externen Fahrplaneditor! :) Hier habe ich es unter Win10-64bit und Win7-64bit problemlos starten und damit arbeiten können, nur Win10 meinte beim ersten Start, dein Progrämmchen sei irgendwie eine "unzuverlässige App" und hat zunächst blockiert, nicht ohne eilfertig anzubieten es auf eigenes Risiko auszuführen... :D Beim nächsten Start erschien die Meldung nicht mehr. Alles gut.
Gruß ins Forum, Frank - www.zusi-sk.eu - Youtube

Benutzeravatar
Johannes Feltes
Beiträge: 10
Registriert: 25.02.2017 20:10:02

Re: Tool zur erleichterten Modulauswahl beim Fahrplanbau

#17 Beitrag von Johannes Feltes »

Danke. Es freut mich, dass das Programm scheinbar auch schon im aktuellen Zustand sinnvoll nutzbar ist.
Die Warnung bei der ersten Ausführung ist im Moment "normal", denn Windows vertraut von Haus aus nur Programmen aus bekannten Quellen. Professionelle Software wird von ihren Entwicklern kryptographisch signiert und löst dann keinen Alarm mehr aus. Bis ich mir das Thema mal genauer angeschaut habe, wird es also leider dabei bleiben.

An Johannes und Michael:
Danke, das war genau, wonach ich gesucht habe. Gibt es außer der "docu.st3.schema.xml" noch ein anderes Dokument, in dem die Dateistruktur der st3-Dateien erläutert wird? Vielleicht ein bestimmtes Kapitel in der Doku?

Alwin Meschede
Beiträge: 8926
Registriert: 04.11.2001 19:57:46
Aktuelle Projekte: Zusi3 Objektbau
Kontaktdaten:

Re: Tool zur erleichterten Modulauswahl beim Fahrplanbau

#18 Beitrag von Alwin Meschede »

Johannes Feltes hat geschrieben: Danke, das war genau, wonach ich gesucht habe. Gibt es außer der "docu.st3.schema.xml" noch ein anderes Dokument, in dem die Dateistruktur der st3-Dateien erläutert wird? Vielleicht ein bestimmtes Kapitel in der Doku?
Nein, die Doku hat dazu nichts. Für den Hausgebrauch haben wir uns im Wiki ein wenig was aufgeschrieben: http://zusiwiki.echoray.de/wiki/Erg%C3% ... eiformaten" target="_blank
Mein Youtube-Kanal: youtube.com/echoray1

Benutzeravatar
Johannes
Beiträge: 3197
Registriert: 14.03.2009 22:36:06
Aktuelle Projekte: Zusitools (http://git.io/zusitools)

Re: Tool zur erleichterten Modulauswahl beim Fahrplanbau

#19 Beitrag von Johannes »

Es gibt ausserdem hier eine C++-Bibliothek zum Einlesen von Zusi-3-Dateien (von mir). Die kann aber momentan nur das, was ich fuer meinen 2D-Streckenplan brauche, ist aber vielleicht als zusaetzliche Hilfestellung nuetzlich.

Benutzeravatar
F. Schn.
Beiträge: 6629
Registriert: 24.10.2011 18:58:26

Re: Tool zur erleichterten Modulauswahl beim Fahrplanbau

#20 Beitrag von F. Schn. »

Für .Net hatte ich hier zu einem meiner Tools eine DLL zusammengeschrieben (auch nur das, was ich brauche), aber das hast du ja im Prinzip auch schon selbst hinbekommen:
http://forum.zusi.de/viewtopic.php?p=269506#p269506" target="_blank (Edit: Habe das Thema mal ausgelagert: http://forum.zusi.de/viewtopic.php?f=73&t=13657" target="_blank )

Edit: Ich hatte für meinen Registerplan die keine-Gleisfunktion-Streckenelemente glaube ich sehr wohl eingezeichnet, aber in hellgrau, damit man einen besseren Überblick bekommt, wo genau man sich gerade befindet.
Zuletzt geändert von F. Schn. am 28.02.2017 21:49:49, insgesamt 3-mal geändert.
Diese Signatur möchte folgendes bekannter machen: ZusiWiki · ZusiSK: Streckenprojekte · YouTube: Objektbau für Zusi · euirc: Zusi-Chat

Antworten