QGIS API Documentation  3.16.0-Hannover (43b64b13f3)
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
QgsMapSettings Class Reference

The QgsMapSettings class contains configuration for rendering of the map. More...

#include <qgsmapsettings.h>

Inheritance diagram for QgsMapSettings:
Inheritance graph
[legend]

Public Types

enum  Flag {
  Antialiasing = 0x01, DrawEditingInfo = 0x02, ForceVectorOutput = 0x04, UseAdvancedEffects = 0x08,
  DrawLabeling = 0x10, UseRenderingOptimization = 0x20, DrawSelection = 0x40, DrawSymbolBounds = 0x80,
  RenderMapTile = 0x100, RenderPartialOutput = 0x200, RenderPreviewJob = 0x400, RenderBlocking = 0x800,
  LosslessImageRendering = 0x1000, Render3DMap = 0x2000
}
 Enumeration of flags that adjust the way the map is rendered. More...
 

Public Member Functions

 QgsMapSettings ()
 
void addClippingRegion (const QgsMapClippingRegion &region)
 Adds a new clipping region to the map settings. More...
 
void addRenderedFeatureHandler (QgsRenderedFeatureHandlerInterface *handler)
 Adds a rendered feature handler to use while rendering the map settings. More...
 
QColor backgroundColor () const
 Gets the background color of the map. More...
 
void clearCustomRenderingFlag (const QString &flag)
 Clears the specified custom rendering flag. More...
 
QList< QgsMapClippingRegionclippingRegions () const
 Returns the list of clipping regions to apply to the map. More...
 
Q_DECL_DEPRECATED QString customRenderFlags () const
 Gets custom rendering flags. More...
 
QVariantMap customRenderingFlags () const
 Gets custom rendering flags. More...
 
QgsCoordinateReferenceSystem destinationCrs () const
 returns CRS of destination coordinate reference system More...
 
QSize deviceOutputSize () const
 Returns the device output size of the map canvas This is equivalent to the output size multiplicated by the device pixel ratio. More...
 
float devicePixelRatio () const
 Returns device pixel ratio Common values are 1 for normal-dpi displays and 2 for high-dpi "retina" displays. More...
 
QString ellipsoid () const
 Returns ellipsoid's acronym. More...
 
const QgsExpressionContextexpressionContext () const
 Gets the expression context. More...
 
QgsRectangle extent () const
 Returns geographical coordinates of the rectangle that should be rendered. More...
 
double extentBuffer () const
 Returns the buffer in map units to use around the visible extent for rendering symbols whose corresponding geometries are outside the visible extent. More...
 
Flags flags () const
 Returns combination of flags used for rendering. More...
 
QgsRectangle fullExtent () const
 returns current extent of layer set More...
 
bool hasValidSettings () const
 Check whether the map settings are valid and can be used for rendering. More...
 
QList< QgsLabelBlockingRegionlabelBlockingRegions () const
 Returns the list of regions to avoid placing labels within. More...
 
QgsGeometry labelBoundaryGeometry () const
 Returns the label boundary geometry, which restricts where in the rendered map labels are permitted to be placed. More...
 
const QgsLabelingEngineSettingslabelingEngineSettings () const
 Returns the global configuration of the labeling engine. More...
 
QgsRectangle layerExtentToOutputExtent (const QgsMapLayer *layer, QgsRectangle extent) const
 transform bounding box from layer's CRS to output CRS More...
 
QStringList layerIds () const
 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) More...
 
QList< QgsMapLayer * > layers () const
 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) More...
 
QMap< QString, QString > layerStyleOverrides () const
 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. More...
 
QgsPoint layerToMapCoordinates (const QgsMapLayer *layer, const QgsPoint &point) const
 transform point coordinates from layer's CRS to output CRS More...
 
QgsPointXY layerToMapCoordinates (const QgsMapLayer *layer, QgsPointXY point) const
 transform point coordinates from layer's CRS to output CRS More...
 
QgsRectangle layerToMapCoordinates (const QgsMapLayer *layer, QgsRectangle rect) const
 transform rectangle from layer's CRS to output CRS More...
 
double layerToMapUnits (const QgsMapLayer *layer, const QgsRectangle &referenceExtent=QgsRectangle()) const
 Computes an estimated conversion factor between layer and map units: layerUnits * layerToMapUnits = mapUnits. More...
 
QgsCoordinateTransform layerTransform (const QgsMapLayer *layer) const
 Returns the coordinate transform from layer's CRS to destination CRS. More...
 
double magnificationFactor () const
 Returns the magnification factor. More...
 
QgsPoint mapToLayerCoordinates (const QgsMapLayer *layer, const QgsPoint &point) const
 transform point coordinates from output CRS to layer's CRS More...
 
QgsPointXY mapToLayerCoordinates (const QgsMapLayer *layer, QgsPointXY point) const
 transform point coordinates from output CRS to layer's CRS More...
 
QgsRectangle mapToLayerCoordinates (const QgsMapLayer *layer, QgsRectangle rect) const
 transform rectangle from output CRS to layer's CRS More...
 
const QgsMapToPixelmapToPixel () const
 
QgsUnitTypes::DistanceUnit mapUnits () const
 Gets units of map's geographical coordinates - used for scale calculation. More...
 
double mapUnitsPerPixel () const
 Returns the distance in geographical coordinates that equals to one pixel in the map. More...
 
