Eisenbahnkarte mit eigenen Inhalten erstellen

Hallo zusammen im Forum!

Ich bin recht neu hier dabei, habe ein kleines bisschen gemappt und bin etwas mit den Grundlagen der OSM vertraut (Openstreetmap-Buch). Insgesamt also wohl ein blutiger Anfänger, zudem schon in einem etwas reiferen Alter (40+x ) und mit wenig Freizeit…

Nun habe ich mir ein Projekt vorgenommen, von dem ich noch gar nicht weiss, ob ich das hinbekommen kann oder nicht. Deshalb möchte ich allen hier in der Runde kurz vorstellen, was ich vorhabe und möchte gerne Eure Meinung hören, ob und wie das machbar ist und vor allem welchen Aufwand das für mich bedeuten würde, denn ich habe von vielen Dingen (Java, Datenbanken) eigentlich gar keine Ahnung…

Also:

Aufbauend auf den bereits vorhandenen Daten der OSM möchte ich eigene Karteninhalte darstellen. Mein Ziel ist, eine Eisenbahnkarte für Deutschland zu erstellen und auf einer eigenen Webseite anzubieten, auf der alle deutschen Eisenbahnstrecken zu sehen sind, wobei ich dann in einem ersten Schritt über die vorhandenen Strecken etwas zeichnen möchte, um zusätzliche Informationen damit anzuzeigen, z. B. Reiserouten, Zugzahlen oder Ausbaustufen. Dazu eine Legende, die das alles erklärt. Ein zweiter Schritt wäre vielleicht dann noch, eine Datenbank anzulegen, die mit den gezeichneten Inhalten verknüpft ist. Also der Betrachter klickt auf eine der im ersten Schritt erstellten Informationen und bekommt dann ein Fenster angezeigt mit Datenbankinformationen wie z. B. Streckennummer, -länge, oder anderen hinterlegten Infos zur Strecke. Umgekehrt sollte eine Suche nach Streckennummer oder Anfangs-/Endpunkten der Strecke möglich sein und dann wird der Kartenausschnitt auf die gesuchte Strecke eingestellt. Diesen zweiten Schritt betrachte ich aber nur als Option.

Inhaltlich sollen neben dem Eisenbahnnetz mit den Bahnhöfen in groben Zügen die Bundes- und Landesgrenzen, Flüsse, Städte und Gemeinden und dazu vielleicht noch das Autobahn-Netz dargestellt werden. Derzeit kenne ich www.öpnvkarte.de, und bis auf U-Bahn, Strab und Bus-Inhalte (brauche ich nicht) wäre diese Karte auch ganz passend, nur vielleicht ohne die topographischen Informationen (Waldflächen, engmaschiges Strassennetz) und mit anderen Farben was die Bahnstrecken angeht (schwarz statt orange), aber im Prinzip wäre auch das orange kein Problem.

Nun stehe ich vor der Frage, wie ich das angehen soll.

Einserseits möchte ich ehrlich gesagt nicht viel Arbeit damit haben, um die Kartengrundlage zu bekommen. Wenn es also ginge, dass ich - einfach gesprochen - die ÖPNV-Karte so wie sie ist hernehme und dann einfach eine Ebene (oder auch mehrere) mit meinen spezifischen Inhalten darüber lege, dann wäre ich schon sehr zufrieden. Wie bekomme ich aber die Layer drüber gelegt? Da bin ich recht schnell auf das Buch zu “OpenLayers” gestoßen, aber mir erscheint es doch recht schwierig, als unerfahrenem Endanwender damit “einfach was zu zeichnen”. Aber geht es auch anders? Google-Maps bietet recht einfache Möglichkeiten, selbst auf deren Karten eigene Inhalte “drüberzumalen”, aber gibt es so etwas Einfaches auch mit OSM?

Andererseits frage ich mich, ob es nicht einfacher wäre, nur die oben genannten Informationen aus dem Datenbestand der OSM zu “extrahieren” und so zu sagen von Grund auf eine eigene Karte zu machen, Kartenkacheln in 3-4 Zoomstufen zu erstellen, auf denen dann genau das dargestellt wird, was ich möchte. Vermutlich bekomme ich aber auf diese Weise eine mörderische Menge Datenverkehr auf der Webseite und brauche einen eigenen Server mit entsprechenden Kosten im Vergleich zu der ersten Variante, wo ich theoretisch auch auf die normalen OSM-Server verlinken könnte.

