Programm zum Konvertieren von Weltkoordinaten zu BAHN

Hier können Sie über allgemeine Themen zu BAHN diskutieren.
Darkstone
Beiträge: 63
Registriert: Freitag 23. Juli 2010, 18:35
Wohnort: Berlin

Re: Programm zum Konvertieren von Weltkoordinaten zu BAHN

Beitrag von Darkstone »

Hallo Björn,

ich habe dein Programm gerade mal heruntergeladen und wollte es testen.
Leider passiert beim Klick auf Datei -> Neu bei mir rein gar nichts.

Java 7, Update 51 ist frisch installiert.
Ich nutze Windows 8.1, ist das eventuell das Problem?

Die Idee des Tools finde ich übrigens super!

Edit: Das Fenster lässt sich auch nur über den Taskmanager schliessen.
björn262
Beiträge: 146
Registriert: Samstag 22. Januar 2011, 20:20

Re: Programm zum Konvertieren von Weltkoordinaten zu BAHN

Beitrag von björn262 »

Das sieht mir ganz danach aus als hättest du irgendwo einen Null-Wert im Programm, das mag es im Augenblick nämlich noch gar nicht. Bei jedem Schließen wird eine autosave.nvv angelegt, falls dabei ein Fehler auftreten sollte lässt sich das Programm nicht schließen.

UPDATE:

Folgende Änderungen:
  • Das Programm lässt sich nun immer schließen.
  • Datei -> Neu ist nichtmehr notwendig, ein neues Dokument wird automatisch bei Programmstart erzeugt
  • Änderung beim Streckenzeichen: Linksklick setzt Knoten, Rechtsklick löscht ihn, Verschieben weiterhin durch Rechtsklick und Ziehen.
  • Im OpenStreetMap-Fenster Tastenkombination "Strg+S" legt sofort eine neue Strecke an, das umständliche Schließen und Aufrufen der zwei Fenster bleibt erspart.
  • Vor dem BNA-Export können die Strecken ausgewählt werden, die zu exportieren sind, so können kleinere Dateien entstehen, die auch kürzere Importzeiten haben.
Ein weiteres Update das u.a. die Strecken die ausgewählt wurden farblich hervorhebt folgt am Freitag oder Wochenende, bin gerade im Stress wegen Abitur, das ist hier mehr ein Hotfix in dem die Funktionen bereits enthalten sind weil sie programmiert sind. Eine aktualisierte Anleitung folgt dann ebenfalls, bis dahin nutzt bitte die oben beschriebenen Änderungen als Hilfe.

DOWNLOAD
ThomasBS
Beiträge: 230
Registriert: Sonntag 14. November 2004, 18:11
Wohnort: Braunschweig in Niedersachsen

Datei Neu - weiter passiert nichts - analog Darkstone

Beitrag von ThomasBS »

Hallo,
bei mir passiert ebenso wie bei Darkstone nach einem Datei Neu weiter nichts.

Auch mit dem neuen Downloadlink

Gruß
Thomas
Benutzeravatar
Fladdermus
Beiträge: 159
Registriert: Freitag 27. Dezember 2013, 22:20

Re: Programm zum Konvertieren von Weltkoordinaten zu BAHN

Beitrag von Fladdermus »

Hallo Björn,
ich finde dein Programm sehr interessant.
Um zu sehen, was das Programm genau aus den vom Benutzer gesetzten Punkten macht, wäre es schön, die generierte BNA-Datei als Text ansehen zu können.

Ist dieses Feature in deinem Programm integriert und ich habe es nur nicht gefunden oder
könntest du da mit endlichem Aufwand noch ergänzen ? :bow-blue:
Gruß
Fladdermus
Lernen ist wie
Rudern gegen den Strom;
sobald man damit aufhört,
treibt man zurück.
(Benjamin Britten)
Benutzeravatar
Fladdermus
Beiträge: 159
Registriert: Freitag 27. Dezember 2013, 22:20

Re: Programm zum Konvertieren von Weltkoordinaten zu BAHN

Beitrag von Fladdermus »

Hallo Björn,

was mache ich falsch mit deinem Programm ?
Es meldet immer, dass die BNA-Datei mit 0 Bauanweisungen erzeugt wurde... ?
Gruß
Fladdermus
Lernen ist wie
Rudern gegen den Strom;
sobald man damit aufhört,
treibt man zurück.
(Benjamin Britten)
Jan Bochmann
Beiträge: 2199
Registriert: Sonntag 16. März 2003, 15:25
Kontaktdaten:

