Class: QgsMarkerSymbolLayer

class qgis.core.QgsMarkerSymbolLayer(locked: bool = False)

Bases: QgsSymbolLayer

Constructor for QgsMarkerSymbolLayer.

Parameters

locked (bool = False) – set to True to lock symbol color

Abstract base class for marker symbol layers.

Methods

angle

Returns the rotation angle for the marker, in degrees clockwise from north.

bounds

Returns the approximate bounding box of the marker symbol layer, taking into account any data defined overrides and offsets which are set for the marker layer.

copyDataDefinedProperties

copyPaintEffect

drawPreviewIcon

param context

horizontalAnchorPoint

Returns the horizontal anchor point for positioning the symbol.

mapUnitScale

rtype

QgsMapUnitScale

markerOffset

Calculates the required marker offset, including both the symbol offset and any displacement required to align with the marker’s anchor point.

markerOffset2

markerOffsetWithWidthAndHeight

Calculates the required marker offset, including both the symbol offset and any displacement required to align with the marker’s anchor point.

offset

Returns the marker’s offset, which is the horizontal and vertical displacement which the rendered marker will have from the original feature’s geometry.

offsetMapUnitScale

Returns the map unit scale for the symbol’s offset.

offsetUnit

Returns the units for the symbol’s offset.

outputUnit

rtype

QgsUnitTypes.RenderUnit

renderPoint

Renders a marker at the specified point.

restoreOldDataDefinedProperties

scaleMethod

Returns the method to use for scaling the marker’s size.

setAngle

Sets the rotation angle for the marker.

setHorizontalAnchorPoint

Sets the horizontal anchor point for positioning the symbol.

setLineAngle

Sets the line angle modification for the symbol’s angle.

setMapUnitScale

param scale

setOffset

Sets the marker’s offset, which is the horizontal and vertical displacement which the rendered marker should have from the original feature’s geometry.

setOffsetMapUnitScale

Sets the map unit scale for the symbol’s offset.

setOffsetUnit

Sets the units for the symbol’s offset.

setOutputUnit

param unit

setScaleMethod

Sets the method to use for scaling the marker’s size.

setSize

Sets the symbol size.

setSizeMapUnitScale

Sets the map unit scale for the symbol’s size.

setSizeUnit

Sets the units for the symbol’s size.

setVerticalAnchorPoint

Sets the vertical anchor point for positioning the symbol.

size

Returns the symbol size.

sizeMapUnitScale

Returns the map unit scale for the symbol’s size.

sizeUnit

Returns the units for the symbol’s size.

startRender

QgsMarkerSymbolLayer cannot be copied

stopRender

param context

toSld

param doc

verticalAnchorPoint

Returns the vertical anchor point for positioning the symbol.

writeSldMarker

Writes the symbol layer definition as a SLD XML element.

Attributes

Bottom

HCenter

Left

Right

Top

VCenter

Bottom = 2
HCenter = 1
class HorizontalAnchorPoint

Bases: int

Left = 0
Right = 2
Top = 0
VCenter = 1
class VerticalAnchorPoint

Bases: int

angle(self) → float

Returns the rotation angle for the marker, in degrees clockwise from north.

See also

setAngle()

Return type

float

bounds(self, point: Union[QPointF, QPoint], context: QgsSymbolRenderContext) → QRectF

Returns the approximate bounding box of the marker symbol layer, taking into account any data defined overrides and offsets which are set for the marker layer.

Return type

QRectF

Returns

approximate symbol bounds, in painter units

New in version 2.14.

Parameters
copyDataDefinedProperties()
copyPaintEffect()
drawPreviewIcon(self, context: QgsSymbolRenderContext, size: QSize)
Parameters
horizontalAnchorPoint(self) → QgsMarkerSymbolLayer.HorizontalAnchorPoint

Returns the horizontal anchor point for positioning the symbol. The symbol will be drawn so that the horizontal anchor point is aligned with the marker’s desired location.

