[Talk-de] Gute Relations-Erklärung

Henry Loenwind henry at loenwind.info
Di Mai 6 16:10:07 UTC 2008


Frederik Ramm wrote:
>> "zeichne eine grüne Linie 2,2 Pixel breit in 1,3 Pixel Abstand
>> rechts des Ways"?
> 
> Das kommt drauf an, ob einem irgendein gescheites SVG einfaellt, das das 
> erzeugt. Osmarender errechnet grundsaetzlich nur die Mittellinie des 

Auf so tiefer Ebene wird das schwierig. Das Problem ist vielleicht noch 
nicht mal so sehr die Linie, sondern die Kreuzungen. Und damit dann auch 
die Stellen an der der Way unterbrochen ist. Wenn man hier nur den 
einzelnen Way ansieht hat man Unterbrechungen und Überlappungen.

Also muss man zuerst die Wege zusammensetzen, die die gleiche Linie 
haben sollen. An Kreuzungen mit mehr als 2 Wegen mit der gleichen Linie 
muss man sich überlegen wie das aussehen soll. Im Zweifelsfall wird die 
Linie dann in die Kreuzungsmitte gezogen (und verschwindet so unter der 
Straße).

Auf freier Strecke muss man an jedem Node aus dem Winkel der beiden 
Linien zu den nächsten Nodes eine Richtung für einen Hilfspunkt 
berechnen, über den die Linie dann parallel zur eigentlich Strasse 
liegt. An Sackgassenenden berechnet man disen Punkt entweder senkrecht 
zu Straße, oder in 45° dazu und haut echten Node noch dazu 
(Pfeilspitze). An Kreuzungen s.o., wobei die "Pfeilspitzenmethode" hier 
auch recht gut aussehen würde.

Die ganze Winkelberechnung könnte man in einen Prepocessor auslagern, 
dann ließe sich der einmal geschriebene Code für mehrere Renderer 
benutzen. 1-2 Stunden Arbeit, würde ich sagen, wenn ich auf meinem 
Straßennamenpreprocessor aufbaue.

cu
Henry




Mehr Informationen über die Mailingliste Talk-de