Re: Programm zum Konvertieren von Weltkoordinaten zu BAHN

Beitrag von Jan Bochmann »

Guten Tag,
Fladdermus hat geschrieben:Hallo Björn,
ich finde dein Programm sehr interessant.
Um zu sehen, was das Programm genau aus den vom Benutzer gesetzten Punkten macht, wäre es schön, die generierte BNA-Datei als Text ansehen zu können.
???: Eine BNA-Datei ist ein Text. Die kannst Du mit jedem beliebigen Textprogramm oder Textviewer ansehen.

Gruß,
Jan B.
Benutzeravatar
Fladdermus
Beiträge: 159
Registriert: Freitag 27. Dezember 2013, 22:20

Re: Programm zum Konvertieren von Weltkoordinaten zu BAHN

Beitrag von Fladdermus »

Hallo zusammen!

Ja, das war eine blöde Frage, ich ziehe sie zurück !!! :oops:
Aber wenn man etwas falsch macht, so wie ich, dann generiert das Programm eben keine ordentliche Textdatei... :angry-banghead:

Inzwischen habe ich des Ganze zum Laufen gebracht.

Man darf eben beim BNA-Export in dem sich öffnenden Fenster nicht den Streckennamen anklicken, ( was ich für logisch gehalten hatte ) sondern muss am unteren Rand den Button „ Alles wählen“ anklicken !!!

Ich habe es nur mit einem verhältnismäßig kurzen Streckenzug getestet, finde aber, dass es ganz flott geht.
Es ist sicher lohnend, sich damit zu beschäftigen, wenn man ein größeres Netz bauen will.
Mit den besten Grüßen
Fladdermus
Lernen ist wie
Rudern gegen den Strom;
sobald man damit aufhört,
treibt man zurück.
(Benjamin Britten)
Benutzeravatar
piefke53
Beiträge: 246
Registriert: Samstag 3. Mai 2014, 12:11
Wohnort: Wördern / Niederösterreich

Re: Programm zum Konvertieren von Weltkoordinaten zu BAHN

Beitrag von piefke53 »

@Fladdermus:

Es ist halt etwas zäh, sich in dieses Programm (oder Applet) einzugewöhnen. Ich brösele auch dran rum, aber „learning by doing“ aka „try and error“ ist nicht mal so schlecht. Jedenfalls ist es sicher ein recht hilfreiches Tool für aufwändigere Projekte. Ich versuche mich auch gerade, ein wenig reinzufuchsen.

Und gleich noch eine Frage an @björn262:

Bei OSM kann man — bei direkten Aufruf — einen Layer für öffentliche Verkehrsmittel einblenden lassen.
Ließe sich das u. U. vielleicht durch eine entsprechende Parameterübergabe beim Programmaufruf hier auch realisieren?
Freundliche Grüße aus dem Donautal nähe Wien
Fred


Aktuelle Busparade: Bild
(Die Farben wurden durch die Umwandlung in GIF-Format und Reduzierung auf 256 Farben verfälscht!)
björn262
Beiträge: 146
Registriert: Samstag 22. Januar 2011, 20:20

Re: Programm zum Konvertieren von Weltkoordinaten zu BAHN

Beitrag von björn262 »

Hallo ich melde mich zurück. Tut mir leid, dass ich so lange nicht aktiv war aber ich hatte Bahn kurzzeitig den Rücken gekehrt als ich hörte, dass Beta 4.0 nicht mehr weiterentwickelt wird. Allerdings hat mich die 3.88r1 schnell wieder zurückgeholt, durch das XML-Format. Es sollte so einfacher sein Netze zu erzeugen ohne den Umweg über BNA. Gerade bin ich daran zu entschlüsseln wie die Quadranten genau gespeichert werden.

Zu NVV: Es hat sich noch ein bischen was getan im BAHN-Programmteil, die hier in der Zwischenzeit viel gewünschte Funktion zum Einfügen von Infotexten wurde eingbaut. Dazu findet sich eine Checkbox "Info" neben der Gleisstilauswahl. Allerdings ist der Text nur "y", eine freie Eingabemöglichkeit habe ich leider nicht vorgesehen und wird auch erst im eigenen Projekt kommen.

Durch das XML-Format werde ich den BAHN-Teil in ein eigenes Projekt auslagern, dass dann z.B. auch die liniengetrennte Bearbeitung von einem einzeigen Taktpunkt ermöglicht.