Return type

QgsMarkerSymbolLayer.HorizontalAnchorPoint

mapUnitScale(self) → QgsMapUnitScale
Return type

QgsMapUnitScale

markerOffset(self, context: QgsSymbolRenderContext) → Tuple[float, float]

Calculates the required marker offset, including both the symbol offset and any displacement required to align with the marker’s anchor point.

Parameters
  • context (QgsSymbolRenderContext) – symbol render context

  • offsetX – will be set to required horizontal offset (in painter units)

  • offsetY – will be set to required vertical offset (in painter units)

Return type

Tuple[float, float]

markerOffset2(self, context: QgsSymbolRenderContext, width: float, height: float, widthUnit: QgsUnitTypes.RenderUnit, heightUnit: QgsUnitTypes.RenderUnit, widthMapUnitScale: QgsMapUnitScale, heightMapUnitScale: QgsMapUnitScale) → Tuple[float, float]

Note

available in Python bindings as markerOffset2

Parameters
Return type

Tuple[float, float]

markerOffsetWithWidthAndHeight(self, context: QgsSymbolRenderContext, width: float, height: float) → Tuple[float, float]

Calculates the required marker offset, including both the symbol offset and any displacement required to align with the marker’s anchor point.

Parameters
  • context (QgsSymbolRenderContext) – symbol render context

  • width (float) – marker width

  • height (float) – marker height

  • offsetX – will be set to required horizontal offset (in painter units)

  • offsetY – will be set to required vertical offset (in painter units)

Note

available in Python as markerOffsetWithWidthAndHeight

Return type

Tuple[float, float]

offset(self) → QPointF

Returns the marker’s offset, which is the horizontal and vertical displacement which the rendered marker will have from the original feature’s geometry. Units are specified by offsetUnit().

See also

setOffset()

See also

offsetUnit()

Return type

QPointF

offsetMapUnitScale(self) → QgsMapUnitScale

Returns the map unit scale for the symbol’s offset.

See also

offset()

See also

offsetUnit()

Return type

QgsMapUnitScale

offsetUnit(self) → QgsUnitTypes.RenderUnit

Returns the units for the symbol’s offset.

See also

setOffsetUnit()

See also

offset()

Return type

QgsUnitTypes.RenderUnit

outputUnit(self) → QgsUnitTypes.RenderUnit
Return type

QgsUnitTypes.RenderUnit

renderPoint(self, point: Union[QPointF, QPoint], context: QgsSymbolRenderContext)

Renders a marker at the specified point. Derived classes must implement this to handle drawing the point.

