:sourcedir: ../../.. ==== MarkersSymbolizer The MarkersSymbolizer is similar to the PointSymbolizer, but has two advantages when used on a line or polygon: it can be drawn multiple times along a line automatically, and it's orientation is rotated according to the current direction of the line instead of always being upright. .MarkersSymbolizer Attributes [width="100%",options="header,unbreakable",cols="m,d,d,d"] |==================== | Attribute | Type | Default | Description | <> | file path | none | | base | string | none | name of a <<_filesource,>> to find the input file in | <> | float | 1.0 | Marker opacity for both fill and stroke | <> | float | 1.0 | Marker fill opacity | <> | float | 1.0 | Marker stroke opacity (only for internal markers) | <> | float | 0.5 | Marker stroke width (only for internal markers) | [line-through]#marker-type# | string | none | One of builtin types "ellipse" or "arrow", deprecated, use `file="shape://ellipse"` or `shape://arrow` instead. | <> | string | each | Where to put marker on multi part polygons: each, whole, largest | <> | float | 10 | Marker symbol width in pixels | <> | float | 10 | Marker symbol height in pixels | <> | string | point | Marker placement strategy: one of point, line, interior, vertex-first, vertex-last |==================== ===== Known Problems TODO: incomplete [WARNING] ==== The internal marker URIs like `shape://arrow` can't be used in combination with `base=...` as currently the base filesource also gets added in front of these special "files". https://github.com/mapnik/mapnik/issues/4183[(Mapnik issue #4183) ==== ===== See also: * https://github.com/mapnik/mapnik/wiki/MarkersSymbolizer[Mapnik Github Wiki] * http://mapnik.org/mapnik-reference/#3.0.22/markers[Mapnik Reference] ===== MarkersSymbolizer Examples .MarkersSymbolizer file [#example-markerssymbolizer-file] ==== [source,xml] ----- include::{sourcedir}/examples/Symbolizer/Markers/file.xml[] ----- image::examples/Symbolizer/Markers/file.svg[align="center"] ==== .MarkersSymbolizer opacity [#example-markerssymbolizer-opacity] ==== [source,xml] ----- include::{sourcedir}/examples/Symbolizer/Markers/opacity.xml[] ----- image::examples/Symbolizer/Markers/opacity.svg[align="center"] ==== .MarkersSymbolizer stroke opacity [#example-markerssymbolizer-stroke-opacity] ==== [source,xml] ----- include::{sourcedir}/examples/Symbolizer/Markers/stroke-opacity.xml[] ----- image::examples/Symbolizer/Markers/stroke-opacity.svg[align="center"] ==== .MarkersSymbolizer stroke width [#example-markerssymbolizer-stroke-width] ==== [source,xml] ----- include::{sourcedir}/examples/Symbolizer/Markers/stroke-width.xml[] ----- image::examples/Symbolizer/Markers/stroke-width.svg[align="center"] ==== .MarkersSymbolizer fill opacity [#example-markerssymbolizer-fill-opacity] ==== [source,xml] ----- include::{sourcedir}/examples/Symbolizer/Markers/fill-opacity.xml[] ----- image::examples/Symbolizer/Markers/fill-opacity.svg[align="center"] ==== .MarkersSymbolizer placement [#example-markerssymbolizer-placement] ==== [source,xml] ----- include::{sourcedir}/examples/Symbolizer/Markers/placement.xml[] ----- image::examples/Symbolizer/Markers/placement.svg[align="center"] ==== .MarkersSymbolizer width and height [#example-markerssymbolizer-width-height] ==== [source,xml] ----- include::{sourcedir}/examples/Symbolizer/Markers/width-height.xml[] ----- image::examples/Symbolizer/Markers/width-height.svg[align="center"] ==== .MarkersSymbolizer multi policy [#example-markerssymbolizer-multi-policy] ==== [source,xml] ----- include::{sourcedir}/examples/Symbolizer/Markers/multi-policy.xml[] ----- image::examples/Symbolizer/Markers/multi-policy.svg[align="center"] ====