Weitherhin gibt es beim Export die Knöpfe "nur Zug" und "nur Bus".
"Nur Zug" wählt alle Strecken aus deren erstes Element entweder "TX" oder "RX" ist. "Nur Bus" macht das Gleiche mit "BX" oder "RX". X steht hierbei für 0-3.

Download hier

Fladdermus fragte in einem anderen Thema nach den internen Geschehnissen. Nun, die kann ich gerne preisgeben.
Eine Strecke ist technisch nichts anderes als eine Liste von Koordinaten.
Jede Koordinate trägt zusätzlich Informationen für die Gleiseigenschaften die ab dieser in Streckenrichtung (grünes Ende) gelten soll.

Aus dieser Koordinatenliste werden nun Vektoren erstellt.
Jetzt kommt der Umrechner zum Einsatz, der aus Weltkoordinaten die BAHN-Koordinaten macht.
Mit diesen neuen Vektoren werden jetzt ein paar Komprimierungsmaßnahmen durchgeführt um die BNA-Datei nicht zu groß zu machen. Dazu zählt:
  • Nullvektoren entfernen
  • Benachbarte Vektoren die nach Addition genau denselbe Winkel haben werden zu einem Vektor
  • Benachbarte Vektoren deren Zwischenwinkel unter der Winkelkomprimierung liegt werden zu einem Vektor
Diese Maßnahme beschnleunigen auch die Importzeit in BAHN selbst, da weniger Bauanweisungen.
Schließlich wird die BNA-Datei geschrieben.
Man darf eben beim BNA-Export in dem sich öffnenden Fenster nicht den Streckennamen anklicken, ( was ich für logisch gehalten hatte ) sondern muss am unteren Rand den Button „ Alles wählen“ anklicken !!!
Ich wollte an dieser Stelle auch eine Checkbox-Liste verwenden, nur ist es mir bis heute noch nicht gelungen diese einzufügen.
Bei OSM kann man — bei direkten Aufruf — einen Layer für öffentliche Verkehrsmittel einblenden lassen.
Ließe sich das u. U. vielleicht durch eine entsprechende Parameterübergabe beim Programmaufruf hier auch realisieren?
Ich verwende die vorgefertigte Komponente JMapViewer, da muss ich mal in der Dokumentation schauen ob sie das unterstützt.
Jan Bochmann
Beiträge: 2199
Registriert: Sonntag 16. März 2003, 15:25
Kontaktdaten:

Re: Programm zum Konvertieren von Weltkoordinaten zu BAHN

Beitrag von Jan Bochmann »

Guten Abend,
björn262 hat geschrieben:Hallo ich melde mich zurück. Tut mir leid, dass ich so lange nicht aktiv war aber ich hatte Bahn kurzzeitig den Rücken gekehrt als ich hörte, dass Beta 4.0 nicht mehr weiterentwickelt wird. Allerdings hat mich die 3.88r1 schnell wieder zurückgeholt, durch das XML-Format. Es sollte so einfacher sein Netze zu erzeugen ohne den Umweg über BNA. Gerade bin ich daran zu entschlüsseln wie die Quadranten genau gespeichert werden.
Das ist nicht als Geheimnis gedacht. Wenn ich mal Zeit finde, gibt es auch eine Doku dazu. Es ist eine ziemlich simple Komprimierung, nur um die XML-Dateien nicht noch größer werden zu lassen.

Grüße,
Jan B.
Benutzeravatar
piefke53
Beiträge: 246
Registriert: Samstag 3. Mai 2014, 12:11
Wohnort: Wördern / Niederösterreich

Re: Programm zum Konvertieren von Weltkoordinaten zu BAHN

Beitrag von piefke53 »

Jan Bochmann hat geschrieben:Guten Abend,

Das ist nicht als Geheimnis gedacht. Wenn ich mal Zeit finde, gibt es auch eine Doku dazu. Es ist eine ziemlich simple Komprimierung, nur um die XML-Dateien nicht noch größer werden zu lassen.

Grüße,
Jan B.
@ JanBo:

Ja nee, is klar! :laughing-rolling:
Für den, der es kann oder der es „geklöppelt“ hat, ist es einfach.

Ich sehe das in einem anderen Bereich regelmäßig. Für mich ist es eine Crux, dass man bei Excel (bei mir 2007) Formeln „nur“ 8-fach verschachteln kann. Andere sagen oft „bei der Formelwurst blickt doch keine Sau durch“ ... dabei ist es doch sooo einfach Bild