double outputDpi () const
 Returns DPI used for conversion between real world units (e.g. More...
 
QgsRectangle outputExtentToLayerExtent (const QgsMapLayer *layer, QgsRectangle extent) const
 transform bounding box from output CRS to layer's CRS More...
 
QImage::Format outputImageFormat () const
 format of internal QImage, default QImage::Format_ARGB32_Premultiplied More...
 
QSize outputSize () const
 Returns the size of the resulting map image. More...
 
const QgsPathResolverpathResolver () const
 Returns the path resolver for conversion between relative and absolute paths during rendering operations, e.g. More...
 
void readXml (QDomNode &node)
 
QList< QgsRenderedFeatureHandlerInterface * > renderedFeatureHandlers () const
 Returns the list of rendered feature handlers to use while rendering the map settings. More...
 
double rotation () const
 Returns the rotation of the resulting map image, in degrees clockwise. More...
 
double scale () const
 Returns the calculated map scale. More...
 
double segmentationTolerance () const
 Gets the segmentation tolerance applied when rendering curved geometries. More...
 
QgsAbstractGeometry::SegmentationToleranceType segmentationToleranceType () const
 Gets segmentation tolerance type (maximum angle or maximum difference between curve and approximation) More...
 
QColor selectionColor () const
 Gets color that is used for drawing of selected vector features. More...
 
void setBackgroundColor (const QColor &color)
 Sets the background color of the map. More...
 
void setClippingRegions (const QList< QgsMapClippingRegion > &regions)
 Sets the list of clipping regions to apply to the map. More...
 
Q_DECL_DEPRECATED void setCustomRenderFlags (const QString &customRenderFlags)
 Sets the custom rendering flags. More...
 
void setCustomRenderingFlag (const QString &flag, const QVariant &value)
 Sets a custom rendering flag. More...
 
void setDestinationCrs (const QgsCoordinateReferenceSystem &crs)
 sets destination coordinate reference system More...
 
void setDevicePixelRatio (float dpr)
 Sets the device pixel ratio Common values are 1 for normal-dpi displays and 2 for high-dpi "retina" displays. More...
 
bool setEllipsoid (const QString &ellipsoid)
 Sets the ellipsoid by its acronym. More...
 
void setExpressionContext (const QgsExpressionContext &context)
 Sets the expression context. More...
 
void setExtent (const QgsRectangle &rect, bool magnified=true)
 Set coordinates of the rectangle which should be rendered. More...
 
void setExtentBuffer (double buffer)
 Sets the buffer in map units to use around the visible extent for rendering symbols whose corresponding geometries are outside the visible extent. More...
 
void setFlag (Flag flag, bool on=true)
 Enable or disable a particular flag (other flags are not affected) More...
 
void setFlags (QgsMapSettings::Flags flags)
 Sets combination of flags that will be used for rendering. More...
 
void setLabelBlockingRegions (const QList< QgsLabelBlockingRegion > &regions)
 Sets a list of regions to avoid placing labels within. More...
 
void setLabelBoundaryGeometry (const QgsGeometry &boundary)
 Sets the label boundary geometry, which restricts where in the rendered map labels are permitted to be placed. More...
 
void setLabelingEngineSettings (const QgsLabelingEngineSettings &settings)
 Sets the global configuration of the labeling engine. More...
 
void setLayers (const QList< QgsMapLayer * > &layers)
 Set list of layers for map rendering. More...
 
void setLayerStyleOverrides (const QMap< QString, QString > &overrides)
 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. More...
 
void setMagnificationFactor (double factor, const QgsPointXY *center=nullptr)
 Set the magnification factor. More...
 
void setOutputDpi (double dpi)
 Sets DPI used for conversion between real world units (e.g. mm) and pixels. More...
 
void setOutputImageFormat (QImage::Format format)
 sets format of internal QImage More...
 
void setOutputSize (QSize size)
 Sets the size of the resulting map image. More...
 
void setPathResolver (const QgsPathResolver &resolver)
 Sets the path resolver for conversion between relative and absolute paths during rendering operations, e.g. More...
 
void setRotation (double rotation)
 Sets the rotation of the resulting map image, in degrees clockwise. More...
 
void setSegmentationTolerance (double tolerance)
 Sets the segmentation tolerance applied when rendering curved geometries. More...
 
void setSegmentationToleranceType (QgsAbstractGeometry::SegmentationToleranceType type)
 Sets segmentation tolerance type (maximum angle or maximum difference between curve and approximation) More...
 
void setSelectionColor (const QColor &color)
 Sets color that is used for drawing of selected vector features. More...
 
void setSimplifyMethod (const QgsVectorSimplifyMethod &method)
 Sets the simplification setting to use when rendering vector layers. More...
 
void setTextRenderFormat (QgsRenderContext::TextRenderFormat format)
 Sets the text render format, which dictates how text is rendered (e.g. More...
 
void setTransformContext (const QgsCoordinateTransformContext &context)
 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. More...
 
const QgsVectorSimplifyMethodsimplifyMethod () const
 Returns the simplification settings to use when rendering vector layers. More...
 
bool testFlag (Flag flag) const
 Check whether a particular flag is enabled. More...
 
QgsRenderContext::TextRenderFormat textRenderFormat () const
 Returns the text render format, which dictates how text is rendered (e.g. More...
 
QgsCoordinateTransformContext transformContext () const
 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. More...
 
QgsRectangle visibleExtent () const
 Returns the actual extent derived from requested extent that takes takes output image size into account. More...
 
QPolygonF visiblePolygon () const
 Returns the visible area as a polygon (may be rotated) More...
 
void writeXml (QDomNode &node, QDomDocument &doc)
 
- Public Member Functions inherited from QgsTemporalRangeObject
 QgsTemporalRangeObject (bool enabled=false)
 Constructor QgsTemporalRangeObject. More...
 
virtual ~QgsTemporalRangeObject ()=default
 
bool isTemporal () const
 Returns true if the object's temporal range is enabled, and the object will be filtered when rendering maps with a specific time range set. More...
 
void setIsTemporal (bool enabled)
 Sets whether the temporal range is enabled (i.e. More...
 
void setTemporalRange (const QgsDateTimeRange &range)
 Sets the temporal range for the object. More...
 
const QgsDateTimeRange & temporalRange () const
 Returns the datetime range for the object. More...
 

Protected Member Functions

void updateDerived ()
 

Protected Attributes

QColor mBackgroundColor
 
QString mCustomRenderFlags
 
QVariantMap mCustomRenderingFlags
 
QgsCoordinateReferenceSystem mDestCRS
 
float mDevicePixelRatio = 1.0
 
double mDpi
 
QString mEllipsoid
 ellipsoid acronym (from table tbl_ellipsoids) More...
 
QgsExpressionContext mExpressionContext
 
QgsRectangle mExtent
 
double mExtentBuffer = 0.0
 
Flags mFlags
 
QImage::Format mImageFormat = QImage::Format_ARGB32_Premultiplied
 
QgsGeometry mLabelBoundaryGeometry
 
QgsLabelingEngineSettings mLabelingEngineSettings
 
QgsWeakMapLayerPointerList mLayers
 list of layers to be rendered (stored as weak pointers) More...
 
QMap< QString, QString > mLayerStyleOverrides
 
double mMagnificationFactor = 1.0
 
QgsMapToPixel mMapToPixel
 
double mMapUnitsPerPixel = 1
 
QgsPathResolver mPathResolver
 
double mRotation = 0.0
 
double mScale = 1
 
QgsScaleCalculator mScaleCalculator
 
double mSegmentationTolerance
 
QgsAbstractGeometry::SegmentationToleranceType mSegmentationToleranceType = QgsAbstractGeometry::MaximumAngle
 
QColor mSelectionColor
 
QgsVectorSimplifyMethod mSimplifyMethod
 
QSize mSize
 
QgsRenderContext::TextRenderFormat mTextRenderFormat = QgsRenderContext::TextFormatAlwaysOutlines
 
QgsCoordinateTransformContext mTransformContext
 
bool mValid = false
 Whether the actual settings are valid (set in updateDerived()) More...
 
QgsRectangle mVisibleExtent
 Extent with some additional white space that matches the output aspect ratio. More...
 

Detailed Description

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.

Since
QGIS 2.4

Definition at line 87 of file qgsmapsettings.h.

Member Enumeration Documentation

◆ Flag

Enumeration of flags that adjust the way the map is rendered.

Enumerator
Antialiasing 

Enable anti-aliasing for map rendering.

DrawEditingInfo 

Enable drawing of vertex markers for layers in editing mode.

ForceVectorOutput 

Vector graphics should not be cached and drawn as raster images.

UseAdvancedEffects 

Enable layer opacity and blending effects.

DrawLabeling 

Enable drawing of labels on top of the map.

UseRenderingOptimization 

Enable vector simplification and other rendering optimizations.

DrawSelection 

Whether vector selections should be shown in the rendered map.

DrawSymbolBounds 

Draw bounds of symbols (for debugging/testing)

RenderMapTile 

Draw map such that there are no problems between adjacent tiles.

RenderPartialOutput 

Whether to make extra effort to update map image with partially rendered layers (better for interactive map canvas). Added in QGIS 3.0.

RenderPreviewJob 

Render is a 'canvas preview' render, and shortcuts should be taken to ensure fast rendering.

RenderBlocking 

Render and load remote sources in the same thread to ensure rendering remote sources (svg and images). WARNING: this flag must NEVER be used from GUI based applications (like the main QGIS application) or crashes will result. Only for use in external scripts or QGIS server.

LosslessImageRendering 

Render images losslessly whenever possible, instead of the default lossy jpeg rendering used for some destination devices (e.g. PDF). This flag only works with builds based on Qt 5.13 or later.

Render3DMap 

Render is for a 3D map.

Definition at line 301 of file qgsmapsettings.h.

Constructor & Destructor Documentation

◆ QgsMapSettings()

QgsMapSettings::QgsMapSettings ( )

Definition at line 34 of file qgsmapsettings.cpp.

Member Function Documentation

◆ addClippingRegion()

void QgsMapSettings::addClippingRegion ( const QgsMapClippingRegion region)

Adds a new clipping region to the map settings.

See also
clippingRegions()
setClippingRegions()
Since
QGIS 3.16

Definition at line 726 of file qgsmapsettings.cpp.

◆ addRenderedFeatureHandler()

void QgsMapSettings::addRenderedFeatureHandler ( QgsRenderedFeatureHandlerInterface handler)

Adds a rendered feature handler to use while rendering the map settings.

Ownership of handler is NOT transferred, and it is the caller's responsibility to ensure that the handler exists for the lifetime of the map render job.

See also
renderedFeatureHandlers()
Since
QGIS 3.10

Definition at line 741 of file qgsmapsettings.cpp.

◆ backgroundColor()

QColor QgsMapSettings::backgroundColor ( ) const
inline

Gets the background color of the map.

Definition at line 293 of file qgsmapsettings.h.

◆ clearCustomRenderingFlag()

void QgsMapSettings::clearCustomRenderingFlag ( const QString &  flag)
inline

Clears the specified custom rendering flag.

Parameters
flagthe flag name
See also
setCustomRenderingFlag()
Since
QGIS 3.12

Definition at line 262 of file qgsmapsettings.h.

◆ clippingRegions()

QList< QgsMapClippingRegion > QgsMapSettings::clippingRegions ( ) const

Returns the list of clipping regions to apply to the map.

See also
addClippingRegion()
setClippingRegions()
Since
QGIS 3.16

Definition at line 736 of file qgsmapsettings.cpp.

◆ customRenderFlags()

Q_DECL_DEPRECATED QString QgsMapSettings::customRenderFlags ( ) const
inline

Gets custom rendering flags.

Layers might honour these to alter their rendering.

Returns
custom flags strings, separated by ';'
See also
setCustomRenderFlags()
Since
QGIS 2.16
Deprecated:
use
See also
customRenderingFlags().

Definition at line 228 of file qgsmapsettings.h.

◆ customRenderingFlags()

QVariantMap QgsMapSettings::customRenderingFlags ( ) const
inline

Gets custom rendering flags.

Layers might honour these to alter their rendering.

Returns
a map of custom flags
See also
setCustomRenderingFlag()
Since
QGIS 3.12

Definition at line 245 of file qgsmapsettings.h.

◆ destinationCrs()

QgsCoordinateReferenceSystem QgsMapSettings::destinationCrs ( ) const

returns CRS of destination coordinate reference system

Definition at line 318 of file qgsmapsettings.cpp.

◆ deviceOutputSize()

QSize QgsMapSettings::deviceOutputSize ( ) const

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

Since
QGIS 3.4

Definition at line 258 of file qgsmapsettings.cpp.

◆ devicePixelRatio()

float QgsMapSettings::devicePixelRatio ( ) const

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

Since
QGIS 3.4

Definition at line 247 of file qgsmapsettings.cpp.

◆ ellipsoid()

QString QgsMapSettings::ellipsoid ( ) const
inline

Returns ellipsoid's acronym.

Calculations will only use the ellipsoid if a valid ellipsoid has been set.

See also
setEllipsoid()
Since
QGIS 3.0

Definition at line 288 of file qgsmapsettings.h.

◆ expressionContext()

const QgsExpressionContext& QgsMapSettings::expressionContext ( ) const
inline

Gets the expression context.

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

See also
setExpressionContext()
Since
QGIS 2.12

Definition at line 396 of file qgsmapsettings.h.

◆ extent()

QgsRectangle QgsMapSettings::extent ( ) const

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.

Definition at line 74 of file qgsmapsettings.cpp.

◆ extentBuffer()

double QgsMapSettings::extentBuffer ( ) const

Returns the buffer in map units to use around the visible extent for rendering symbols whose corresponding geometries are outside the visible extent.

See also
setExtentBuffer()
Since
QGIS 3.10

Definition at line 91 of file qgsmapsettings.cpp.

◆ flags()

QgsMapSettings::Flags QgsMapSettings::flags ( ) const

Returns combination of flags used for rendering.

Definition at line 350 of file qgsmapsettings.cpp.

◆ fullExtent()

QgsRectangle QgsMapSettings::fullExtent ( ) const

returns current extent of layer set

Definition at line 592 of file qgsmapsettings.cpp.

◆ hasValidSettings()

bool QgsMapSettings::hasValidSettings ( ) const

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

Definition at line 366 of file qgsmapsettings.cpp.

◆ labelBlockingRegions()

QList< QgsLabelBlockingRegion > QgsMapSettings::labelBlockingRegions ( ) const
inline

Returns the list of regions to avoid placing labels within.

See also
setLabelBlockingRegions()
labelBoundaryGeometry()
Since
QGIS 3.6

Definition at line 598 of file qgsmapsettings.h.

◆ labelBoundaryGeometry()

QgsGeometry QgsMapSettings::labelBoundaryGeometry ( ) const

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().

See also
setLabelBoundaryGeometry()
labelBlockingRegions()
Since
QGIS 3.6

Definition at line 716 of file qgsmapsettings.cpp.

◆ labelingEngineSettings()

const QgsLabelingEngineSettings& QgsMapSettings::labelingEngineSettings ( ) const
inline

Returns the global configuration of the labeling engine.

See also
setLabelingEngineSettings()
Since
QGIS 3.0

Definition at line 554 of file qgsmapsettings.h.

◆ layerExtentToOutputExtent()

QgsRectangle QgsMapSettings::layerExtentToOutputExtent ( const QgsMapLayer layer,
QgsRectangle  extent 
) const

transform bounding box from layer's CRS to output CRS

See also
layerToMapCoordinates( const QgsMapLayer *, QgsRectangle ) const if you want to transform a rectangle
Returns
a bounding box (aligned rectangle) containing the transformed extent

Definition at line 433 of file qgsmapsettings.cpp.

◆ layerIds()

QStringList QgsMapSettings::layerIds ( ) const

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)

Definition at line 276 of file qgsmapsettings.cpp.

◆ layers()

QList< QgsMapLayer * > QgsMapSettings::layers ( ) const

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)

Definition at line 282 of file qgsmapsettings.cpp.

◆ layerStyleOverrides()

QMap< QString, QString > QgsMapSettings::layerStyleOverrides ( ) const

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.

Since
QGIS 2.8

Definition at line 300 of file qgsmapsettings.cpp.

◆ layerToMapCoordinates() [1/3]

QgsPoint QgsMapSettings::layerToMapCoordinates ( const QgsMapLayer layer,
const QgsPoint point 
) const

transform point coordinates from layer's CRS to output CRS

Returns
the transformed point
Since
QGIS 3.16

Definition at line 499 of file qgsmapsettings.cpp.

◆ layerToMapCoordinates() [2/3]

QgsPointXY QgsMapSettings::layerToMapCoordinates ( const QgsMapLayer layer,
QgsPointXY  point 
) const

transform point coordinates from layer's CRS to output CRS

Returns
the transformed point

Definition at line 483 of file qgsmapsettings.cpp.

◆ layerToMapCoordinates() [3/3]

QgsRectangle QgsMapSettings::layerToMapCoordinates ( const QgsMapLayer layer,
QgsRectangle  rect 
) const

transform rectangle from layer's CRS to output CRS

See also
layerExtentToOutputExtent() if you want to transform a bounding box
Returns
the transformed rectangle

Definition at line 520 of file qgsmapsettings.cpp.

◆ layerToMapUnits()

double QgsMapSettings::layerToMapUnits ( const QgsMapLayer layer,
const QgsRectangle referenceExtent = QgsRectangle() 
) const

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

Parameters
layerThe layer
referenceExtentA reference extent based on which to perform the computation. If not specified, the layer extent is used
Since
QGIS 2.12

Definition at line 427 of file qgsmapsettings.cpp.

◆ layerTransform()

QgsCoordinateTransform QgsMapSettings::layerTransform ( const QgsMapLayer layer) const

Returns the coordinate transform from layer's CRS to destination CRS.

Returns
transform - may be invalid if the transform is not needed

Definition at line 419 of file qgsmapsettings.cpp.

◆ magnificationFactor()

double QgsMapSettings::magnificationFactor ( ) const

Returns the magnification factor.

See also
setMagnificationFactor()
Since
QGIS 2.16

Definition at line 69 of file qgsmapsettings.cpp.

◆ mapToLayerCoordinates() [1/3]

QgsPoint QgsMapSettings::mapToLayerCoordinates ( const QgsMapLayer layer,
const QgsPoint point 
) const

transform point coordinates from output CRS to layer's CRS

Returns
the transformed point
Since
QGIS 3.16

Definition at line 553 of file qgsmapsettings.cpp.

◆ mapToLayerCoordinates() [2/3]

QgsPointXY QgsMapSettings::mapToLayerCoordinates ( const QgsMapLayer layer,
QgsPointXY  point 
) const

transform point coordinates from output CRS to layer's CRS

Returns
the transformed point

Definition at line 537 of file qgsmapsettings.cpp.

◆ mapToLayerCoordinates() [3/3]

QgsRectangle QgsMapSettings::mapToLayerCoordinates ( const QgsMapLayer layer,
QgsRectangle  rect 
) const

transform rectangle from output CRS to layer's CRS

See also
outputExtentToLayerExtent() if you want to transform a bounding box
Returns
the transformed rectangle

Definition at line 574 of file qgsmapsettings.cpp.

◆ mapToPixel()

const QgsMapToPixel& QgsMapSettings::mapToPixel ( ) const
inline

Definition at line 436 of file qgsmapsettings.h.

◆ mapUnits()

QgsUnitTypes::DistanceUnit QgsMapSettings::mapUnits ( ) const

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

Definition at line 360 of file qgsmapsettings.cpp.

◆ mapUnitsPerPixel()

double QgsMapSettings::mapUnitsPerPixel ( ) const

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

Definition at line 391 of file qgsmapsettings.cpp.

◆ outputDpi()

double QgsMapSettings::outputDpi ( ) const

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

mm) and pixels Default value is 96

Definition at line 263 of file qgsmapsettings.cpp.

◆ outputExtentToLayerExtent()

QgsRectangle QgsMapSettings::outputExtentToLayerExtent ( const QgsMapLayer layer,
QgsRectangle  extent 
) const

transform bounding box from output CRS to layer's CRS

See also
mapToLayerCoordinates( const QgsMapLayer *, QgsRectangle ) const if you want to transform a rectangle
Returns
a bounding box (aligned rectangle) containing the transformed extent

Definition at line 458 of file qgsmapsettings.cpp.

◆ outputImageFormat()

QImage::Format QgsMapSettings::outputImageFormat ( ) const
inline

format of internal QImage, default QImage::Format_ARGB32_Premultiplied

Definition at line 361 of file qgsmapsettings.h.

◆ outputSize()

QSize QgsMapSettings::outputSize ( ) const

Returns the size of the resulting map image.

Definition at line 235 of file qgsmapsettings.cpp.

◆ pathResolver()

const QgsPathResolver& QgsMapSettings::pathResolver ( ) const
inline

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

for resolving relative symbol paths.

See also
setPathResolver()
Since
QGIS 3.0

Definition at line 425 of file qgsmapsettings.h.

◆ readXml()

void QgsMapSettings::readXml ( QDomNode &  node)

Definition at line 651 of file qgsmapsettings.cpp.

◆ renderedFeatureHandlers()

QList< QgsRenderedFeatureHandlerInterface * > QgsMapSettings::renderedFeatureHandlers ( ) const

Returns the list of rendered feature handlers to use while rendering the map settings.

See also
addRenderedFeatureHandler()
Since
QGIS 3.10

Definition at line 746 of file qgsmapsettings.cpp.

◆ rotation()

double QgsMapSettings::rotation ( ) const

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

See also
setRotation()
Since
QGIS 2.8

Definition at line 101 of file qgsmapsettings.cpp.

◆ scale()

double QgsMapSettings::scale ( ) const

Returns the calculated map scale.

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

Definition at line 396 of file qgsmapsettings.cpp.

◆ segmentationTolerance()

double QgsMapSettings::segmentationTolerance ( ) const
inline

Gets the segmentation tolerance applied when rendering curved geometries.

Definition at line 521 of file qgsmapsettings.h.

◆ segmentationToleranceType()

QgsAbstractGeometry::SegmentationToleranceType QgsMapSettings::segmentationToleranceType ( ) const
inline

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

Definition at line 529 of file qgsmapsettings.h.

◆ selectionColor()

QColor QgsMapSettings::selectionColor ( ) const
inline

Gets color that is used for drawing of selected vector features.

Definition at line 298 of file qgsmapsettings.h.

◆ setBackgroundColor()

void QgsMapSettings::setBackgroundColor ( const QColor &  color)
inline

Sets the background color of the map.

Definition at line 291 of file qgsmapsettings.h.

◆ setClippingRegions()

void QgsMapSettings::setClippingRegions ( const QList< QgsMapClippingRegion > &  regions)

Sets the list of clipping regions to apply to the map.

See also
addClippingRegion()
clippingRegions()
Since
QGIS 3.16

Definition at line 731 of file qgsmapsettings.cpp.

◆ setCustomRenderFlags()

Q_DECL_DEPRECATED void QgsMapSettings::setCustomRenderFlags ( const QString &  customRenderFlags)
inline

Sets the custom rendering flags.

Layers might honour these to alter their rendering.

Parameters
customRenderFlagscustom flags strings, separated by ';'
See also
customRenderFlags()
Since
QGIS 2.16
Deprecated:
use
See also
setCustomRenderingFlag() instead.

Definition at line 237 of file qgsmapsettings.h.

◆ setCustomRenderingFlag()

void QgsMapSettings::setCustomRenderingFlag ( const QString &  flag,
const QVariant &  value 
)
inline

Sets a custom rendering flag.

Layers might honour these to alter their rendering.

Parameters
flagthe flag name
valuethe flag value
See also
customRenderingFlags()
Since
QGIS 3.12

Definition at line 254 of file qgsmapsettings.h.

◆ setDestinationCrs()

void QgsMapSettings::setDestinationCrs ( const QgsCoordinateReferenceSystem crs)

sets destination coordinate reference system

Definition at line 310 of file qgsmapsettings.cpp.

◆ setDevicePixelRatio()

void QgsMapSettings::setDevicePixelRatio ( float  dpr)

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

Since
QGIS 3.4

Definition at line 252 of file qgsmapsettings.cpp.

◆ setEllipsoid()

bool QgsMapSettings::setEllipsoid ( const QString &  ellipsoid)

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()
Since
QGIS 3.0

Definition at line 323 of file qgsmapsettings.cpp.

◆ setExpressionContext()

void QgsMapSettings::setExpressionContext ( const QgsExpressionContext context)
inline

Sets the expression context.

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

See also
expressionContext()
Since
QGIS 2.12

Definition at line 388 of file qgsmapsettings.h.

◆ setExtent()

void QgsMapSettings::setExtent ( const QgsRectangle rect,
bool  magnified = 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.

Definition at line 79 of file qgsmapsettings.cpp.

◆ setExtentBuffer()

void QgsMapSettings::setExtentBuffer ( double  buffer)

Sets the buffer in map units to use around the visible extent for rendering symbols whose corresponding geometries are outside the visible extent.

This is useful when using tiles to avoid cut symbols at tile boundaries.

Since
QGIS 3.10

Definition at line 96 of file qgsmapsettings.cpp.

◆ setFlag()

void QgsMapSettings::setFlag ( QgsMapSettings::Flag  flag,
bool  on = true 
)

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

Definition at line 342 of file qgsmapsettings.cpp.

◆ setFlags()

void QgsMapSettings::setFlags ( QgsMapSettings::Flags  flags)

Sets combination of flags that will be used for rendering.

Definition at line 337 of file qgsmapsettings.cpp.

◆ setLabelBlockingRegions()

void QgsMapSettings::setLabelBlockingRegions ( const QList< QgsLabelBlockingRegion > &  regions)
inline

Sets a list of regions to avoid placing labels within.

See also
labelBlockingRegions()
setLabelBoundaryGeometry()
Since
QGIS 3.6

Definition at line 590 of file qgsmapsettings.h.

◆ setLabelBoundaryGeometry()

void QgsMapSettings::setLabelBoundaryGeometry ( const QgsGeometry boundary)

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().

See also
labelBoundaryGeometry()
setLabelBlockingRegions()
Since
QGIS 3.6

Definition at line 721 of file qgsmapsettings.cpp.

◆ setLabelingEngineSettings()

void QgsMapSettings::setLabelingEngineSettings ( const QgsLabelingEngineSettings settings)
inline

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.
See also
labelingEngineSettings()
Since
QGIS 3.0

Definition at line 541 of file qgsmapsettings.h.

◆ setLayers()

void QgsMapSettings::setLayers ( const QList< QgsMapLayer * > &  layers)

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!).

Definition at line 287 of file qgsmapsettings.cpp.

◆ setLayerStyleOverrides()

void QgsMapSettings::setLayerStyleOverrides ( const QMap< QString, QString > &  overrides)

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.

Since
QGIS 2.8

Definition at line 305 of file qgsmapsettings.cpp.

◆ setMagnificationFactor()

void QgsMapSettings::setMagnificationFactor ( double  factor,
const QgsPointXY center = nullptr 
)

Set the magnification factor.

Parameters
factorthe factor of magnification
centeroptional point to re-center the map
See also
magnificationFactor()
Since
QGIS 2.16

Definition at line 48 of file qgsmapsettings.cpp.

◆ setOutputDpi()

void QgsMapSettings::setOutputDpi ( double  dpi)

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

Definition at line 268 of file qgsmapsettings.cpp.

◆ setOutputImageFormat()

void QgsMapSettings::setOutputImageFormat ( QImage::Format  format)
inline

sets format of internal QImage

Definition at line 359 of file qgsmapsettings.h.

◆ setOutputSize()

void QgsMapSettings::setOutputSize ( QSize  size)

Sets the size of the resulting map image.

Definition at line 240 of file qgsmapsettings.cpp.

◆ setPathResolver()

void QgsMapSettings::setPathResolver ( const QgsPathResolver resolver)
inline

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

for resolving relative symbol paths.

See also
pathResolver()
Since
QGIS 3.0

Definition at line 434 of file qgsmapsettings.h.

◆ setRotation()

void QgsMapSettings::setRotation ( double  rotation)

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

See also
rotation()
Since
QGIS 2.8

Definition at line 106 of file qgsmapsettings.cpp.

◆ setSegmentationTolerance()

void QgsMapSettings::setSegmentationTolerance ( double  tolerance)
inline

Sets the segmentation tolerance applied when rendering curved geometries.

Parameters
tolerancethe segmentation tolerance

Definition at line 519 of file qgsmapsettings.h.

◆ setSegmentationToleranceType()

void QgsMapSettings::setSegmentationToleranceType ( QgsAbstractGeometry::SegmentationToleranceType  type)
inline

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

Parameters
typethe segmentation tolerance typename

Definition at line 527 of file qgsmapsettings.h.

◆ setSelectionColor()

void QgsMapSettings::setSelectionColor ( const QColor &  color)
inline

Sets color that is used for drawing of selected vector features.

Definition at line 296 of file qgsmapsettings.h.

◆ setSimplifyMethod()

void QgsMapSettings::setSimplifyMethod ( const QgsVectorSimplifyMethod method)
inline

Sets the simplification setting to use when rendering vector layers.

If the simplify method is enabled, it will override all other layer-specific simplification settings and will apply to all vector layers rendered for the map.

This can be used to specify global simplification methods to apply during map exports, e.g. to allow vector layers to be simplified to an appropriate maximum level of detail during PDF exports.

The default is to use no global simplification, and fallback to individual layer's settings instead.

See also
simplifyMethod()
Since
QGIS 3.10

Definition at line 646 of file qgsmapsettings.h.

◆ setTextRenderFormat()

void QgsMapSettings::setTextRenderFormat ( QgsRenderContext::TextRenderFormat  format)
inline

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.
See also
textRenderFormat()
Since
QGIS 3.4.3

Definition at line 350 of file qgsmapsettings.h.

◆ setTransformContext()

void QgsMapSettings::setTransformContext ( const QgsCoordinateTransformContext context)

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.

See also
transformContext()
Since
QGIS 3.0

Definition at line 411 of file qgsmapsettings.cpp.

◆ simplifyMethod()

const QgsVectorSimplifyMethod& QgsMapSettings::simplifyMethod ( ) const
inline

Returns the simplification settings to use when rendering vector layers.

If enabled, it will override all other layer-specific simplification settings and will apply to all vector layers rendered for the map.

The default is to use no global simplification, and fallback to individual layer's settings instead.

See also
setSimplifyMethod()
Since
QGIS 3.10

Definition at line 659 of file qgsmapsettings.h.

◆ testFlag()

bool QgsMapSettings::testFlag ( QgsMapSettings::Flag  flag) const

Check whether a particular flag is enabled.

Definition at line 355 of file qgsmapsettings.cpp.

◆ textRenderFormat()

QgsRenderContext::TextRenderFormat QgsMapSettings::textRenderFormat ( ) const
inline

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

as paths or real text objects).