Ich tendiere ja zu ersterem, aber was meint ihr zu den beiden Varianten? Ist das durchführbar, welchen Zeitaufwand und welche Kenntnisse benötige ich? Gäbe es vielleicht eine Alternative, an die ich momentan gar nicht denke oder gibt es vielleicht schon ein solches Projekt, nur in einem anderen Zusammenhang? Bin ich vielleicht etwas naiv, weil das, was ich machen möchte, so einfach nicht zu haben ist, man gut mit JAVA und SQL umgehen können muss und man das nicht als Feierabendprojekt mit 10 Wochenstunden binnen weniger Wochen zusammenzimmern kann?

Ich weiss, Fragen über Fragen, aber ich bin über jeden Rat und Tip dankbar, selbst wenn der da heissen sollte: “Lass’ besser die Finger davon oder schraube deine Ansprüche herunter”.

In diesem Sinne warte ich gespannt auf eure Beiträge!

Bis bald, Schremser

Der Autor von http://openptmap.org/ hat’s ähnlich gemacht wie Du. Auch überlagert und sogar schwarz. Frage den doch mal. Vielleicht könnt Ihr sogar an „seiner" Karte zusammen weiter arbeiten. Denn es spricht nichts dagegen, dass seine Karte durch noch mehr optionale Informationen angereichert wird.

Hier findest Du noch 'ne Menge mehr Infos über diese Karte: http://wiki.openstreetmap.org/wiki/DE:Openptmap
Auch eine Anleitung, wie Du sowas komplett selbst machen kannst ist dort hinterlegt (ganz unten).

Hier der Blog-Artikel des Autors über die Entstehung der Karte: http://blog.openstreetmap.de/2011/09/ov-layer-karte-openptmap-org/

PS: 10 Stunden in der Woche sind nicht viel, aber wenn es keinen Zeitdruck gibt, spielt das doch keine Rolle.

Hallo Schremser,

da hast du wohl die gleiche Idee wie ich. Ich arbeite schon an so einer Eisenbahnkarte.

http://wiki.openstreetmap.org/wiki/DE:Bahnkarte

Dort findest du auch schon einen großen Teil der Dinge, die mal auf der Karte erscheinen sollen.
Zur Zeit kann man von meiner Karte online leider noch nichts sehen, da ich noch nicht ganz so weit bin. Ich erzeuge eine simple Tile-Karte (ähnlich wie die openptmap.org) mit transparentem Hintergrund und lege die über eine beliebige Grundkarte wie Mapnik oder Mapnik Schwarz/Weiß. Eine Interaktivität gibt es da noch nicht, wäre aber denkbar, da sich zum Beispiel alle Linien, die auf einer Strecke verkehren nur schwer alle auf die Karte bringen lassen.

Der Fokus meiner Karte liegt auf den Bahninternen Dingen, also Signalen, Streckenzuständen, Stellwerken, Kilometerangaben als auf den ÖPNV-Linien.

Falls also deine Idee in etwa meiner entspricht, wäre es vielleicht sinnvoll, wenn wir zusammen an einer Karte arbeiten. Wenn du aber eine ganz spezielle Idee hast, dann will ich dich auch nicht davon abhalten. :wink:

Alex

Und gestern habe ich zufällig bei der OpenCycleMap den neuen “TransportMap” Base Layer entdeckt:
http://opencyclemap.org/?zoom=16&lat=48.4005&lon=9.97597&layers=0B

Wende dich doch einfach mal an den Macher Andy Allen (aka Gravitystorm)

Oder schau in seinem Blog nach: http://www.gravitystorm.co.uk/shine/archives/2011/04/11/transport-map/

Grüsse

mdk

Hallo Schremser, dann noch mal von mir ein herzlich willkommen bei OSM und hier bei uns im Forum! Und keine Angst, nicht wenige sind hier schon “fortgeschrittenen” Alters, das macht garnichts. :smiley:

Genau, am besten sich an fertigen Sachen anlehnen. Da musst du nur entscheiden ob es der große Mapnik Renderer sein soll (komplex aber auch sehr mächtig) oder ob einfachere Renderer auch reichen. Hier gibt es noch mehr zu Verkehr: http://wiki.openstreetmap.org/wiki/Maps#Public_Transport

Ich würde noch anregen, euch vielleicht mal mit user:Bahnpirat kurzzuschließen, er zeichnet eine Karte des Stromnetzes, was nicht unähnlich ist (relativ großes aber “dünnes” Netzwerk), da hat er bestimmt noch gute Tipps wie man das performant angehen kann
http://wiki.openstreetmap.org/wiki/User:Bahnpirat

Ah, da gibt es also schon einige ähnliche Projekte, die ich noch nicht kannte, vielen Dank schon mal dafür.

