Class: QgsTemplatedLineSymbolLayerBase

class qgis.core.QgsTemplatedLineSymbolLayerBase

Bases: QgsLineSymbolLayer

Base class for templated line symbols, e.g. line symbols which draw markers or hash lines at intervals along the line feature.

New in version 3.8.

QgsTemplatedLineSymbolLayerBase(rotateSymbol: bool = True, interval: float = 3) Constructor for QgsTemplatedLineSymbolLayerBase. Creates a template line placed at the specified interval (in millimeters).

The rotateSymbol argument specifies whether individual symbols should be rotated to match the line segment alignment.

Methods

averageAngleLength

Returns the length of line over which the line's direction is averaged when calculating individual symbol angles.

averageAngleMapUnitScale

Returns the map unit scale for the length over which the line's direction is averaged when calculating individual symbol angles.

averageAngleUnit

Returns the unit for the length over which the line's direction is averaged when calculating individual symbol angles.

canCauseArtifactsBetweenAdjacentTiles

rtype:

bool

copyDataDefinedProperties

Copies all data defined properties of this layer to another symbol layer.

copyPaintEffect

Copies paint effect of this layer to another symbol layer

copyTemplateSymbolProperties

Copies all common properties of this layer to another templated symbol layer.

interval

Returns the interval between individual symbols.

intervalMapUnitScale

Returns the map unit scale for the interval between symbols.

intervalUnit

Returns the units for the interval between symbols.

mapUnitScale

rtype:

QgsMapUnitScale

offsetAlongLine

Returns the offset along the line for the symbol placement.

offsetAlongLineMapUnitScale

Returns the map unit scale used for calculating the offset in map units along line for symbols.

offsetAlongLineUnit

Returns the unit used for calculating the offset along line for symbols.

outputUnit

rtype:

QgsUnitTypes.RenderUnit

placement

Returns the placement of the symbols.

properties

rtype:

Dict[str, Any]

renderPolygonStroke

param points:

renderPolyline

param points:

renderSymbol

Renders the templated symbol at the specified point, using the given render context.

restoreOldDataDefinedProperties

Restores older data defined properties from string map.

rotateSymbols

Returns True if the repeating symbols be rotated to match their line segment orientation.

setAverageAngleLength

Sets the length of line over which the line's direction is averaged when calculating individual symbol angles.

setAverageAngleMapUnitScale

Sets the map unit scale for the length over which the line's direction is averaged when calculating individual symbol angles.

setAverageAngleUnit

Sets the unit for the length over which the line's direction is averaged when calculating individual symbol angles.

setCommonProperties

Sets all common symbol properties in the destLayer, using the settings serialized in the properties map.

setInterval

Sets the interval between individual symbols.

setIntervalMapUnitScale

Sets the map unit scale for the interval between symbols.

setIntervalUnit

Sets the units for the interval between symbols.

setMapUnitScale

param scale:

setOffsetAlongLine

Sets the the offset along the line for the symbol placement.

setOffsetAlongLineMapUnitScale

Sets the map unit scale used for calculating the offset in map units along line for symbols.

setOffsetAlongLineUnit

Sets the unit used for calculating the offset along line for symbols.

setPlacement

Sets the placement of the symbols.

setRotateSymbols

Sets whether the repeating symbols should be rotated to match their line segment orientation.

setSymbolAngle

Sets the symbol's angle, in degrees clockwise.

setSymbolLineAngle

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

symbolAngle

Returns the symbol's current angle, in degrees clockwise.

Attributes

CentralPoint

CurvePoint

FirstVertex

Interval

LastVertex

SegmentCenter

Vertex

CentralPoint = 4
CurvePoint = 5
FirstVertex = 3
Interval = 0
LastVertex = 2
class Placement

Bases: int

SegmentCenter = 6
Vertex = 1
averageAngleLength(self) float

Returns the length of line over which the line’s direction is averaged when calculating individual symbol angles. Longer lengths smooth out angles from jagged lines to a greater extent.

Units are retrieved through averageAngleUnit()

Return type:

float

averageAngleMapUnitScale(self) QgsMapUnitScale

Returns the map unit scale for the length over which the line’s direction is averaged when calculating individual symbol angles.

Return type:

QgsMapUnitScale

averageAngleUnit(self) QgsUnitTypes.RenderUnit

Returns the unit for the length over which the line’s direction is averaged when calculating individual symbol angles.

Return type:

QgsUnitTypes.RenderUnit

canCauseArtifactsBetweenAdjacentTiles(self) bool
Return type:

bool

copyDataDefinedProperties(self, destLayer: QgsSymbolLayer)

Copies all data defined properties of this layer to another symbol layer.

Parameters:

destLayer – destination layer

copyPaintEffect(self, destLayer: QgsSymbolLayer)

Copies paint effect of this layer to another symbol layer

Parameters:

destLayer – destination layer

New in version 2.9.

copyTemplateSymbolProperties(self, destLayer: QgsTemplatedLineSymbolLayerBase)

Copies all common properties of this layer to another templated symbol layer.

Parameters:

destLayer (QgsTemplatedLineSymbolLayerBase) –

interval(self) float

Returns the interval between individual symbols. Units are specified through intervalUnits().

See also

setInterval()

See also

intervalUnit()

Return type:

float

intervalMapUnitScale(self) QgsMapUnitScale

Returns the map unit scale for the interval between symbols.

See also

intervalUnit()

See also

interval()

Return type:

QgsMapUnitScale

intervalUnit(self) QgsUnitTypes.RenderUnit

Returns the units for the interval between symbols.

See also

interval()

Return type:

QgsUnitTypes.RenderUnit

mapUnitScale(self) QgsMapUnitScale
Return type:

QgsMapUnitScale

offsetAlongLine(self) float