See also
setTextRenderFormat()
Since
QGIS 3.4.3

Definition at line 336 of file qgsmapsettings.h.

◆ transformContext()

QgsCoordinateTransformContext QgsMapSettings::transformContext ( ) const

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.

See also
setTransformContext()
Since
QGIS 3.0

Definition at line 401 of file qgsmapsettings.cpp.

◆ updateDerived()

void QgsMapSettings::updateDerived ( )
protected

Definition at line 118 of file qgsmapsettings.cpp.

◆ visibleExtent()

QgsRectangle QgsMapSettings::visibleExtent ( ) const

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

Definition at line 371 of file qgsmapsettings.cpp.

◆ visiblePolygon()

QPolygonF QgsMapSettings::visiblePolygon ( ) const

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

Since
QGIS 2.8

Definition at line 376 of file qgsmapsettings.cpp.

◆ writeXml()

void QgsMapSettings::writeXml ( QDomNode &  node,
QDomDocument &  doc 
)

Definition at line 686 of file qgsmapsettings.cpp.

Member Data Documentation

◆ mBackgroundColor

QColor QgsMapSettings::mBackgroundColor
protected

Definition at line 703 of file qgsmapsettings.h.

◆ mCustomRenderFlags

QString QgsMapSettings::mCustomRenderFlags
protected

