[Mapcss] "Layer" in MapCSS
me at komzpa.net
Fri Sep 27 13:09:10 UTC 2013
2013/9/19 Stephan Bösch-Plepelits <skunk at xover.htu.tuwien.ac.at>:
> On Wed, Sep 18, 2013 at 05:01:26PM +0300, Komяpa wrote:
>> In that case, "layer" is value of layer= tag, with default of 0. That
>> gives automagical perfect rendering of multi-level crossings.
>> Probably it should be changed somehow to kick this behaviour in from
>> stylesheet itself, but I haven't found a better solution.
> On Wed, Sep 18, 2013 at 03:10:58PM +0100, Richard Fairhurst wrote:
>> MapCSS has traditionally taken the attitude that stylesheet authors
>> shouldn't have to worry about this and has therefore automagically
>> abstracted them away.
> Yes, I guess for multi-level crossings this would work rather fine, but I
> can think of several scenarios where this could go so wrong:
> * Landuse-Polygons: Landuse-Polygons usually don't have a layer tag.
> With a default value of 0 they will be rendered after roads with a
> negative layer tag and therefore obstruct them.
In kothic that's solved by using -x-kot-layer: bottom.
plus, there's fill-position: background to put landuse polygons below
the line casings.
> * Same with polygons with a layer-tag - I can set a layer=10 on
> landuse=residential and obstruct the whole city :-)
> * On the OpenStreetBrowser basemap (which is not MapCSS - yet) I render
> road casings twice, first directly after the landuse polygons with
> linecap=round and the then on their respective layer with linecap=none.
That's interesting. Maybe we can change meaning of what casing= is, to
allow this behaviour by default?
> * I would render icons and labels always on the highest layer so as they
> don't get obstructed by other objects.
That's done already in Kothic.
More information about the Mapcss