Ich muss eingangs aber noch erwähnen, dass ich gestern im Eifer des ersten Eintrags hier noch etwas Wichtiges vergessen habe zu erläutern: Denn ich ziele in erster Linie nicht auf die reale Eisenbahn, sondern in Richtung virtueller bzw. simulierter Eisenbahnen. Der Microsoft Train Simulator oder Trainz ist sicher manchen ein Begriff. Ein vergleichbarer, aber technisch weit ausgereifterer und anspruchsvollerer Simulator ist ZUSI (www.zusi.de).

Hierfür habe ich seit einigen Jahren schon eine Streckenkarte mit recht einfachen Mitteln (gescannte DB-Kursbuch-Streckenkarte, und dann mit CorelDraw “drübergemalt”) online stehen, zu finden unter www.zusi-sk.eu , da gehört auch eine Tabelle mit den Streckenprojekten in KBS-Nummer-Sortierung dazu. Diesen insgesamt sehr einfach gestalteten und auch rechtlich etwas fragwürdigen Zustand möchte ich nun auf eine saubere Basis stellen und denke da eben an OSM.

@wicking: Ich werde mir das mit openptmap mal genauer ansehen, dank der Links hier habe ich schon mal genug zu lesen. Wenn ich da nicht viel neues erfinden muss, scheint das ganz passend zu sein.

Alex, das mit der speziellen Idee trifft es also ganz gut :wink: . Wie ich sehe, hast du dich durch openptmap inspirieren lassen. Ich werde mir nun erstmal alles in Ruhe zu Gemüte führen und dann sehen, wie ich hier für mich weiterkommen kann. Eine Zusammenarbeit an deinem der bereits bestehenden Projekt wird da angesichts der meiner anderen Zielrichtung nicht herausspringen, wobei es mich sehr interessieren würde. Vielleicht - wenn ich meine Idee verwirklichen kann und dann auch tiefer in der Materie drin stecke - wird später doch noch was daraus.

Viele Grüsse und nochmals Danke von
Frank

(aka Schremser )

Sobald’s was zu sehen gibt, bitte hier mitteilen.

Wird gemacht, aber das wird sicher noch dauern…

Inzwischen bin ich soweit, dass ich den Weg in etwa skizzieren kann, den ich mit meiner Karte einschlagen möchte.

Wie schon geschrieben soll es eine Eisenbahnkarte werden, auf der die verschiedenen Stadien der Bauprojekte für den Zugsimulator ZUSI dargestellt werden. Dazu werden einzelne Streckenabschitte verschieden codiert, im Endeffekt wird es auf eine Farbcodierung und ggfs. verschiedene Linienstile oder -breiten hinauslaufen. Dazu sollen dann je nach Zoomstufe noch mehr oder weniger viele Ortsnamen angezeigt werden. Und später vielleicht noch eine Infobox mit Daten zu den Projekten oder mit einem Internet-Link auf eine andere Webseite.

Um dahin zu kommen, möchte ich mit dem osm2sql-Tool einen Auszug aus dem planete-file von OSM generieren. Da ich im Prinzip “nur” die mit Eisenbahn getaggten Daten (Gleise, Bahnhöfe und vielleicht noch die eine oder andere Objektgruppe mehr) für Deutschland benötige, sollte die Datenmenge einigermaßen handhabbar sein. Die Rohdaten möchte ich dann lokal als osm-file weiter bearbeiten, weil ich eigene Schlüsselwerte verwenden möchte, die auf das Thema angepasst sind. Am liebsten mit JOSM, da es eine angenehme Oberfläche zum Bearbeiten der Daten besitzt.

Wenn alle Daten im entsprechend bearbeiteten OSM-file eingearbeitet sind, muss ich das ganze dann in Kacheldaten überführen, die im Ergebnis als transparentes Layer über eine Standardkarte gelegt werden. Hier würde ich gerne Kosmos/Maperitive einsetzen. Letztlich wird es dann so ähnlich aussehen wie das Projekt von Bahnpirat, den ich dazu auch demnächst kontaktieren werde.

Wichtig ist mir, dass ich mit Programmen / Editoren arbeiten kann, die unter Windows laufen und mit denen ich stets eine optische Kontrolle über die Daten habe und die einfach zu bedienen sind, deshalb JOSM und MAPERITIVE.

Ich hoffe der beschriebene Arbeitsablauf ist soweit vollständig. Falls nicht, dann wäre ich über Hinweise auf Gedankenfehler oder fehlende Arbeitsschritte sehr erfreut. Brauche ich z. B. auch Openlayers?