Definition at line 695 of file qgsmapsettings.h.

◆ mCustomRenderingFlags

QVariantMap QgsMapSettings::mCustomRenderingFlags
protected

Definition at line 696 of file qgsmapsettings.h.

◆ mDestCRS

QgsCoordinateReferenceSystem QgsMapSettings::mDestCRS
protected

Definition at line 699 of file qgsmapsettings.h.

◆ mDevicePixelRatio

float QgsMapSettings::mDevicePixelRatio = 1.0
protected

Definition at line 684 of file qgsmapsettings.h.

◆ mDpi

double QgsMapSettings::mDpi
protected

Definition at line 681 of file qgsmapsettings.h.

◆ mEllipsoid

QString QgsMapSettings::mEllipsoid
protected

ellipsoid acronym (from table tbl_ellipsoids)

Definition at line 701 of file qgsmapsettings.h.

◆ mExpressionContext

QgsExpressionContext QgsMapSettings::mExpressionContext
protected

Definition at line 697 of file qgsmapsettings.h.

◆ mExtent

QgsRectangle QgsMapSettings::mExtent
protected

Definition at line 686 of file qgsmapsettings.h.

◆ mExtentBuffer

double QgsMapSettings::mExtentBuffer = 0.0
protected

Definition at line 687 of file qgsmapsettings.h.

