[Mapcss] Basic semantics

Thomas Davie tom.davie at gmail.com
Sun Feb 6 14:58:14 GMT 2011


I'm just getting going with a renderer that'll use MapCSS, and wanted to ask some questions about the very basics of the semantics.  The most important thing that I can't get fixed in my head at the moment is whether a MapCSS file specifies a bunch of statements that must be executed (causing the side effect of some map being rendered) in order, or whether it specifies a bunch of consistent rules that together can be queried to find the style of a particular {node | way | relation}.

The first case doesn't seem to make too much sense.  The limited documentation covers merging styles, and rendering as you meet a statement seems to preclude this (if it's on screen you can't merge the styles and render it again).

The second case doesn't seem to make much sense either though.  No method of evaluating the style of an object is specified.  Suppose one rule specifies to set tag a to x, while another specifies to set tag a to y.  Which takes precidence?  Suppose 3 other rules depend on (respectively) a not being set, a being x, and a being y, which of these rules apply?  When should styles be merged, and when should they be applied one on top of each other?

If someone could cover these basics I'd appreciate it.


Tom Davie

More information about the Mapcss mailing list