Ich versuche einzelne Straßenabschnitte in einem Mapnik-Layer dynamisch einzufärben. Leider passiert NICHTS.
Was habe ich versucht?
Ich habe einen neuen Layer in osm.xml mit folgender Query definiert:
(select way,highway,osm_id
from &prefix;_roads
where highway is not null
order by z_order
) as roads
Die Ways adressiere ich über deren osm_id (da es um einzelnen Ways/Abschnitte geht und nicht die kompletten Straßen (Relationen).
Dazu gibt es einen Style:
[osm_id] = 4335435 or [osm_id] = 34689459 or [osm_id] = 47033945
&maxscale_zoom11;
&minscale_zoom8;
#000000
2.5
Ich starte generate_tiles, der rendert alles nur nicht meinen eingefärbten Straßenabschnitt
Was ich nicht verstehe: Wenn ich im selben Style den Filter [highway] = ‘motorway’ setze, dann geht es (nur färbt es dann natürlich alle Autobahnen ein…)
Wie funktioniert denn das Randering? Wenn ich mir z.B. die Styles roads-casing und roads ansehe, dann stehen zwar dort Linienfarben und -dicken aber nirgends, dass die Außenlinien einen Abstand haben und innen eine Füllung erfolgt…
Wo finde ich eine über Styles hinausgehende Dokumentation des Renderings von Straßen?
Hast du denn einen Layer definiert, der den Style “roads-black” benutzt?
Eventuell musst du die Zahlenwerte in ’ ’ oder " " setzen.
Bei mir lauten die Skalierungsgrenzen:
&maxscale_zoom7;
&minscale_zoom10;
also max und min genau andersrum.
Beispiel:
[admin_level]=‘4’
&maxscale_zoom7;
&minscale_zoom10;
red
2
1.0
EDIT: Mit road_casing wird ein breiter schwarzer Strich gemalt, mit roads kommt ein farbiger, weniger breiter Strich drüber. Das ist dann die “Füllung”. Alles andere würde bei Einmündungen häßlich aussehen.
Noch eine Frage zur Einfärbung:
Das mit der Hintergrundlinie und der Überfärbung als Füllung habe ich begriffen.
Was ist aber, wenn man die beiden Fahrtrichtungen einer Autobahn unterschiedlich einfärben möchte?
Ich habe keine Idee, wie ich die beiden Linien (richtungsabhängig) per Style so auseinander ziehen könnte, dass man sie z.B. bei Zoomstufe 10 oder 11 noch unterscheiden kann.