Class: QgsMarkerSymbolLayer¶
Abstract base class for marker symbol layers.
Note
This is an abstract class, with methods which must be implemented by a subclass.
The following methods must be implemented: bounds()
, QgsSymbolLayer.clone()
, QgsSymbolLayer.layerType()
, QgsSymbolLayer.properties()
, renderPoint()
Class Hierarchy¶
Base classes¶
Abstract base class for symbol layers. |
Subclasses¶
Raster marker symbol layer class. |
|
A symbol layer for rendering objects with major and minor axis (e.g. ellipse, rectangle, etc). |
|
Abstract base class for simple marker symbol layers. |
|
A marker symbol layer which displays characters rendered using a font. |
|
Special symbol layer that uses its sub symbol as a selective mask. |
|
A marker symbol layer which renders an SVG graphic. |
|
A symbol layer class for displaying displacement arrows based on point layer attributes. |
Enums
Marker symbol horizontal anchor points. |
|
Marker symbol vertical anchor points. |
Abstract Methods
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. |
|
Renders a marker at the specified point. |
Methods
Returns the rotation angle for the marker, in degrees clockwise from north. |
|
Returns the horizontal anchor point for positioning the symbol. |
|
Calculates the required marker offset, including both the symbol offset and any displacement required to align with the marker's anchor point. |
|
Calculates the required marker offset, including both the symbol offset and any displacement required to align with the marker's anchor point. |
|
Calculates the required marker offset, including both the symbol offset and any displacement required to align with the marker's anchor point. |
|
Returns the marker's offset, which is the horizontal and vertical displacement which the rendered marker will have from the original feature's geometry. |
|
Returns the map unit scale for the symbol's offset. |
|
Returns the units for the symbol's offset. |
|
Returns the method to use for scaling the marker's size. |
|
Sets the rotation angle for the marker. |
|
Sets the horizontal anchor point for positioning the symbol. |
|
Sets the line angle modification for the symbol's angle. |
|
Sets the marker's offset, which is the horizontal and vertical displacement which the rendered marker should have from the original feature's geometry. |
|
Sets the map unit scale for the symbol's offset. |
|
Sets the units for the symbol's offset. |
|
Sets the method to use for scaling the marker's size. |
|
Sets the map unit scale for the symbol's size. |
|
Sets the units for the symbol's size. |
|
Sets the vertical anchor point for positioning the symbol. |
|
Returns the symbol size. |
|
Returns the map unit scale for the symbol's size. |
|
Returns the units for the symbol's size. |
|
Returns the vertical anchor point for positioning the symbol. |
Virtual Methods
In PyQGIS, only methods marked as virtual
can be safely overridden in a Python subclass of QgsMarkerSymbolLayer. See the FAQ for more details.
Sets the symbol size. |
|
Writes the symbol layer definition as a SLD XML element. |
- class qgis.core.QgsMarkerSymbolLayer[source]¶
Bases:
QgsSymbolLayer
- __init__(locked: bool = False)
Constructor for QgsMarkerSymbolLayer.
- Parameters:
locked (bool = False) – set to
True
to lock symbol color
- class HorizontalAnchorPoint(*values)¶
Bases:
IntEnum
Marker symbol horizontal anchor points.
Note
Prior to QGIS 3.44 this was available as
QgsMarkerSymbolLayer
.HorizontalAnchorPointAdded in version 3.44.
Left
: Align to left side of symbolCenter
: Align to horizontal center of symbolAvailable as
QgsMarkerSymbolLayer.HCenter
in older QGIS releases.Right
: Align to right side of symbol
- class VerticalAnchorPoint(*values)¶
Bases:
IntEnum
Marker symbol vertical anchor points.
Note
Prior to QGIS 3.44 this was available as
QgsMarkerSymbolLayer
.VerticalAnchorPointAdded in version 3.44.
Top
: Align to top of symbolCenter
: Align to vertical center of symbolAvailable as
QgsMarkerSymbolLayer.VCenter
in older QGIS releases.Bottom
: Align to bottom of symbolBaseline
: Align to baseline of symbol, e.g. font baseline for font marker symbol layers. Treated as Bottom if no baseline is available for the symbol layer type.Added in version 3.44.
- angle(self) float [source]¶
Returns the rotation angle for the marker, in degrees clockwise from north.
See also
- Return type:
float
- abstract bounds(self, point: QPointF | QPoint, context: QgsSymbolRenderContext) QRectF [source]¶
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
- Parameters:
point (Union[QPointF, QPoint])
context (QgsSymbolRenderContext)
- horizontalAnchorPoint(self) Qgis.HorizontalAnchorPoint [source]¶
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.
See also
See also
- Return type:
- markerOffset(self, context: QgsSymbolRenderContext)[source]¶
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
) -> (float) – symbol render contextoffsetX – will be set to required horizontal offset (in painter units)
offsetY – will be set to required vertical offset (in painter units)
- markerOffset2(self, context: QgsSymbolRenderContext, width: float, height: float, widthUnit: Qgis.RenderUnit, heightUnit: Qgis.RenderUnit, widthMapUnitScale: QgsMapUnitScale, heightMapUnitScale: QgsMapUnitScale)¶
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
widthUnit (Qgis.RenderUnit) – unit for marker width
heightUnit (Qgis.RenderUnit) – unit for marker height
offsetX – will be set to required horizontal offset (in painter units)
offsetY – will be set to required vertical offset (in painter units)
widthMapUnitScale (QgsMapUnitScale) – map unit scale for marker width
heightMapUnitScale (
QgsMapUnitScale
) -> (float) – map unit scale for marker height
- markerOffsetWithWidthAndHeight(self, context: QgsSymbolRenderContext, width: float, height: 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) -> (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)
- offset(self) QPointF [source]¶
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
See also
See also
- Return type:
QPointF
- offsetMapUnitScale(self) QgsMapUnitScale ¶
Returns the map unit scale for the symbol’s offset.
See also
See also
See also
- Return type:
- offsetUnit(self) Qgis.RenderUnit [source]¶
Returns the units for the symbol’s offset.
See also
See also
See also
- Return type:
- abstract renderPoint(self, point: QPointF | QPoint, context: QgsSymbolRenderContext)[source]¶
Renders a marker at the specified point. Derived classes must implement this to handle drawing the point.
- Parameters:
point (Union[QPointF, QPoint]) – position at which to render point, in painter units
context (QgsSymbolRenderContext) – symbol render context
- scaleMethod(self) Qgis.ScaleMethod [source]¶
Returns the method to use for scaling the marker’s size.
See also
- Return type:
- setAngle(self, angle: float)[source]¶
Sets the rotation angle for the marker.
- Parameters:
angle (float) – angle in degrees clockwise from north.
See also
See also
- setHorizontalAnchorPoint(self, h: Qgis.HorizontalAnchorPoint)[source]¶
Sets the horizontal anchor point for positioning the symbol.
- Parameters:
h (Qgis.HorizontalAnchorPoint) – anchor point. Symbol will be drawn so that the horizontal anchor point is aligned with the marker’s desired location.
See also
See also
- setLineAngle(self, lineAngle: float)[source]¶
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
See also
- setOffset(self, offset: QPointF | QPoint)[source]¶
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, QPoint]) – marker offset. Units are specified by
offsetUnit()
See also
See also
See also
- setOffsetMapUnitScale(self, scale: QgsMapUnitScale)[source]¶
Sets the map unit scale for the symbol’s offset.
- Parameters:
scale (QgsMapUnitScale) – offset map unit scale
See also
See also
See also
- setOffsetUnit(self, unit: Qgis.RenderUnit)[source]¶
Sets the units for the symbol’s offset.
- Parameters:
unit (Qgis.RenderUnit) – offset units
See also
See also
See also
- setScaleMethod(self, scaleMethod: Qgis.ScaleMethod)[source]¶
Sets the method to use for scaling the marker’s size.
- Parameters:
scaleMethod (Qgis.ScaleMethod) – scale method
See also
- virtual setSize(self, size: float)[source]¶
Sets the symbol size.
- Parameters:
size (float) – symbol size. Units are specified by
sizeUnit()
.
See also
See also
See also
- setSizeMapUnitScale(self, scale: QgsMapUnitScale)[source]¶
Sets the map unit scale for the symbol’s size.
- Parameters:
scale (QgsMapUnitScale) – size map unit scale
See also
See also
See also
- setSizeUnit(self, unit: Qgis.RenderUnit)[source]¶
Sets the units for the symbol’s size.
- Parameters:
unit (Qgis.RenderUnit) – size units
See also
See also
See also
- setVerticalAnchorPoint(self, v: Qgis.VerticalAnchorPoint)[source]¶
Sets the vertical anchor point for positioning the symbol.
- Parameters:
v (Qgis.VerticalAnchorPoint) – anchor point. Symbol will be drawn so that the vertical anchor point is aligned with the marker’s desired location.
See also
See also
- size(self) float [source]¶
Returns the symbol size. Units are specified by
sizeUnit()
.See also
See also
See also
- Return type:
float
- sizeMapUnitScale(self) QgsMapUnitScale ¶
Returns the map unit scale for the symbol’s size.
See also
See also
See also
- Return type:
- sizeUnit(self) Qgis.RenderUnit [source]¶
Returns the units for the symbol’s size.
See also
See also
See also
- Return type:
- verticalAnchorPoint(self) Qgis.VerticalAnchorPoint [source]¶
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.
See also
See also
- Return type:
- virtual writeSldMarker(self, doc: QDomDocument, element: QDomElement, props: Dict[str, Any])[source]¶
Writes the symbol layer definition as a SLD XML element.
- Parameters:
doc (QDomDocument) – XML document
element (QDomElement) – parent XML element
props (Dict[str, Any]) – symbol layer definition (see
properties()
)
Deprecated since version 3.44: Use the version with
QgsSldExportContext
instead.
- virtual writeSldMarker(self, doc: QDomDocument, element: QDomElement, context: QgsSldExportContext) bool [source]
Writes the symbol layer definition as a SLD XML element.
- Parameters:
doc (QDomDocument) – XML document
element (QDomElement) – parent XML element
context (
QgsSldExportContext
) – export context
Added in version 3.44.
- Return type:
bool