◆ mFlags

Flags QgsMapSettings::mFlags
protected

Definition at line 706 of file qgsmapsettings.h.

◆ mImageFormat

QImage::Format QgsMapSettings::mImageFormat = QImage::Format_ARGB32_Premultiplied
protected

Definition at line 708 of file qgsmapsettings.h.

◆ mLabelBoundaryGeometry

QgsGeometry QgsMapSettings::mLabelBoundaryGeometry
protected

Definition at line 731 of file qgsmapsettings.h.

◆ mLabelingEngineSettings

QgsLabelingEngineSettings QgsMapSettings::mLabelingEngineSettings
protected

Definition at line 713 of file qgsmapsettings.h.

◆ mLayers

QgsWeakMapLayerPointerList QgsMapSettings::mLayers
protected

list of layers to be rendered (stored as weak pointers)

Definition at line 693 of file qgsmapsettings.h.

◆ mLayerStyleOverrides

QMap<QString, QString> QgsMapSettings::mLayerStyleOverrides
protected

Definition at line 694 of file qgsmapsettings.h.

◆ mMagnificationFactor

double QgsMapSettings::mMagnificationFactor = 1.0
protected

Definition at line 690 of file qgsmapsettings.h.

◆ mMapToPixel

QgsMapToPixel QgsMapSettings::mMapToPixel
protected

