Regeln von Mapnik und Osmarender

Moin, ich habe schon etwas über die für die Slippymap verwendeten Renderern und deren Darstellungsregeln gelesen. Bevor ich im trac-System Fehlermeldungen oder Verbesserungsvorschläge abgebe, möchte ich noch einige Verständnisfragen klären. Bei Flüssen (und anderen Ojbekten) wäre es sehr nützlich, wenn die tatsächliche Breite in hohen Zoomstufen angezeigt würde. Sind Mapnik und Osmarender grundsäzlich in der Lage, einen Zahlenwert in die entsprechende Linienbreite umzusetzen? Geht es mit diskreten Werten (Wenn (Straße und lanes>=4) dann doppelte Linienbreite)? Bei Karten von tiles@home / Osmarender fehlen gelegendlich einige Objekte. Die fehlenden Objekte überschreiten dabei meist eine Kachelgrenze im Zoomlevel 12. Aktuell beobachte ich folgenden Fehler: http://www.informationfreeway.org/?lat=54.330879493410634&lon=10.110575793334277&zoom=16&layers=B0000F000F Ist dieses Problem bekannt? Außerdem finde ich es sehr schade, dass in der von Mapnik gezeichneten Slippymap ein “manmade=pier” nicht dargestellt wird. Es ist ein bedeutender Unterschied, ob ein großer Seglerhafen oder freies Wasser an der Küstenlinie ist. Fährlinien, die 50m vom Ufer entfernt beginnen, sind auch seltsam. Bei der Suche nach den Regeln für Mapnik bin ich auf die Datei http://trac.openstreetmap.org/browser/applications/rendering/mapnik/osm.xml mit folgendem Inhalt gestoßen:

 ... <Style name="leisure">     <Rule>       <Filter>[man_made] = 'pier'</Filter>       <MaxScaleDenominator>100000</MaxScaleDenominator>       <PolygonSymbolizer>         <CssParameter name="fill">#ededed</CssParameter>       </PolygonSymbolizer>       <LineSymbolizer>         <CssParameter name="stroke">grey</CssParameter>  <CssParameter name="stroke-width">0.3</CssParameter>       </LineSymbolizer>    </Rule> ...

Ist das die Konfigurationsdatei von Mapnik? Warum wird trotz dieser Regel ein Pier als lineare Struktur nicht angezeigt? Ich habe schon ein Beispiel gefunden, wo ein Pier als Fläche in der Mapnik-Slippymap dagestellt wird. Viele Grüße Stephan

Hallo Stephan, kennst Du die Seite über Seekarten ?

Dazu kannst Du width=###,# angeben (diskret ist nicht geeignet). Irgendwann werden die Renderer lernen es zu berücksichtigen.

Unabhängig von der Darstellung ist noch nicht klar, wie Hafenmauern dargestellt werden. Bisher ist es so: - die Pier als Befestigung der Küstenlinie bleibt eine Küstenlinie: natural=coastline - Wenn eine LandPier in eine Hafenmauer übergeht, ins Meer hinausragt, wird diese ebenfalls als Küstenlinie attributiert: Beispiel Warnemünde - Ein Wellenbrecher ohne “Landanschluss” ist *keine *Küstenlinie (aber was dann?) - man_made=pier wird verwendet für Schwimmsteg, und für Stege, die auf Pfählen (Holz/Beton) sitzen und unter denen das Wasser durchläuft. Gruss, Markus

Hallo Markus!

Es geht mir darum, wie das width-Tag behandelt wird. Meine Frage war, ob die die Renderer dieses Tags auswerten können, indem man kurz drei Zeilen in den Darstellungsregeln ergänzt oder ob dazu der Quellcode verändert werden muss.

Ich meinte die Stege in diesem Sinn. Ich halte sie für wichtig, weil sie - Verbindung zwischen Weg an Land und einer Fähre sind - aus einer mit Booten befahrbaren eine nicht befahrbare Strecke machen - das Anlegen von Sportbooten erlauben - die Uferstruktur deutlich ändern. Daher habe ich mit gefragt, warum sie nicht von Mapnik dargestellt werden. Für die Wellenbrecher gibt es einen Vorschlag, der leider nicht vorankommt: http://wiki.openstreetmap.org/index.php/Proposed_features/Breakwater Viele Grüße Stephan

Hallo Stephan,

Osmarender stellt river, stream und canal in passenden Breiten dar, wenn denn einen angegeben ist. Für Straßen habe ich es noch nicht ausprobiert. Mapnik ignorriert die width-Angabe bislang noch komplett. Ob es aufwendig ist das zu ändern weiß ich nicht. Grüßle, detlef