Lesebare OPNV Karte

So theoretisch ist das gar nicht. Gerade bei farbig gekennzeichnete Linien ist es wichtig, sie nebeneinander laufen zu lassen. Für eine einzelne Linie mag das theoretisch bleiben, aber wenn man sich mehrere anzeigen lassen will, ist es schon interessanter wenn sie nebeneinander sichtbar sind. Aber dies ist auch ein Beispiel dafür, dass die kommerziellen Karten dieser Art noch eine Menge Handarbeit benötigen.

Das wäre doch mal ein schönes Thema für ein Bachelorarbeit. :wink:

Für einige Projekte, über die ich (noch nicht) nicht reden darf, haben wir etwas hierzu erarbeitet.

Eines der großen Probleme ist, dass wir “zu genau” mappen. Wenn eine Straße zwei getrennte Fahrbahnen hat (Großstädte), dann liegen in unserer DB zwei Linien (bzw. hunderte Linienstücke, aber das ist egal) oder im Optimalfall eine Relation der Route vor. Das ist in großen Maßstäben natürlich kein Problem, da man hier ja viele Details sehen will.

Zoomt man nun in einen Maßstab, der für einen Aushangs- oder Stadt- bzw. Regionalplan sinnvoll ist, stehen wir vor einem Problem: man hat dann Informationen über teils parallel fahrende Routen in beiden Richtungen. In einigen Städtne fahren sechs verschiedene Linien parallel, in beiden Richtungen hätte man dann also 12 Linien - die kann niemand mehr auseinanderhalten oder unterbringen.

In der “manuellen” Kartographie generalisiert man jetzt natürlich einfach, das ist aber in der digitalen Kartographie (noch) nicht so einfach möglich. Die traditionellen Kartographen setzen einfach zwischen beide Fahrbahnen eine Mittellinie, so hat man dann nur noch sechs Linien (das gilt natürlich nur, wenn man die Einzelliniendarstellung haben will - man kann auch einfach eine Linie zeichnen und die sechs Nummern dranschreiben). Es gibt verschiedene Ansätze, Mittellinien zu erzeugen. Einige dieser Ansätze sehen aber nur gut aus, wenn die Linien konstruiert parallel sind - dafür mappen wir aber zu genau (noch schlimmer ist es da, wo einzelne Fahrspuren gemappt sind). Ansätze sind hierbei das Aufbuffern der parallelen Straße und das gegenseitige Verschneiden und der anschließenden Rückführung zu einer Mittellinie via eines Skelletons und einem anschließenden Smoothings mit verschiedenen Algorithmen (Probleme sind hier alle Arten von Kreuzungen). Eine andere Variante wäre das Entscheiden für eine Fahrtrichtung und diese dann “parallel” in die Mitte zu verschieben; auch hier hat man wieder Probleme an den Kreuzungen. Dann gibt es noch Ansätze, die Straßen aufzurasten und dann die Mittelpunkte der Rasterzellen zu verbinden usw. usw. - sieht aber alles nicht toll aus. Viele dieser Ansätze kommen aus dem Labeling von Flächen und sind nicht zur Darstellung gedacht; beim Labeling sieht man sie ja nicht, da geht es nur darum, die optimale Position zu finden. Straßen sind aber dabei noch ein geringes Problem - der SPNV ist noch viel heterogener.

Für ein Projekt habe ich eine “halbautomatische” Lösung entwickelt, die sieht sehr gut aus, aber es läuft aus o.g. Gründen nicht vollautomatisch. Leider sollen die dort erzeuten virtuellen Hilfs- bzw. Mittellinien nicht in OSM integriert werden, OSM will ja nur existierende geografischen Objekte oder Topologien.

Mindestens für diese Aussage benötige ich eine Übersetzung nach “deutsch”…

Besteht ehrliches Interesse? Dann würde ich Abbildungen dazu erzeugen.

Alos ich finde die Idee auch sehr interessant. Allerdings kann ich mir nicht so recht vorstellen worin das Problem mit den Kreuzungen besteht.

Ich betrachte zum Beispiel Eisenbahnstrecken in Mapnik in verschiedenen Zoomstufen. Dort sieht man sehr schön das das zweite Gleis erst bei großen Zoomstufen zu sehen ist. Da gehen zwar “Informationen” verloren, aber im Prinzip ist das genau diese Art von Generalisierung die gesucht wird oder?

Wenn ich das Problem und den Lösungsansatz verstehen würde, kann ich Dir sagen, ob ich Interesse habe.
Mein Interesse liegt (momentan noch) darin, möglichst viele Möglichkeiten für eine schematische Liniendarstellung zu finden. Hier glaube ich, liegt sowohl Dein Problem und Dein Lösungsansatz. Der VRR hat einen interaktiven Ansatz dazu, allerdings vermute ich dahinter eine Menge Handarbeit. Wenn eine solche Darstellung mit (von Zoomstufen abhängig) differenzielem Linienweg aus OSM heraus generiert werden könnte, über die Interaktivität muss man sich dann später Gedanken machen…

Also das Problem was du als erstes lösen musst ist der Unterschied zwischen der georgrafischen Lage der Haltestellen und der Lage in shematischen Plänen.
Und danach kannst du dirt Gedanken darüber machen wie du die Achsen zusammenfassen kannst.

Beim VRN soll es offene Fahrplandaten geben, welche man per Mail anfordern kann. Mir ist das leider nicht gelungen, aber damit sollten sich ähnliche Bilder schaffen lassen wie im Fernbuslinienthread #46

Achso, geht es hier um entzerrte, schematische Pläne, bei denen es hauptsächlich auf die Topologie (die Beziehung untereinander) ankommt und die Lage nicht der echten geographische entspricht oder geht es um die moderne, topographische Variante, auf der die Buslinien auf ein nicht entzerrtes Kartenwerk (meist ein Stadtplan) gezeichnet wird? Im VRR wird beides verwendet.

Für die schematischen Pläne gab es vor einigen Jahren einen sehr, sehr guten Ansatz zur automatischen Generierung, aus einigen SPNV-Foren weiß ich, dass einige diese Pläne mit yEd, Dia, LucidCHart und Diagramly erstellen. Bei Letzterem können die WGS84-Koordinaten direkt geladen werden, der Fahrplan muss in ein entsprendes Knotenmodell umgewandelt werden (ist in der Regel auch kein Problem). Die Anwendungen verfügen über Funktionen, die Routen und Punkte dann so auszurichten, dass nur bis zu einem gewissen Punkt beeinflusst werden. Man kann auch eingeben, dass Linien parallel geüfhrt werden wollen - alles ohne Interaktion.

@Thorschi:
Die Verkehrsunternehmen im VRR stellen eigene Portale bereit, z.B. [1] oder [2]. Die Pläne kommen von Baumgardt [3], andere Städte haben nachgezogen (siehe [3] > Auftraggeber).

[1] http://www.netzplan-dortmund.de/
[2] http://dortmund.bus-und-bahn.de/29741.html
[3] http://www.baumgardt-online.de/

Ich stelle mir schon vor, den realen Linienweg abgebildet zu sehen aber ebenso nebeneinander wie auf den schematischen Karten. Gleichzeitig sollten auch 1 bis n Linien auswählbar sein, welche ausschließlich angezeigt werden.
Also eigentlich wie die Baumgardt_Darstellungen, nur mit der OSM-Karten auf dem echten Strassenverlauf hinterlegt.

Yop, an derartigen Lösungen arbeite ich momentan in einem Projekt; die Daten, die Baumgardt zugrunde liegen haben natürlich den Vorteil, dass sie schon so generalisiert sind, dass man die Linien problemlos darauf darstellen kann. Ich mache nachher Abbildungen, die das Problem zeigen, auf das man mit OSM zukommt - und die sind nicht leicht zu lösen :confused:

Tut mir leid, hat doch ein wenig länger gedauert - hatte viel zu tun heute. Hier die PDF: http://ge.tt/4CDUVbp1

  1. Das sind zwei parallele OSM-Spuren mit getrennten Fahrtrichtungen.
  2. Mit Styling sehen sie so aus, darauf fährt ein Nachtbus (blaue Linie).
  3. Zoomt man nun heraus, werden die beiden Straßen so angezeigt, je nach Zoomlevel mit einem oder mit zwei Shields.
  4. Das ganze ohne den Bus - sieht aus wie eine Linie, sind aber zwei.
  5. Nun wollen wir die Mittellinie haben; dazu werden entlang der Originallinien (1) erstmal so viele Nodes wie möglich erzeugt.
  6. Dann wird mit Thiessen Polygone (aka Voronoi) zwischen diesen Punkten erzeugt; die rote Linie ergibt sich daraus.
  7. Man hat nun eine saubere Mittellinie.
  8. Von dieser Mittellinie kann man dann durch “paralleles Kopieren” (Offsets) parallel verlaufende Routen erzeugen.

Das ist jetzt natürlich der Optimalfall: die Straßen verlaufen perfekt parallel, keine X- und T-Kreuzungen usw. - dann wird das viel komplizierter.

Vielen Dank für deine Mühe. Aber bei mir lädt sich die PDF-Datei tod.

Sorry, den Dienst hat es wohl über Nacht gekillt - ich muss meinen eigenne Webserver mal neu aufsetzen. Naja, da es mit OSM zu tun hat, habe ich mal das Wiki dafür genutzt: https://wiki.openstreetmap.org/w/images/9/9a/OSM_busspur.pdf

Sieht auf jeden fall sehr interessant aus. Was mir noch unklar ist wo das Problem bei Kreuzungen liegt.
Ein Problem wird es doch eingentlich erst wenn sich eine Linienrelation verzweigt. Solange das nicht der Fall ist, haben wir ja auch keine Kreuzungen.
Wo ich eher ein Problem sehe ist wenn die Trennung der Fahrbahnen größer wird und man die Linien nicht mehr zusammenfassen sollte.
http://www.openstreetmap.org/#map=18/52.57015/13.40676

Auch hierzu habe ich eine Abbildung gemacht: https://wiki.openstreetmap.org/w/images/3/31/OSM_busspur_02.pdf

Die PDF zeigt eine Möglichkeit, Mittellinien an T-Kreuzungen zwischen zwei parallel verlaufenden Straßen zu konstruieren (nach Haunert & Sester 2004, Fall 3: zwei Kreuzungspunkte fallen in den Kreis eines dritten Kreises). Generell muss ich nochmal sagen: Die erzeugen Splines dienen ausschließlich dazu, um kartographische Informationen zu vermitteln und dürfen nicht in die OSM-Datenbank zurückgeladen werden, da es sich nur um virtuelle Elemente handelt.

Du musst bei sowas immer vom Worstcase ausgehen, der Rest löst sich in der Regel einfach :smiley:

Ab Zoomstufe 16 sieht man den Park doch eh nicht mehr, das ist im Gauß-Krüger-Maßstab etwa 1:5000. Einen normalen Stadtplan hast du aber in 1:15.000 - das wäre zwischen Zoomstufe 16 und 17 (eher zu 16 hin) - da kannst du die Unterschiede eh nicht mehr ausmachen. Schau dir bitte nochmal den Dortmunder Linienplan an - der ist i Maßstab 1:21:500… Durch die reine Verwendung von Bildschirmkarten verliert man oft das Gefühl, was traditionelle Karten leisten können. Im Bereich der “Breiten Straße” aus deinem Beispiel, würde ich z.B. das Element der Verdrängung wählen und diese beiden Straßen bewusst trennen, damit sie nicht im Nichts verschwinden. Nur sowas ist nahezu unmöglich in einen Algorithmus zu packen.

URL http://www.vrr.de/imperia/md/content/fahrten/stadtlinienplaene/dortmund.pdf

Mein Beispiel war natürlich an den Haaren herbeigezogen im Vergleich zu dem was man hier im Plan für Dortmund findet:
Die Fürhung der Linien an der Haltestelle Von-der-Goltz-Straße sind das Paradebeispiel für das was ich eigentlich damit ausdrücken wollte.
Desweiteren fallen einem RE Linien im Bereich Kröne sofort in die Augen. Wahrscheinlich wird es dort zumal ohne Halt keine solchen Verzweigungen geben.

Hmm, irgendwie verstehe ich gerade nicht, worauf du hinaus willst - kann aber auch an der Hitze liegen :smiley:

Die Verzweigung ergibt sich aus dem dortigen DB-Betriebswerk. Der Kartograph hat eine geeignete Linie gewählt, welche harmonisch den Teil aus Wambel kommend mit dem Innenstadtteil verbindet. Dann hat er mit der nördlichsten Linie das Gebiet eingekreist (passt topographisch übrigens nicht, dort liegen nicht überall Gleise) und einfach eine Zwischenlinie eingezeichnet, welche die beiden Gleise verbindet.

An der Haltestelle halten nur die Linien welche von Süden kommen, da die von norden kommenden offenbar in einer Parallelstraße fahren, welche aber so dicht an der eigentlichen Straße liegt, das man denken könnte es handelt sich um die Gegenrichtung zweier Fahrbahnen. Dazu kommt dann noch das wenn man schon geschafft hat die Trennung zwischen beiden Wegen zu behalten die Wege auch noch einen größeren Abstand zu einander brauchen, weil dort eben mehr als nur eine Linie je Richtung fährt.
Also dieses Stück automatisch zu erzeugen aus OSM Daten halte ich für ganz große Kunst.