Parameters
  • point (Union[QPointF) – position at which to render point, in painter units

  • context (QgsSymbolRenderContext) – symbol render context

restoreOldDataDefinedProperties()
scaleMethod(self) → QgsSymbol.ScaleMethod

Returns the method to use for scaling the marker’s size.

See also

setScaleMethod()

Return type

QgsSymbol.ScaleMethod

setAngle(self, angle: float)

Sets the rotation angle for the marker.

Parameters

angle (float) – angle in degrees clockwise from north.

See also

angle()

See also

setLineAngle()

setHorizontalAnchorPoint(self, h: QgsMarkerSymbolLayer.HorizontalAnchorPoint)

Sets the horizontal anchor point for positioning the symbol.

Parameters

h (QgsMarkerSymbolLayer.HorizontalAnchorPoint) – anchor point. Symbol will be drawn so that the horizontal anchor point is aligned with the marker’s desired location.

setLineAngle(self, lineAngle: float)

Sets the line angle modification for the symbol’s angle. This angle is added to the marker’s rotation and data defined rotation before rendering the symbol, and is usually used for orienting symbols to match a line’s angle.

Parameters

lineAngle (float) – Angle in degrees clockwise from north, valid values are between 0 and 360

See also

setAngle()

See also

angle()

New in version 2.9.

setMapUnitScale(self, scale: QgsMapUnitScale)
Parameters

scale (QgsMapUnitScale) –

setOffset(self, offset: Union[QPointF, QPoint])

Sets the marker’s offset, which is the horizontal and vertical displacement which the rendered marker should have from the original feature’s geometry.

Parameters

offset (Union[QPointF) – marker offset. Units are specified by offsetUnit()

See also

offset()

See also

setOffsetUnit()

setOffsetMapUnitScale(self, scale: QgsMapUnitScale)

Sets the map unit scale for the symbol’s offset.

Parameters

scale (QgsMapUnitScale) – offset map unit scale

See also

setOffset()

See also

setOffsetUnit()

setOffsetUnit(self, unit: QgsUnitTypes.RenderUnit)

Sets the units for the symbol’s offset.

Parameters

unit (QgsUnitTypes.RenderUnit) – offset units

See also

offsetUnit()

See also

setOffset()

setOutputUnit(self, unit: QgsUnitTypes.RenderUnit)
Parameters

unit (QgsUnitTypes.RenderUnit) –

setScaleMethod(self, scaleMethod: QgsSymbol.ScaleMethod)

Sets the method to use for scaling the marker’s size.

Parameters

scaleMethod (QgsSymbol.ScaleMethod) – scale method

See also

scaleMethod()

setSize(self, size: float)

Sets the symbol size.

Parameters

size (float) – symbol size. Units are specified by sizeUnit().

See also

size()

See also

setSizeUnit()

setSizeMapUnitScale(self, scale: QgsMapUnitScale)

Sets the map unit scale for the symbol’s size.

Parameters

scale (QgsMapUnitScale) – size map unit scale

See also

setSize()

See also

setSizeUnit()

setSizeUnit(self, unit: QgsUnitTypes.RenderUnit)

Sets the units for the symbol’s size.

Parameters

unit (QgsUnitTypes.RenderUnit) – size units

See also

sizeUnit()

See also

setSize()

setVerticalAnchorPoint(self, v: QgsMarkerSymbolLayer.VerticalAnchorPoint)

Sets the vertical anchor point for positioning the symbol.

Parameters

v (QgsMarkerSymbolLayer.VerticalAnchorPoint) – anchor point. Symbol will be drawn so that the vertical anchor point is aligned with the marker’s desired location.

size(self) → float

Returns the symbol size. Units are specified by sizeUnit().

See also

setSize()

See also

sizeUnit()

Return type

float

sizeMapUnitScale(self) → QgsMapUnitScale

Returns the map unit scale for the symbol’s size.

See also

size()

See also

sizeUnit()

Return type

QgsMapUnitScale

sizeUnit(self) → QgsUnitTypes.RenderUnit

Returns the units for the symbol’s size.

See also

setSizeUnit()

See also

size()

Return type

QgsUnitTypes.RenderUnit

startRender(self, context: QgsSymbolRenderContext)

QgsMarkerSymbolLayer cannot be copied

Parameters

context (QgsSymbolRenderContext) –

stopRender(self, context: QgsSymbolRenderContext)
Parameters

context (QgsSymbolRenderContext) –

toSld(self, doc: QDomDocument, element: QDomElement, props: Dict[str, str])
Parameters
  • doc (QDomDocument) –

  • element (QDomElement) –

  • props (Dict[str) –

verticalAnchorPoint(self) → QgsMarkerSymbolLayer.VerticalAnchorPoint

Returns the vertical anchor point for positioning the symbol. The symbol will be drawn so that the vertical anchor point is aligned with the marker’s desired location.

Return type

QgsMarkerSymbolLayer.VerticalAnchorPoint

writeSldMarker(self, doc: QDomDocument, element: QDomElement, props: Dict[str, str])

Writes the symbol layer definition as a SLD XML element.

Parameters
  • doc (QDomDocument) – XML document

  • element (QDomElement) – parent XML element

  • props (Dict[str) – symbol layer definition (see properties())