Aber Deine Dokus (auch wenn sicher teilweise unter Mithilfe von anderen engagierten Usern entstanden) sind eigentlich immer so, dass auch ich als Fast-DAU meistens damit klar gekommen bin. Und notfalls gibt es ja das Forum als „Helpline“.
Freundliche Grüße aus dem Donautal nähe Wien
Fred


Aktuelle Busparade: Bild
(Die Farben wurden durch die Umwandlung in GIF-Format und Reduzierung auf 256 Farben verfälscht!)
björn262
Beiträge: 146
Registriert: Samstag 22. Januar 2011, 20:20

Re: Programm zum Konvertieren von Weltkoordinaten zu BAHN

Beitrag von björn262 »

Bisher habe ich folgendes durch "Trial and Error" herausfinden können:

Code: Alles auswählen

Leserichtung, Zeile für Zeile.
Leerelement = C000
Weitere siehe Elemente.txt

Element entweder ersetzt durch e1, e2, e3, e4 in den Attributargumenten
Wenn e1 nicht defniert dann Leerelement.

	e1 = []
	e2 = ()
	e3 = [)
	e4 = (]
	
	Bei e1 zuerst
	g=1
	h=2
	i=3
	j=4
	k=5
	Ab 6 Elemente
	hochzählen
	[0], bezieht sich durch Klammer auf e1
	
	Bei e2 zuerst
	l=1
	m=2
	n=3
	o=4
	p=5
	Ab 6 Elemente
	hochzählen
	(0), bezieht sich durch Klammer auf e2

	Bei e3 zuerst
	q=1
	r=2
	s=3
	t=4
	u=5
	Ab 6 Elemente
	hochzählen
	[0), bezieht sich durch Klammer auf e3
	
	Bei e4 zuerst
	v=1
	w=2
	x=3
	y=4
	z=5
	Ab 6 Elemente
	hochzählen
	(0], bezieht sich durch Klammer auf e4

oder mit ID direkt definiert.

Von ID kann addiert und subtrahiert werden, HEX-Zahlen beachten. Immer letze numerische ID in String als Basis.

Bedeutung des Kommas ungewiss

Ebenso das Zeichen : in großer Netzdatei entdeckt...

Anpassung der dx und dy beachten
Maximalgröße dx = 32, dy = 32.
So schwer ist es tatsächlich nicht, jetzt bleibt nur die Frage was "," und ":" bedeuten...
Jan Bochmann
Beiträge: 2199
Registriert: Sonntag 16. März 2003, 15:25
Kontaktdaten:

Re: Programm zum Konvertieren von Weltkoordinaten zu BAHN

Beitrag von Jan Bochmann »

Guten Abend,
björn262 hat geschrieben:Bisher habe ich folgendes durch "Trial and Error" herausfinden können:

Code: Alles auswählen

Leserichtung, Zeile für Zeile.
Ja, von Nordwest nach Südost.

Das ganze ist aufgeteilt in Quadranten, wie in der BAHN-Hilfe kurz beschrieben bzw. auch schon in den Dokus für ältere Versionen. Ein Quadrant ist immer 32x32 Elemente groß und liegt nur in einer Ebene.
Angegeben werden die Koordinaten der Nordwest-Ecke, dabei wird Ebene 0 (z=0) als Standardwert betrachtet und weggelassen (gilt für alle Koordinatentripel, d.h. es werden nur z-Werte angegeben, wenn diese nicht 0 sind).

Ganz leere Quadranten werden weggelassen.

Leere Spalten und Zeilen am Rand eines Quadranten werden weggelassen. In diesem Fall werden ggf. die Koordinaten der Nordwest-Ecke entsprechend angepaßt (sonst sind sie immer durch 32 teilbar), sowie die abweichende Ausdehnung dx und dy angegeben (wird weggelassen wenn =32).
björn262 hat geschrieben:

Code: Alles auswählen

Leerelement = C000
Weitere siehe Elemente.txt
Die Datei kenne ich nicht. Viele Codes sind aber in der Doku zum NT3-Format zu BAHN 3.84 bzw. 3.85 enthalten. Die meisten haben sich seitdem nicht verändert. Sie finden sich dort in den Abschnitten 3. und Anhang A.
björn262 hat geschrieben:

Code: Alles auswählen

