mueschel / OsmDestinationToSVG

Render OSM destination tags as SVG graphics
2 stars 0 forks source link

Fehler bei destination:to #1

Closed Neuwessi11 closed 2 years ago

Neuwessi11 commented 3 years ago

Hallo! Habe gerade die Sandbox genutzt und einen Bug festgestellt. Im Fall von

highway = primary destination = Heinsberg;Niederkrüchten destination:to = Roermond destination:ref:to = A 52

funktioniert alles wunderbar. Wenn ich aber nach Roermond noch Düsseldorf hinzufüge, wie es in real life auch existiert, also so:

highway = primary destination = Heinsberg;Niederkrüchten destination:to = Roermond;Düsseldorf destination:ref:to = A 52

dann geht etwas schief, und die Sandbox kann die A 52 nicht mehr korrekt zuordnen.

Grüße!

mueschel commented 3 years ago

Das was du beschreibst ist ein Feature, der Bug liegt wo anders. :-)

Die Zuordnung zwischen Tags funktioniert nur, wenn alle exakt die gleiche Anzahl an Einträgen haben. Es reicht, ein Semikolon anzufügen:

highway = primary destination = Heinsberg;Niederkrüchten destination:to = Roermond;Düsseldorf destination:ref:to = A 52;

Das ist notwendig, damit die Zuordnung nur dann passiert, wenn sie auch gewünscht wird. Z.B. bei 5 Zielen und 1 Ref sollte die ref in aller Regel getrennt von den Zielen unterhalb stehen.

Der Bug ist, warum der Eintrag in deinem zweiten Beispiel blau hinterlegt ist, das sollte nicht passieren.

Neuwessi11 commented 3 years ago

Da kann ich leider nicht ganz folgen. Ein Problem ist, glaube ich, ein Missverständnis: Blau sollten eigentlich sowohl Roermond als auch Düsseldorf sein. 20210604_174503

Wenn ich nur destination:to= und destination:ref:to= mit jeweils einem einzelnen Wert tagge, kommt ja normalerweise ein blaues Autobahnhinweisschild heraus. Deswegen ist mir nicht ganz klar, wieso Du Dich über eine blaue Hinterlegung wunderst.

Halbwegs verstanden habe ich jetzt immerhin die Sache mit der Zuordnung, weshalb ich weiß, dass ein besseres Tagging wäre destination:ref:to=A 52;A52 Allerdings habe ich dann die A 52 zwei Mal. Ich hatte die Hoffnung, dass durch mein Tagging klar wäre, dass beide angegebene Orte zur A 52 gehören.

Als ich gerade nochmal versucht habe, mir den Unterschied zwischen destination= und destination:to= klarzumachen, ist mir beim Spielen in der Sandbox eine andere Sache aufgefallen. Folgende Konstellation:

highway = primary destination = Düsseldorf;Roermond destination:ref = A 52;B 227

Müsste da nicht nach der Zuordnungslogik auch "Roermond" gelb hinterlegt sein?

Neuwessi11 commented 3 years ago

Ich glaube, jetzt habe ich auch verstanden, warum es nicht blau hinterlegt sein sollte. Wenn die Anzahl nicht übereinstimmt, sollte die A 52 automatisch einen eigenen Eintrag auf dem Schild haben?

mueschel commented 3 years ago

Ich glaube, jetzt habe ich auch verstanden, warum es nicht blau hinterlegt sein sollte. Wenn die Anzahl nicht übereinstimmt, sollte die A 52 automatisch einen eigenen Eintrag auf dem Schild haben?

Exakt.

Ein Problem ist, glaube ich, ein Missverständnis: Blau sollten eigentlich sowohl Roermond als auch Düsseldorf sein.

Ok. Für eine solche Darstellung ist das OSM-Tagging nicht gerüstet.

Halbwegs verstanden habe ich jetzt immerhin die Sache mit der Zuordnung, weshalb ich weiß, dass ein besseres Tagging wäre destination:ref:to=A 52;A 52

Das würde ich auch empfehlen. Das Tagging ist ja nicht nur für die Darstellung von Schildern, sondern auch für's routing - und da muss die Beziehung von A52 zu beiden Zielen klar sein.

Das "zusammenlegen" der beiden Einträge wie auf dem Schild würde ich eher als künstlerische Freiheit bezeichnen, die eine Software natürlich auch umsetzen könnte. Teilweise mache ich so etwas ja auch, z.B. bei den Pfeilen von destination:arrow.

Als ich gerade nochmal versucht habe, mir den Unterschied zwischen destination= und destination:to= klarzumachen, ist mir beim Spielen in der Sandbox eine andere Sache aufgefallen. Folgende Konstellation: highway = primary destination = Düsseldorf;Roermond destination:ref = A 52;B 227 Müsste da nicht nach der Zuordnungslogik auch "Roermond" gelb hinterlegt sein?

Das automatische Einfärben auf Grund von destination:ref habe ich in DE nur für Autobahnen drin. Das könnte man sicher auch für Bundesstraßen machen, wenn das Schild blau ist. Ich würde aber empfehlen, die Farbe einfach explizit anzugeben: destination:colour = ;yellow

Neuwessi11 commented 3 years ago

Vielen Dank für die Tagging-Nachhilfe!

Habe schon das nächste Problem, bei dem mir wieder einmal nicht so richtig klar ist, was ich falsch gemacht habe. Folgendes Schild 20210612_195530 (2)

habe ich so getaggt:

highway = primary lanes = 3 destination:lanes = Willich|Mönchengladbach|Mönchengladbach destination:ref:to:lanes = |A 44;A 44|A 44;A 44 destination:to:lanes = |Aachen;Mönchengladbach|Aachen;Mönchengladbach turn:lanes = left|through|through

Das, was die Sandbox mir zeigt, hat nur teilweise etwas mit dem Schild zu tun, und ich habe keine Ahnung, warum. Kannst Du mir auf die Sprünge helfen?

Neuwessi11 commented 3 years ago

Oh, das ist mir jetzt ein wenig peinlich. Habe meinen Fehler gefunden: Habe in der Sandbox oneway = yes vergessen. Wenn ich das noch einfüge, passt es perfekt.

Sorry ...