Returns the offset along the line for the symbol placement. For Interval placements, this is the distance between the start of the line and the first symbol. For FirstVertex and LastVertex placements, this is the distance between the symbol and the start of the line or the end of the line respectively. This setting has no effect for Vertex or CentralPoint placements.

Return type:

float

Returns:

The offset along the line. The unit for the offset is retrievable via offsetAlongLineUnit.

See also

placement()

offsetAlongLineMapUnitScale(self) QgsMapUnitScale

Returns the map unit scale used for calculating the offset in map units along line for symbols.

Return type:

QgsMapUnitScale

offsetAlongLineUnit(self) QgsUnitTypes.RenderUnit

Returns the unit used for calculating the offset along line for symbols.

Return type:

QgsUnitTypes.RenderUnit

Returns:

Offset along line unit type.

outputUnit(self) QgsUnitTypes.RenderUnit
Return type:

QgsUnitTypes.RenderUnit

placement(self) QgsTemplatedLineSymbolLayerBase.Placement

Returns the placement of the symbols.

See also

setPlacement()

Return type:

QgsTemplatedLineSymbolLayerBase.Placement

properties(self) Dict[str, Any]
Return type:

Dict[str, Any]

renderPolygonStroke(self, points: QPolygonF, rings: Iterable[QPolygonF], context: QgsSymbolRenderContext)
Parameters:
renderPolyline(self, points: QPolygonF, context: QgsSymbolRenderContext)
Parameters:
renderSymbol(self, point: QPointF | QPoint, feature: QgsFeature, context: QgsRenderContext, layer: int = -1, selected: bool = False)

Renders the templated symbol at the specified point, using the given render context.

The feature argument is used to pass the feature currently being rendered (when available).

If only a single symbol layer from the symbol should be rendered, it should be specified in the layer argument. A layer of -1 indicates that all symbol layers should be rendered.

If selected is True then the symbol will be drawn using the “selected feature” style and colors instead of the symbol’s normal style.

Parameters:
  • point (Union[QPointF) –

  • feature (QgsFeature) –

  • context (QgsRenderContext) –

  • layer (int = -1) –

  • selected (bool = False) –

restoreOldDataDefinedProperties(self, stringMap: Dict[str, Any])

Restores older data defined properties from string map.

New in version 3.0.

rotateSymbols(self) bool

Returns True if the repeating symbols be rotated to match their line segment orientation.

Return type:

bool

setAverageAngleLength(self, length: float)

Sets the length of line over which the line’s direction is averaged when calculating individual symbol angles. Longer lengths smooth out angles from jagged lines to a greater extent.

Units are set through setAverageAngleUnit()

Parameters:

length (float) –

setAverageAngleMapUnitScale(self, scale: QgsMapUnitScale)

Sets the map unit scale for the length over which the line’s direction is averaged when calculating individual symbol angles.

Parameters:

scale (QgsMapUnitScale) –

setAverageAngleUnit(self, unit: QgsUnitTypes.RenderUnit)

Sets the unit for the length over which the line’s direction is averaged when calculating individual symbol angles.

Parameters:

unit (QgsUnitTypes.RenderUnit) –

setCommonProperties(destLayer: QgsTemplatedLineSymbolLayerBase, properties: Dict[str, Any])

Sets all common symbol properties in the destLayer, using the settings serialized in the properties map.

Parameters:
setInterval(self, interval: float)

Sets the interval between individual symbols.

Parameters:

interval (float) – interval size. Units are specified through setIntervalUnit()

See also

interval()

setIntervalMapUnitScale(self, scale: QgsMapUnitScale)

Sets the map unit scale for the interval between symbols.

See also

setInterval()

Parameters:

scale (QgsMapUnitScale) –

setIntervalUnit(self, unit: QgsUnitTypes.RenderUnit)

Sets the units for the interval between symbols.

Parameters:

unit (QgsUnitTypes.RenderUnit) – interval units

See also

intervalUnit()

See also

setInterval()

setMapUnitScale(self, scale: QgsMapUnitScale)
Parameters:

scale (QgsMapUnitScale) –

setOffsetAlongLine(self, offsetAlongLine: float)

Sets the the offset along the line for the symbol placement. For Interval placements, this is the distance between the start of the line and the first symbol. For FirstVertex and LastVertex placements, this is the distance between the symbol and the start of the line or the end of the line respectively. This setting has no effect for Vertex or CentralPoint placements.

Parameters:

offsetAlongLine (float) – Distance to offset markers along the line. The offset unit is set via setOffsetAlongLineUnit.

See also

setPlacement()

setOffsetAlongLineMapUnitScale(self, scale: QgsMapUnitScale)

Sets the map unit scale used for calculating the offset in map units along line for symbols.

Parameters:

scale (QgsMapUnitScale) –

setOffsetAlongLineUnit(self, unit: QgsUnitTypes.RenderUnit)

Sets the unit used for calculating the offset along line for symbols.

Parameters:

unit (QgsUnitTypes.RenderUnit) – Offset along line unit type.

setPlacement(self, placement: QgsTemplatedLineSymbolLayerBase.Placement)

Sets the placement of the symbols.

See also

placement()

Parameters:

placement (QgsTemplatedLineSymbolLayerBase.Placement) –

setRotateSymbols(self, rotate: bool)

Sets whether the repeating symbols should be rotated to match their line segment orientation.

See also

rotateSymbols()

Parameters:

rotate (bool) –

setSymbolAngle(self, angle: float)

Sets the symbol’s angle, in degrees clockwise.

Parameters:

angle (float) –

setSymbolLineAngle(self, angle: float)

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

Parameters:

angle (float) – Angle in degrees, valid values are between 0 and 360

symbolAngle(self) float

Returns the symbol’s current angle, in degrees clockwise.

Return type:

float