Element entweder ersetzt durch e1, e2, e3, e4 in den Attributargumenten
Richtig, wobei e1..e4 die 4 häufigsten Elemente im Quadranten sein sollen. Daher ist e1 in den meisten Fällen das Leerelement 0xC000. Das ist dafür auch der Standardwert. Es kann aber z.B. auch mal eine Wasserfläche sein.
björn262 hat geschrieben:

Code: Alles auswählen

Wenn e1 nicht defniert dann Leerelement.
Richtig, das ist der Standardwert für e1. Die anderen haben keinen Standardwert.
björn262 hat geschrieben:

Code: Alles auswählen

	e1 = []...
	...(0], bezieht sich durch Klammer auf e4

oder mit ID direkt definiert.
Richtig. Das was hier als "ID" bezeichnet wird, heißt bei BAHN meistens Symbolcode oder Elementnummer.
björn262 hat geschrieben:

Code: Alles auswählen

Von ID kann addiert und subtrahiert werden, HEX-Zahlen beachten. Immer letze numerische ID in String als Basis.
Richtig. Maximale Differenz ist 0xFF+1 (256 dezimal).

Dabei steht für "+1", für "+2", usw., bei analog dazu.
björn262 hat geschrieben:

Code: Alles auswählen

Bedeutung des Kommas ungewiss

Ebenso das Zeichen : in großer Netzdatei entdeckt...
Das sind Wiederholungszähler, wenn ein und das selbe Element mehrfach hintereinander folgt und es keines der 4 e1..e4 ist:
Komma = 1mal, Doppelpunkt = 2mal, Punkt = 3mal, Stern = 4mal. Der Stern kann sich wiederholen, wenn es noch mehr sind, also z.B. = 10mal

Das Komma ist Trennzeichen, wenn eines gebraucht wird (1mal ist ja eigentlich keine Wiederholung). Wenn kein Trennzeichen gebraucht wird, weil das nächste Zeichen sowieso eindeutig irgendwas anderes ist, dann kann das Komma weggelassen werden. Manchmal folgen aber 2 Hex-Zahlen unmittelbar, und dann braucht man es.

Grüße,
Jan B.
Jan Bochmann
Beiträge: 2199
Registriert: Sonntag 16. März 2003, 15:25
Kontaktdaten:

Re: Programm zum Konvertieren von Weltkoordinaten zu BAHN

Beitrag von Jan Bochmann »

Guten Tag,
björn262 hat geschrieben:Bisher habe ich folgendes durch "Trial and Error" herausfinden können:..
Jetzt gibt es auch eine Dokumentation dazu. Zu finden auf http://www.jbss.de, "Downloads", "Verschiedene andere Daten".

Grüße,
Jan B.
Nico Teen
Beiträge: 59
Registriert: Samstag 30. August 2014, 11:24
Wohnort: Eisenach
Kontaktdaten:

Re: Programm zum Konvertieren von Weltkoordinaten zu BAHN

Beitrag von Nico Teen »

Hallo Miteinander,

in diesem Forum wurde schon viel diskutiert über die Nutzung geografischer Daten. Alle diese Tipps laufen darauf hinaus, in mühseliger Arbeit Gleise in Bahn 3.88 wiederzugeben.
Ich habe mir ein Programm (eigentlich zwei) Programme geschrieben, welche die geografischen Daten der Eisenbahnstrecken abfragt und ein Weiteres, welches diese geografischen Daten in Bahn 3.88 einfügt. Dass aus diesen Angaben mal eine Deutschlandkarte entstehen würde habe ich nicht mal ansatzweise vermutet.
Es entsteht also eine Deutschlandkarte mit allen von der DB betriebenen Strecken mit Angabe des jeweiligen Streckenkilometers auf
100 m genau.
Auch bei mir wurde die Erdkrümmung herausgerechnet. Das bedeutet: die geografischen Längen- und Breitengrade stehen
im rechten Winkel zueinander.
Die Kartendimmension erstreckt sich auf das Gebiet zwischen Oberstdorf (Bayern) als südlichster Bahnhof Deutschlands und Flensburg.
Gegenwärtig werden die Strecken rund um Kassel gezeichnet. Mit einem Abschluss der Datenaufzeichnung ist vsl. nicht vor Jahresende zu rechnen.
Wer Interesse an diesem Projekt hat, sollte sich per E-Mail bei mir melden.

Mit freundlichen Grüßen


Nico
Man gewöhnt sich nicht ans Wasser indem man es meidet!
Antworten