Definition at line 723 of file qgsmapsettings.h.

◆ mMapUnitsPerPixel

double QgsMapSettings::mMapUnitsPerPixel = 1
protected

Definition at line 718 of file qgsmapsettings.h.

◆ mPathResolver

QgsPathResolver QgsMapSettings::mPathResolver
protected

Definition at line 727 of file qgsmapsettings.h.

◆ mRotation

double QgsMapSettings::mRotation = 0.0
protected

Definition at line 689 of file qgsmapsettings.h.

◆ mScale

double QgsMapSettings::mScale = 1
protected

Definition at line 719 of file qgsmapsettings.h.

◆ mScaleCalculator

QgsScaleCalculator QgsMapSettings::mScaleCalculator
protected

Definition at line 722 of file qgsmapsettings.h.

◆ mSegmentationTolerance

double QgsMapSettings::mSegmentationTolerance
protected

Definition at line 710 of file qgsmapsettings.h.

◆ mSegmentationToleranceType

QgsAbstractGeometry::SegmentationToleranceType QgsMapSettings::mSegmentationToleranceType = QgsAbstractGeometry::MaximumAngle
protected

Definition at line 711 of file qgsmapsettings.h.

◆ mSelectionColor

QColor QgsMapSettings::mSelectionColor
protected

Definition at line 704 of file qgsmapsettings.h.

◆ mSimplifyMethod

QgsVectorSimplifyMethod QgsMapSettings::mSimplifyMethod
protected

Definition at line 733 of file qgsmapsettings.h.

◆ mSize

QSize QgsMapSettings::mSize
protected

Definition at line 683 of file qgsmapsettings.h.

◆ mTextRenderFormat

Definition at line 729 of file qgsmapsettings.h.

◆ mTransformContext

QgsCoordinateTransformContext QgsMapSettings::mTransformContext
protected

Definition at line 725 of file qgsmapsettings.h.

◆ mValid

bool QgsMapSettings::mValid = false
protected

Whether the actual settings are valid (set in updateDerived())

Definition at line 716 of file qgsmapsettings.h.

◆ mVisibleExtent

QgsRectangle QgsMapSettings::mVisibleExtent
protected

Extent with some additional white space that matches the output aspect ratio.

Definition at line 717 of file qgsmapsettings.h.


The documentation for this class was generated from the following files: