[josm-dev] MapCSS selector to match way in multiple relations
Martin Ždila
m.zdila at gmail.com
Thu Nov 3 18:01:44 GMT 2011
Hi Paul
Your solution works like a charm! Thank you. I hope I'll publish a new
stylesheet soon :-)
On Thu, Nov 3, 2011 at 5:20 PM, Paul Hartmann <phaaurlt at googlemail.com> wrote:
> On 11/03/2011 08:44 AM, Martin Ždila wrote:
>> Hello
>>
>> I'd like to create a MapCSS for hiking trails. In our country we use 4
>> colours to mark hiking trails. Some ways may be parts of multiple
>> trails. What I want is to draw parallel lines to such ways but not
>> with fixed offset for each color.
>>
>> I found that offset style must be an absolute value and so I need to
>> specify offset for all color combinations like this:
>>
>> relation[osmc:symbol^=red] > way::redLayer { color: red; offset: 5 }
>> relation[osmc:symbol^=green] > way::greenLayer { color: green; offset: 5 }
>> relation[osmc:symbol^=blue] > way::blueLayer { color: blue; offset: 5 }
>> relation[osmc:symbol^=yellow] > way::yellowLayer { color: yellow; offset: 5 }
>>
>> /* Following rules should override previous per layer: */
>> /* Following uses unsupported syntax: */
>>
>> relation[osmc:symbol^=red & osmc:symbol^=green ] > way::greenLayer {
>> offset: 10 }
>> relation[osmc:symbol^=red & osmc:symbol^=blue ] > way::greenBlue { offset: 10 }
>> relation[osmc:symbol^=red & osmc:symbol^=yellow ] > way::greenYellow {
>> offset: 10 }
>>
>> ... and many other combinations
>>
>> Is there a way to write it in some supported syntax? Or is there some
>> different way to render marked trails as I described?
>
> Hi Martin,
>
> try this [1]. Eval is no fun at the moment, because there is so little
> debugging output, but it should work.
>
> Paul
>
> [1]
>
> relation[osmc:symbol^=red] > way {
> red: true;
> }
> relation[osmc:symbol^=blue] > way {
> blue: true;
> }
> relation[osmc:symbol^=green] > way {
> green: true;
> }
>
> way::red_layer {
> offset: 0;
> }
> way[prop("red","default")]::red_layer {
> color: red;
> width: 3;
> offset: 5;
> }
>
> way::blue_layer {
> offset: prop("offset","red_layer");
> }
> way[prop("blue","default")]::blue_layer {
> color: blue;
> width: 3;
> offset: prop("offset","red_layer") + 5;
> }
>
> way::green_layer {
> offset: prop("offset","blue_layer");
> }
> way[prop("green","default")]::green_layer {
> color: green;
> width: 3;
> offset: prop("offset","blue_layer") + 5;
> }
>
> _______________________________________________
> josm-dev mailing list
> josm-dev at openstreetmap.org
> http://lists.openstreetmap.org/listinfo/josm-dev
>
--
Ing. Martin Ždila
tel:+421-908-363-848
mailto:martin at zdila.sk
http://www.zdila.sk/
More information about the josm-dev
mailing list