Einen herbstlichen Gruss ins Forum von
Frank

Kleines Zwischenupdate: Für JOSM habe ich was Nettes entdeckt, dass für meine Arbeitsweise den Import von OSM-Daten in meine lokale Arbeitsdatei wesentlich erleichtert, so dass ich nicht den Weg über osm2sql gehen muss.

Der Umfang der zu zeichnenden Strecken für mein Projekt wird zu Beginn nur sehr begrenzt sein und sich dann langsam aber stetig erweitern. Filtere ich jetzt schon das gesamte Eisenbahnnetz für Deutschland aus dem planet-file heraus, dann ist das noch eine ziemlich dicke Datei mit (> 100 MB im OSM-Format), die mit JOSM nur sehr träge zu bearbeiten ist.

Für JOSM habe ich jetzt ein nettes Plugin namens “waydownloader” entdeckt, das im verlinkten JOSM-Wiki kurz beschrieben ist. Damit gelingt es, die Gleise abschnittsweise herunterzuladen und sich von einem Abschnitt zum nächsten durchzuhangeln. 50km Strecke sind damit in ein wenigen Minuten ausgewàhlt und heruntergeladen. Viele für mich unbedeutende Gleisanlagen von Industriebahnen etc. werden gar nicht erst erfasst, aber man kann sie doch andeuten, denn in einem beschränkten Umkreis um den anzuschliessenden Punkt werden noch andere nodes und ways mitgenommen. Die lokale OSM-Datei bleibt dabei schön schlank.

Sieht also ganz danach aus, als hätte ich für die Erstellung der Karte einen brauchbaren Weg gefunden, so dass ich das nun an einem Teilstück mal ausprobieren kann. Spannend wird für mich dann die Frage des Renderns. Aber alles zu seiner Zeit.

Hallo! 100 MB kommen mir trotzdem viel vor - mein Gefühl kann aber auch täuschen. Hast du mal diesen Weg probiert? http://wiki.openstreetmap.org/wiki/JOSM/Advanced_editing#Editing_Thematic_Data

Da magst du recht haben, eigentlich sind es sogar ca. 180 MB. Ich hatte mir vor längerem schon mal bei Geofabrik die kompletten Daten für Germany geladen, das sind im OSM-Format rund 18 GB. Daraus habe ich dann mit osmfilter alles was mit “railway” getaggt war, herausgefischt. Da sind dann aber auch Prellböcke, Bahnsteige und anderes Gedöns dabei gewesen. Wenn ich den Filter wie in deinem verlinkten Beispiel gezeigt präsziser definiere - wozu ich bei meinen ersten Versuchen zu bequem war - wird sich wohl noch eine Menge reduzieren lassen. Das werde ich spätestens, wenn meine Versuche abgeschlossen sind, beherzigen, deswegen: Danke für den Hinweis!

Edit:
Habe doch gleich heute abend die Filtermöglichkeiten studiert, jetzt sind es nur noch rund 89 MB an Daten. JOSM und auch MAPERITIVE verarbeiten die Daten nun gleich ein gutes Stück schneller! :slight_smile:

Gruss von Frank,
dem Pfad der Verschlankung weiter folgend :wink:

DONE: Die Karte läuft und ist zunächst in einer Demo-Version online zu besichtigen: ZSK3Demo - Die Zusi3-Demo-Streckenkarte

Da fehlt natürlich noch viel Inhalt und auch sonst habe ich noch einiges vor, aber ich hätte nicht gedacht, dass ich dann doch so schnell dahin komme, dass es funktioniert. Streng genommen wäre ich wohl schon Anfang Dezember soweit gewesen, aber dann zwischenzeitlich doch etwas den Schwung verloren und nur noch sporadisch an den letzten Problemenherumgedoktert. Die Weihnachtszeit tat ihr Übriges dazu, aber was solls: Jetzt funktioniert es so wie ich es wollte und kann nun bequem Stück für Stück die Anwendung weiter verbessern :slight_smile:

Nochmals herzlichen Dank für eure Hinweise, den einen oder anderen Tip hier werde ich wohl noch weiterverfolgen.

Viele Grüsse von Frank,
fürs Erste mal ganz glücklich mit dem Erreichten…

Sieht gut aus…
…und startet in Altenbeken. Da kommen Jugenderinnerungen auf an die uralte Bahnhofskneipe, in der ich manche Stunde beim zeitraubenden Umsteigen auf dem Weg vom/zum Bund bei Detmold verbringen musste :slight_smile: