Class: QgsMapSettings

class qgis.core.QgsMapSettings

Bases: sip.wrapper

The QgsMapSettings class contains configuration for rendering of the map. The rendering itself is done by QgsMapRendererJob subclasses.

In order to set up QgsMapSettings instance, it is necessary to set at least few members: extent, output size and layers.

Some systems use high DPI scaling that is an alternative to the traditional DPI scaling. The operating system provides Qt with a scaling ratio and it scales window, event, and desktop geometry. The Cocoa platform plugin sets the scaling ratio as QWindow.devicePixelRatio(). To properly render the map on such systems, the map settings device pixel ratio shall be set accordingly.

New in version 2.4: Enums

Methods

backgroundColor

Gets the background color of the map

customRenderFlags

Gets custom rendering flags.

destinationCrs

returns CRS of destination coordinate reference system

deviceOutputSize

Returns the device output size of the map canvas This is equivalent to the output size multiplicated by the device pixel ratio.

devicePixelRatio

Returns device pixel ratio Common values are 1 for normal-dpi displays and 2 for high-dpi “retina” displays.

ellipsoid

Returns ellipsoid’s acronym.

expressionContext

Gets the expression context.

extent

Returns geographical coordinates of the rectangle that should be rendered.

flags

Returns combination of flags used for rendering

fullExtent

returns current extent of layer set

hasValidSettings

Check whether the map settings are valid and can be used for rendering

labelBlockingRegions

Returns the list of regions to avoid placing labels within.

labelBoundaryGeometry

Returns the label boundary geometry, which restricts where in the rendered map labels are permitted to be placed.

labelingEngineSettings

Returns the global configuration of the labeling engine.

layerExtentToOutputExtent

transform bounding box from layer’s CRS to output CRS

layerIds

Gets list of layer IDs for map rendering The layers are stored in the reverse order of how they are rendered (layer with index 0 will be on top)

layerStyleOverrides

Gets map of map layer style overrides (key: layer ID, value: style name) where a different style should be used instead of the current one

layerToMapCoordinates

transform point coordinates from layer’s CRS to output CRS

layerToMapUnits

Computes an estimated conversion factor between layer and map units: layerUnits * layerToMapUnits = mapUnits

layerTransform

Returns the coordinate transform from layer’s CRS to destination CRS

layers

Gets list of layers for map rendering The layers are stored in the reverse order of how they are rendered (layer with index 0 will be on top)

magnificationFactor

Returns the magnification factor.

mapToLayerCoordinates

transform point coordinates from output CRS to layer’s CRS

mapToPixel

mapUnits

Gets units of map’s geographical coordinates - used for scale calculation

mapUnitsPerPixel

Returns the distance in geographical coordinates that equals to one pixel in the map

outputDpi

Returns DPI used for conversion between real world units (e.g.

outputExtentToLayerExtent

transform bounding box from output CRS to layer’s CRS

outputImageFormat

format of internal QImage, default QImage.Format_ARGB32_Premultiplied

outputSize

Returns the size of the resulting map image

pathResolver

Returns the path resolver for conversion between relative and absolute paths during rendering operations, e.g.

readXml

serialization */

rotation

Returns the rotation of the resulting map image, in degrees clockwise.

scale

Returns the calculated map scale.

segmentationTolerance

Gets the segmentation tolerance applied when rendering curved geometries

segmentationToleranceType

Gets segmentation tolerance type (maximum angle or maximum difference between curve and approximation)

selectionColor

Gets color that is used for drawing of selected vector features

setBackgroundColor

Sets the background color of the map

setCustomRenderFlags

Sets the custom rendering flags.

setDestinationCrs

sets destination coordinate reference system

setDevicePixelRatio

Sets the device pixel ratio Common values are 1 for normal-dpi displays and 2 for high-dpi “retina” displays.

setEllipsoid

Sets the ellipsoid by its acronym.

setExpressionContext

Sets the expression context.

setExtent

Set coordinates of the rectangle which should be rendered.

setFlag

Enable or disable a particular flag (other flags are not affected)

setFlags

Sets combination of flags that will be used for rendering

setLabelBlockingRegions

Sets a list of regions to avoid placing labels within.

setLabelBoundaryGeometry

Sets the label boundary geometry, which restricts where in the rendered map labels are permitted to be placed.

setLabelingEngineSettings

Sets the global configuration of the labeling engine.

setLayerStyleOverrides

Set map of map layer style overrides (key: layer ID, value: style name) where a different style should be used instead of the current one

setLayers

Set list of layers for map rendering.

setMagnificationFactor

Set the magnification factor.

setOutputDpi

Sets DPI used for conversion between real world units (e.g.

setOutputImageFormat

sets format of internal QImage

setOutputSize

Sets the size of the resulting map image

setPathResolver

Sets the path resolver for conversion between relative and absolute paths during rendering operations, e.g.

setRotation

Sets the rotation of the resulting map image, in degrees clockwise.

setSegmentationTolerance

Sets the segmentation tolerance applied when rendering curved geometries

setSegmentationToleranceType

Sets segmentation tolerance type (maximum angle or maximum difference between curve and approximation)

setSelectionColor

Sets color that is used for drawing of selected vector features

setTextRenderFormat

Sets the text render format, which dictates how text is rendered (e.g.

setTransformContext

Sets the coordinate transform context, which stores various information regarding which datum transforms should be used when transforming points from a source to destination coordinate reference system.

testFlag

Check whether a particular flag is enabled

textRenderFormat

Returns the text render format, which dictates how text is rendered (e.g.

transformContext

Returns the coordinate transform context, which stores various information regarding which datum transforms should be used when transforming points from a source to destination coordinate reference system.

updateDerived

visibleExtent

Returns the actual extent derived from requested extent that takes takes output image size into account

visiblePolygon

Returns the visible area as a polygon (may be rotated)

writeXml

Signals

Attributes

Antialiasing

DrawEditingInfo

DrawLabeling

DrawSelection

DrawSymbolBounds

ForceVectorOutput

RenderMapTile

RenderPartialOutput

RenderPreviewJob

UseAdvancedEffects

UseRenderingOptimization

Antialiasing = 1
DrawEditingInfo = 2
DrawLabeling = 16
DrawSelection = 64
DrawSymbolBounds = 128
class Flag

Bases: int

class Flags

Bases: sip.wrapper

QgsMapSettings.Flags(Union[QgsMapSettings.Flags, QgsMapSettings.Flag]) QgsMapSettings.Flags(QgsMapSettings.Flags)

ForceVectorOutput = 4
RenderMapTile = 256
RenderPartialOutput = 512
RenderPreviewJob = 1024
UseAdvancedEffects = 8
UseRenderingOptimization = 32
backgroundColor(self) → QColor

Gets the background color of the map

customRenderFlags(self) → str

Gets custom rendering flags. Layers might honour these to alter their rendering.

Returns

custom flags strings, separated by ‘;’

New in version 2.16.

destinationCrs(self) → QgsCoordinateReferenceSystem

returns CRS of destination coordinate reference system

deviceOutputSize(self) → QSize

Returns the device output size of the map canvas This is equivalent to the output size multiplicated by the device pixel ratio.

New in version 3.4.

devicePixelRatio(self) → float

Returns device pixel ratio Common values are 1 for normal-dpi displays and 2 for high-dpi “retina” displays.

New in version 3.4.

ellipsoid(self) → str

Returns ellipsoid’s acronym. Calculations will only use the ellipsoid if a valid ellipsoid has been set.

See also

setEllipsoid()

New in version 3.0.

expressionContext(self) → QgsExpressionContext

Gets the expression context. This context should be used for all expression evaluation associated with this map settings.

New in version 2.12.

extent(self) → QgsRectangle

Returns geographical coordinates of the rectangle that should be rendered. The actual visible extent used for rendering could be slightly different since the given extent may be expanded in order to fit the aspect ratio of output size. Use visibleExtent() to get the resulting extent.

flags(self) → QgsMapSettings.Flags

Returns combination of flags used for rendering

fullExtent(self) → QgsRectangle

returns current extent of layer set

hasValidSettings(self) → bool

Check whether the map settings are valid and can be used for rendering

labelBlockingRegions(self) → List[QgsLabelBlockingRegion]

Returns the list of regions to avoid placing labels within.

New in version 3.6.

labelBoundaryGeometry(self) → QgsGeometry

Returns the label boundary geometry, which restricts where in the rendered map labels are permitted to be placed. By default this is a null geometry, which indicates that labels can be placed anywhere within the map’s visiblePolygon().

The geometry is specified using the map’s destinationCrs().

New in version 3.6.

labelingEngineSettings(self) → QgsLabelingEngineSettings

Returns the global configuration of the labeling engine.

New in version 3.0.

layerExtentToOutputExtent(self, layer: QgsMapLayer, extent: QgsRectangle) → QgsRectangle

transform bounding box from layer’s CRS to output CRS

Returns

a bounding box (aligned rectangle) containing the transformed extent

layerIds(self) → List[str]

Gets list of layer IDs for map rendering The layers are stored in the reverse order of how they are rendered (layer with index 0 will be on top)

layerStyleOverrides(self) → Dict[str, str]

Gets map of map layer style overrides (key: layer ID, value: style name) where a different style should be used instead of the current one

New in version 2.8.

layerToMapCoordinates(self, layer: QgsMapLayer, point: QgsPointXY) → QgsPointXY

transform point coordinates from layer’s CRS to output CRS

Returns

the transformed point

layerToMapCoordinates(self, layer: QgsMapLayer, rect: QgsRectangle) -> QgsRectangle transform rectangle from layer’s CRS to output CRS

Returns

the transformed rectangle

layerToMapUnits(self, layer: QgsMapLayer, referenceExtent: QgsRectangle = QgsRectangle()) → float

Computes an estimated conversion factor between layer and map units: layerUnits * layerToMapUnits = mapUnits

Parameters
  • layer – The layer

  • referenceExtent – A reference extent based on which to perform the computation. If not specified, the layer extent is used

New in version 2.12.

layerTransform(self, layer: QgsMapLayer) → QgsCoordinateTransform

Returns the coordinate transform from layer’s CRS to destination CRS

Returns

transform - may be invalid if the transform is not needed

layers(self) → List[QgsMapLayer]

Gets list of layers for map rendering The layers are stored in the reverse order of how they are rendered (layer with index 0 will be on top)

magnificationFactor(self) → float

Returns the magnification factor.

New in version 2.16.

mapToLayerCoordinates(self, layer: QgsMapLayer, point: QgsPointXY) → QgsPointXY

transform point coordinates from output CRS to layer’s CRS

Returns

the transformed point

mapToLayerCoordinates(self, layer: QgsMapLayer, rect: QgsRectangle) -> QgsRectangle transform rectangle from output CRS to layer’s CRS

Returns

the transformed rectangle

mapToPixel(self) → QgsMapToPixel
mapUnits(self) → QgsUnitTypes.DistanceUnit

Gets units of map’s geographical coordinates - used for scale calculation

mapUnitsPerPixel(self) → float

Returns the distance in geographical coordinates that equals to one pixel in the map

outputDpi(self) → float

Returns DPI used for conversion between real world units (e.g. mm) and pixels Default value is 96

outputExtentToLayerExtent(self, layer: QgsMapLayer, extent: QgsRectangle) → QgsRectangle

transform bounding box from output CRS to layer’s CRS

Returns

a bounding box (aligned rectangle) containing the transformed extent

outputImageFormat(self) → QImage.Format

format of internal QImage, default QImage.Format_ARGB32_Premultiplied

outputSize(self) → QSize

Returns the size of the resulting map image

pathResolver(self) → QgsPathResolver

Returns the path resolver for conversion between relative and absolute paths during rendering operations, e.g. for resolving relative symbol paths.

New in version 3.0.

readXml(self, node: QDomNode)

serialization */

rotation(self) → float

Returns the rotation of the resulting map image, in degrees clockwise.

See also

setRotation()

New in version 2.8.

scale(self) → float

Returns the calculated map scale. The scale value indicates the scale denominator, e.g. 1000.0 for a 1:1000 map.

segmentationTolerance(self) → float

Gets the segmentation tolerance applied when rendering curved geometries

segmentationToleranceType(self) → QgsAbstractGeometry.SegmentationToleranceType

Gets segmentation tolerance type (maximum angle or maximum difference between curve and approximation)

selectionColor(self) → QColor

Gets color that is used for drawing of selected vector features

setBackgroundColor(self, color: Union[QColor, Qt.GlobalColor, QGradient])

Sets the background color of the map

setCustomRenderFlags(self, customRenderFlags: str)

Sets the custom rendering flags. Layers might honour these to alter their rendering.

Parameters

customRenderFlags – custom flags strings, separated by ‘;’

New in version 2.16.

setDestinationCrs(self, crs: QgsCoordinateReferenceSystem)

sets destination coordinate reference system

setDevicePixelRatio(self, dpr: float)

Sets the device pixel ratio Common values are 1 for normal-dpi displays and 2 for high-dpi “retina” displays.

New in version 3.4.

setEllipsoid(self, ellipsoid: str) → bool

Sets the ellipsoid by its acronym. Known ellipsoid acronyms can be retrieved using QgsEllipsoidUtils.acronyms() Calculations will only use the ellipsoid if a valid ellipsoid has been set.

Returns

true if ellipsoid was successfully set

See also

ellipsoid()

New in version 3.0.

setExpressionContext(self, context: QgsExpressionContext)

Sets the expression context. This context is used for all expression evaluation associated with this map settings.

New in version 2.12.

setExtent(self, rect: QgsRectangle, magnified: bool = True)

Set coordinates of the rectangle which should be rendered. The actual visible extent used for rendering could be slightly different since the given extent may be expanded in order to fit the aspect ratio of output size. Use visibleExtent() to get the resulting extent.

setFlag(self, flag: QgsMapSettings.Flag, on: bool = True)

Enable or disable a particular flag (other flags are not affected)

setFlags(self, flags: Union[QgsMapSettings.Flags, QgsMapSettings.Flag])

Sets combination of flags that will be used for rendering

setLabelBlockingRegions(self, regions: object)

Sets a list of regions to avoid placing labels within.

New in version 3.6.

setLabelBoundaryGeometry(self, boundary: QgsGeometry)

Sets the label boundary geometry, which restricts where in the rendered map labels are permitted to be placed.

A null boundary geometry (the default) indicates that labels can be placed anywhere within the map’s visiblePolygon().

The geometry is specified using the map’s destinationCrs().

New in version 3.6.

setLabelingEngineSettings(self, settings: QgsLabelingEngineSettings)

Sets the global configuration of the labeling engine.

Note

Calling this method will reset the textRenderFormat() to match the default text render format from the label engine settings.

New in version 3.0.

setLayerStyleOverrides(self, overrides: Dict[str, str])

Set map of map layer style overrides (key: layer ID, value: style name) where a different style should be used instead of the current one

New in version 2.8.

setLayers(self, layers: Iterable[QgsMapLayer])

Set list of layers for map rendering. The layers must be registered in QgsProject. The layers are stored in the reverse order of how they are rendered (layer with index 0 will be on top)

Note

Any non-spatial layers will be automatically stripped from the list (since they cannot be rendered!).

setMagnificationFactor(self, factor: float)

Set the magnification factor.

Parameters

factor – the factor of magnification

New in version 2.16.

setOutputDpi(self, dpi: float)

Sets DPI used for conversion between real world units (e.g. mm) and pixels

setOutputImageFormat(self, format: QImage.Format)

sets format of internal QImage

setOutputSize(self, size: QSize)

Sets the size of the resulting map image

setPathResolver(self, resolver: QgsPathResolver)

Sets the path resolver for conversion between relative and absolute paths during rendering operations, e.g. for resolving relative symbol paths.

See also

pathResolver()

New in version 3.0.

setRotation(self, rotation: float)

Sets the rotation of the resulting map image, in degrees clockwise.

See also

rotation()

New in version 2.8.

setSegmentationTolerance(self, tolerance: float)

Sets the segmentation tolerance applied when rendering curved geometries

Parameters

tolerance – the segmentation tolerance*

setSegmentationToleranceType(self, type: QgsAbstractGeometry.SegmentationToleranceType)

Sets segmentation tolerance type (maximum angle or maximum difference between curve and approximation)

Parameters

type – the segmentation tolerance typename*

setSelectionColor(self, color: Union[QColor, Qt.GlobalColor, QGradient])

Sets color that is used for drawing of selected vector features

setTextRenderFormat(self, format: QgsRenderContext.TextRenderFormat)

Sets the text render format, which dictates how text is rendered (e.g. as paths or real text objects).

Warning

Calling the setLabelingEngineSettings() method will reset the text render format to match the default text render format from the label engine settings.

New in version 3.4.3.

setTransformContext(self, context: QgsCoordinateTransformContext)

Sets the coordinate transform context, which stores various information regarding which datum transforms should be used when transforming points from a source to destination coordinate reference system.

New in version 3.0.

testFlag(self, flag: QgsMapSettings.Flag) → bool

Check whether a particular flag is enabled

textRenderFormat(self) → QgsRenderContext.TextRenderFormat

Returns the text render format, which dictates how text is rendered (e.g. as paths or real text objects).

New in version 3.4.3.

transformContext(self) → QgsCoordinateTransformContext

Returns the coordinate transform context, which stores various information regarding which datum transforms should be used when transforming points from a source to destination coordinate reference system.

New in version 3.0.

updateDerived(self)
visibleExtent(self) → QgsRectangle

Returns the actual extent derived from requested extent that takes takes output image size into account

visiblePolygon(self) → QPolygonF

Returns the visible area as a polygon (may be rotated)

New in version 2.8.

writeXml(self, node: QDomNode, doc: QDomDocument)