Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Clone this wiki locally
Symbolizer that specifies rendering of a tiff, png or svg image as a directional marker.
Can be used as an alternative to a PointSymbolizer to give more control over positioning of the image.
|Name||Description||Default||Applies to SVG|
|allow-overlap||Allow the symbolizer to overlap others.||false||yes|
|spacing||Distance between markers in pixels.||100||yes|
|max-error||Maximum amount the marker can be move from its designated place to avoid collisions. This value is a fraction of "spacing", e.g. spacing = 100, max_error = 0.2 then the maximum the marker can be moved is 20pixels, if this is not enough it isn't drawn at all.||0.2||yes|
|file||The SVG file to use for the marker||built-in marker||yes|
|fill||Color of the marker fill, e.g. #FFFFFF.||blue||no|
|stroke||CSS colour - A Color value such as 'green' or #A3D979||black||no|
|stroke-width||0.0 - n - Width of outline in pixels||1.0||no|
|stroke-opacity||0.0 - 1.0 - 1 is fully opaque while zero is fully transparent and .5 would be 50% transparent||1.0||no|
|width||width of marker pixels||10||no|
|height||height of marker in pixels||10||no|
|placement||"point", "interior", "line", "vertex-first" (mapnik >= 3), "vertex-last" (mapnik >= 3)||line (mapnik <=2.0.x) point (mapnik >= 2.1)||no (todo)|
|ignore-placement||"true" or "false"||"false"||no (todo)|
|marker-type||"arrow" "ellipse"||"arrow" if line placement, "ellipse" if point placement||no|
It can be added to a Rule with line features like:
The MarkersSymbolizer should draw blue directional arrows in the direction of the geometry (for things like one-way streets).
In case you notice arrows pointing the wrong direction, this means that the segment has been coded in the wrong way.
The ST_reverse function of Postgis can fix this (The problem will then be to identify the geometries that need to be updated).
<MarkersSymbolizer spacing="100" file="/Users/artem/Desktop/svg/ladybird.svg" transform="translate(0 -16) scale(2.0)"/>
NEW: Starting from r2158 MarkersSymbolizer supports width/height/fill/stroke properties to dynamically draw circles (w == h) or ellipses (w != h) when no SVG file is supplied:
<MarkersSymbolizer fill="darkorange" opacity=".7" width="20" height="10" stroke="orange" stroke-width="7" stroke-opacity=".2" placement="point" marker-type="ellipse"/>
CAVEAT: these properties do not apply to SVG files, and SVG transforms are not supported for modifying ellipses (yet).
OSM currently renders one-way street arrows with Mapnik using several stacked instances of [LineSymbolizer] with varying dash-arrays, but could potentially use the MarkersSymbolizer in the future:
<LinePatternSymbolizer file="/home/mapnik/mapnik/symbols/arrow.png" type="png" width="74" height="8" />