[OSM-dev] Question about ShieldSymbolizer in template file
osm.list at randomjunk.co.uk
Thu May 29 10:47:37 BST 2008
On Wed, May 28, 2008 at 9:11 PM, Brian Peschel <brianp at occinc.com> wrote:
> I was looking at the template file osm-template.xml. In there I see a
> definition for a ShieldSymbolizer.
> <Style name="roads-text">
> <Filter>[highway] = 'motorway' and [length] = 1</Filter>
> <ShieldSymbolizer name="ref" face_name="DejaVu Sans Bold"
> size="11" fill="#809bc0" placement="line"
> file="%SYMBOLS_DIR%/motorway_shield1.png" type="png" width="17"
> height="17" min_distance="100"/>
> What interests me is the 'placement' attribute. (I am not sure if this
> should be in the mapnik mailing list or this one, but since it is the
> OSM template file, I am posting here). Looking at the mapnik source
> code for the load_map() method, this isn't supported. mapnik never
> reads this field out of the xml file.
> Since the shield_symbolizer class inherits from the text_symbolizer
> class, I know it can be set, it just isn't being done.
> Is this an oversight on the mapnik side? Or does this attribute have no
> meaning for a shield symbolizer and (probably) should be removed from
> the template file?
The mapnik renderer classes hard code the shield symbolizer to a point
placement. It doesn't really make much sense otherwise.
So yes, the placement attribute in the style file is redundant (and a
little misleading given it's set to line), and can be removed.
More information about the dev