Class: QgsSvgMarkerSymbolLayer

A marker symbol layer which renders an SVG graphic.

Class Hierarchy

Inheritance diagram of qgis.core.QgsSvgMarkerSymbolLayer

Base classes

QgsMarkerSymbolLayer

Abstract base class for marker symbol layers.

QgsSymbolLayer

Abstract base class for symbol layers.

Methods

calculateAspectRatio

Calculates the marker aspect ratio between width and height.

defaultAspectRatio

Returns the default marker aspect ratio between width and height, 0 if not yet calculated.

fixedAspectRatio

Returns the marker aspect ratio between width and height to be used in rendering, if the value set is lower or equal to 0 the aspect ratio will be preserved in rendering

parameters

Returns the dynamic SVG parameters

path

Returns the marker SVG path.

preservedAspectRatio

Returns the preserved aspect ratio value, True if fixed aspect ratio has been lower or equal to 0.

setFixedAspectRatio

Set the marker aspect ratio between width and height to be used in rendering, if the value set is lower or equal to 0 the aspect ratio will be preserved in rendering

setParameters

Sets the dynamic SVG parameters

setPath

Set the marker SVG path.

setPreservedAspectRatio

Set preserved the marker aspect ratio between width and height.

setStrokeWidth

setStrokeWidthMapUnitScale

setStrokeWidthUnit

Sets the units for the stroke width.

strokeWidth

strokeWidthMapUnitScale

strokeWidthUnit

Returns the units for the stroke width.

updateDefaultAspectRatio

Calculates the default marker aspect ratio between width and height.

Static Methods

create

Creates the symbol

createFromSld

resolvePaths

Turns relative paths in properties map to absolute when reading and vice versa when writing.

class qgis.core.QgsSvgMarkerSymbolLayer[source]

Bases: QgsMarkerSymbolLayer

__init__(path: str | None, size: float = DEFAULT_SVGMARKER_SIZE, angle: float = DEFAULT_SVGMARKER_ANGLE, scaleMethod: Qgis.ScaleMethod = DEFAULT_SCALE_METHOD)

Constructs SVG marker symbol layer with picture from given absolute path to a SVG file

Parameters:
  • path (Optional[str])

  • size (float = DEFAULT_SVGMARKER_SIZE)

  • angle (float = DEFAULT_SVGMARKER_ANGLE)

  • scaleMethod (Qgis.ScaleMethod = DEFAULT_SCALE_METHOD)

calculateAspectRatio(self, context: QgsSymbolRenderContext, scaledSize: float)[source]

Calculates the marker aspect ratio between width and height.

Parameters:
  • context (QgsSymbolRenderContext) – symbol render context

  • scaledSize (float) -> (float) – size of symbol to render

  • hasDataDefinedAspectRatio – will be set to True if marker has data defined aspectRatio

static create(properties: Dict[str, Any] = {}) QgsSymbolLayer | None[source]

Creates the symbol

Parameters:

properties (Dict[str, Any] = {})

Return type:

Optional[QgsSymbolLayer]

static createFromSld(element: QDomElement) QgsSymbolLayer | None[source]
Parameters:

element (QDomElement)

Return type:

Optional[QgsSymbolLayer]

defaultAspectRatio(self) float[source]

Returns the default marker aspect ratio between width and height, 0 if not yet calculated.

Return type:

float

fixedAspectRatio(self) float[source]

Returns the marker aspect ratio between width and height to be used in rendering, if the value set is lower or equal to 0 the aspect ratio will be preserved in rendering

See also

QgsSvgCache

Return type:

float

parameters(self) Dict[str, QgsProperty]

Returns the dynamic SVG parameters

Added in version 3.18.

Return type:

Dict[str, QgsProperty]

path(self) str[source]

Returns the marker SVG path.

See also

setPath()

Return type:

str

preservedAspectRatio(self) bool[source]

Returns the preserved aspect ratio value, True if fixed aspect ratio has been lower or equal to 0.

Return type:

bool

static resolvePaths(properties: Dict[str, Any], pathResolver: QgsPathResolver, saving: bool)[source]

Turns relative paths in properties map to absolute when reading and vice versa when writing. Used internally when reading/writing symbols.

Parameters:
setFixedAspectRatio(self, ratio: float)[source]

Set the marker aspect ratio between width and height to be used in rendering, if the value set is lower or equal to 0 the aspect ratio will be preserved in rendering

Parameters:

ratio (float) – Fixed Aspect Ratio

See also

QgsSvgCache

setParameters(self, parameters: Dict[str | None, QgsProperty])[source]

Sets the dynamic SVG parameters

Added in version 3.18.

Parameters:

parameters (Dict[Optional[str], QgsProperty])

setPath(self, path: str | None)[source]

Set the marker SVG path.

Parameters:

path (Optional[str]) – SVG path

See also

path()

setPreservedAspectRatio(self, par: bool) bool[source]

Set preserved the marker aspect ratio between width and height.

Parameters:

par (bool) – Preserved Aspect Ratio

Return type:

bool

Returns:

the preserved aspect ratio value, True if fixed aspect ratio has been lower or equal to 0

setStrokeWidth(self, w: float)[source]
Parameters:

w (float)

setStrokeWidthMapUnitScale(self, scale: QgsMapUnitScale)[source]
Parameters:

scale (QgsMapUnitScale)

setStrokeWidthUnit(self, unit: Qgis.RenderUnit)[source]

Sets the units for the stroke width.

Parameters:

unit (Qgis.RenderUnit) – width units

strokeWidth(self) float[source]
Return type:

float

strokeWidthMapUnitScale(self) QgsMapUnitScale
Return type:

QgsMapUnitScale

strokeWidthUnit(self) Qgis.RenderUnit[source]

Returns the units for the stroke width.

Return type:

Qgis.RenderUnit

updateDefaultAspectRatio(self) float[source]

Calculates the default marker aspect ratio between width and height.

Return type:

float

Returns:

the default aspect ratio value