QGIS API Documentation  3.18.1-Zürich (202f1bf7e5)
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
 Returns 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
 Returns custom rendering flags. More...
 
QVariantMap customRenderingFlags () const
 Returns any custom rendering flags. More...
 
QgsCoordinateReferenceSystem destinationCrs () const
 Returns the destination coordinate reference system for the map render. More...
 
QSize deviceOutputSize () const
 Returns the device output size of the map render. More...
 
float devicePixelRatio () const
 Returns the device pixel ratio. 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
 Returns the list of layer IDs which will be rendered in the map. More...
 
QList< QgsMapLayer * > layers () const
 Returns the list of layers which will be rendered in the map. More...
 
QMap< QString, QString > layerStyleOverrides () const
 Returns the 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
 Returns the units of the 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 the DPI (dots per inch) 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, in pixels. 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
 Returns the 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 the destination crs (coordinate reference system) for the map render. More...
 
void setDevicePixelRatio (float dpr)
 Sets the device pixel ratio. 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)
 Sets the 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)
 Sets the list of layers to render in the map. More...
 
void setLayerStyleOverrides (const QMap< QString, QString > &overrides)
 Sets the 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 the dpi (dots per inch) used for conversion between real world units (e.g. More...
 
void setOutputImageFormat (QImage::Format format)
 sets format of internal QImage More...
 
void setOutputSize (QSize size)
 Sets the size of the resulting map image, in pixels. 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 the 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...
 
void setZRange (const QgsDoubleRange &range)
 Sets the range of z-values which will be visible in the map. 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)
 
QgsDoubleRange zRange () const
 Returns the range of z-values which will be visible in the map. More...
 
- 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 380 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

Returns the background color of the map.

See also
setBackgroundColor()

Definition at line 363 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 312 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

Returns 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 278 of file qgsmapsettings.h.

◆ customRenderingFlags()

QVariantMap QgsMapSettings::customRenderingFlags ( ) const
inline

Returns any 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 295 of file qgsmapsettings.h.

◆ destinationCrs()

QgsCoordinateReferenceSystem QgsMapSettings::destinationCrs ( ) const

Returns the destination coordinate reference system for the map render.

See also
setDestinationCrs()

Definition at line 318 of file qgsmapsettings.cpp.

◆ deviceOutputSize()

QSize QgsMapSettings::deviceOutputSize ( ) const

Returns the device output size of the map render.

This is equivalent to the output size multiplicated by the device pixel ratio.

See also
outputSize()
devicePixelRatio()
setOutputSize()
Since
QGIS 3.4

Definition at line 258 of file qgsmapsettings.cpp.

◆ devicePixelRatio()

float QgsMapSettings::devicePixelRatio ( ) const

Returns 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 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 349 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 475 of file qgsmapsettings.h.

◆ extent()

QgsRectangle QgsMapSettings::extent ( ) const

Returns geographical coordinates of the rectangle that should be rendered.

Warning
The actual visible extent used for rendering can be significantly different from this value, since the given extent may be expanded in order to fit the aspect ratio of the outputSize(). Use visibleExtent() to get the actual extent which will be rendered.
See also
visibleExtent()
setExtent()

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 677 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 633 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

Returns the list of layer IDs which will be rendered in the map.

The layers are stored in the reverse order of how they are rendered (layer with index 0 will be on top).

See also
layers()
setLayers()

Definition at line 276 of file qgsmapsettings.cpp.

◆ layers()

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

Returns the list of layers which will be rendered in the map.

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

See also
setLayers()
layerIds()

Definition at line 282 of file qgsmapsettings.cpp.

◆ layerStyleOverrides()

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

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

See also
setLayerStyleOverrides()
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 515 of file qgsmapsettings.h.

◆ mapUnits()

QgsUnitTypes::DistanceUnit QgsMapSettings::mapUnits ( ) const

Returns the units of the 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 the DPI (dots per inch) used for conversion between real world units (e.g.

mm) and pixels.

The default value is 96 dpi.

See also
setOutputDpi()

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 440 of file qgsmapsettings.h.

◆ outputSize()

QSize QgsMapSettings::outputSize ( ) const

Returns the size of the resulting map image, in pixels.

See also
deviceOutputSize()
setOutputSize()

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 504 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 600 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 608 of file qgsmapsettings.h.

◆ selectionColor()

QColor QgsMapSettings::selectionColor ( ) const
inline

Returns the color that is used for drawing of selected vector features.

See also
setSelectionColor()

Definition at line 377 of file qgsmapsettings.h.

◆ setBackgroundColor()

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

Sets the background color of the map.

See also
backgroundColor()

Definition at line 356 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 287 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 304 of file qgsmapsettings.h.

◆ setDestinationCrs()

void QgsMapSettings::setDestinationCrs ( const QgsCoordinateReferenceSystem crs)

Sets the destination crs (coordinate reference system) for the map render.

See also
destinationCrs()

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 467 of file qgsmapsettings.h.

◆ setExtent()

void QgsMapSettings::setExtent ( const QgsRectangle rect,
bool  magnified = true 
)

Sets the coordinates of the rectangle which should be rendered.

Warning
The actual visible extent used for rendering can be significantly different from the specified extent, since the given extent may be expanded in order to match the aspect ratio of outputSize(). Use visibleExtent() to retrieve the actual extent to be rendered.
See also
visibleExtent()
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 669 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 620 of file qgsmapsettings.h.

◆ setLayers()

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

Sets the list of layers to render in the map.

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!).
See also
layers()
layerIds()

Definition at line 287 of file qgsmapsettings.cpp.

◆ setLayerStyleOverrides()

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

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

See also
layerStyleOverrides()
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 the dpi (dots per inch) used for conversion between real world units (e.g.

mm) and pixels.

See also
outputDpi()

Definition at line 268 of file qgsmapsettings.cpp.

◆ setOutputImageFormat()

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

sets format of internal QImage

Definition at line 438 of file qgsmapsettings.h.

◆ setOutputSize()

void QgsMapSettings::setOutputSize ( QSize  size)

Sets the size of the resulting map image, in pixels.

See also
outputSize()

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 513 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 598 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 606 of file qgsmapsettings.h.

◆ setSelectionColor()

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

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

See also
selectionColor()

Definition at line 370 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 725 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 429 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.

◆ setZRange()

void QgsMapSettings::setZRange ( const QgsDoubleRange range)

Sets the range of z-values which will be visible in the map.

See also
zRange()
Since
QGIS 3.18

Definition at line 756 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 738 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 415 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.

◆ zRange()

QgsDoubleRange QgsMapSettings::zRange ( ) const

Returns the range of z-values which will be visible in the map.

See also
setZRange()
Since
QGIS 3.18

Definition at line 751 of file qgsmapsettings.cpp.

Member Data Documentation

◆ mBackgroundColor

QColor QgsMapSettings::mBackgroundColor
protected

Definition at line 798 of file qgsmapsettings.h.

◆ mCustomRenderFlags

QString QgsMapSettings::mCustomRenderFlags
protected

Definition at line 790 of file qgsmapsettings.h.

◆ mCustomRenderingFlags

QVariantMap QgsMapSettings::mCustomRenderingFlags
protected

Definition at line 791 of file qgsmapsettings.h.

◆ mDestCRS

QgsCoordinateReferenceSystem QgsMapSettings::mDestCRS
protected

Definition at line 794 of file qgsmapsettings.h.

◆ mDevicePixelRatio

float QgsMapSettings::mDevicePixelRatio = 1.0
protected

Definition at line 779 of file qgsmapsettings.h.

◆ mDpi

double QgsMapSettings::mDpi
protected

Definition at line 776 of file qgsmapsettings.h.

◆ mEllipsoid

QString QgsMapSettings::mEllipsoid
protected

ellipsoid acronym (from table tbl_ellipsoids)

Definition at line 796 of file qgsmapsettings.h.

◆ mExpressionContext

QgsExpressionContext QgsMapSettings::mExpressionContext
protected

Definition at line 792 of file qgsmapsettings.h.

◆ mExtent

QgsRectangle QgsMapSettings::mExtent
protected

Definition at line 781 of file qgsmapsettings.h.

◆ mExtentBuffer

double QgsMapSettings::mExtentBuffer = 0.0
protected

Definition at line 782 of file qgsmapsettings.h.

◆ mFlags

Flags QgsMapSettings::mFlags
protected

Definition at line 801 of file qgsmapsettings.h.

◆ mImageFormat

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

Definition at line 803 of file qgsmapsettings.h.

◆ mLabelBoundaryGeometry

QgsGeometry QgsMapSettings::mLabelBoundaryGeometry
protected

Definition at line 826 of file qgsmapsettings.h.

◆ mLabelingEngineSettings

QgsLabelingEngineSettings QgsMapSettings::mLabelingEngineSettings
protected

Definition at line 808 of file qgsmapsettings.h.

◆ mLayers

QgsWeakMapLayerPointerList QgsMapSettings::mLayers
protected

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

Definition at line 788 of file qgsmapsettings.h.

◆ mLayerStyleOverrides

QMap<QString, QString> QgsMapSettings::mLayerStyleOverrides
protected

Definition at line 789 of file qgsmapsettings.h.

◆ mMagnificationFactor

double QgsMapSettings::mMagnificationFactor = 1.0
protected

Definition at line 785 of file qgsmapsettings.h.

◆ mMapToPixel

QgsMapToPixel QgsMapSettings::mMapToPixel
protected

Definition at line 818 of file qgsmapsettings.h.

◆ mMapUnitsPerPixel

double QgsMapSettings::mMapUnitsPerPixel = 1
protected

Definition at line 813 of file qgsmapsettings.h.

◆ mPathResolver

QgsPathResolver QgsMapSettings::mPathResolver
protected

Definition at line 822 of file qgsmapsettings.h.

◆ mRotation

double QgsMapSettings::mRotation = 0.0
protected

Definition at line 784 of file qgsmapsettings.h.

◆ mScale

double QgsMapSettings::mScale = 1
protected

Definition at line 814 of file qgsmapsettings.h.

◆ mScaleCalculator

QgsScaleCalculator QgsMapSettings::mScaleCalculator
protected

Definition at line 817 of file qgsmapsettings.h.

◆ mSegmentationTolerance

double QgsMapSettings::mSegmentationTolerance
protected

Definition at line 805 of file qgsmapsettings.h.

◆ mSegmentationToleranceType

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

Definition at line 806 of file qgsmapsettings.h.

◆ mSelectionColor

QColor QgsMapSettings::mSelectionColor
protected

Definition at line 799 of file qgsmapsettings.h.

◆ mSimplifyMethod

QgsVectorSimplifyMethod QgsMapSettings::mSimplifyMethod
protected

Definition at line 828 of file qgsmapsettings.h.

◆ mSize

QSize QgsMapSettings::mSize
protected

Definition at line 778 of file qgsmapsettings.h.

◆ mTextRenderFormat

Definition at line 824 of file qgsmapsettings.h.

◆ mTransformContext

QgsCoordinateTransformContext QgsMapSettings::mTransformContext
protected

Definition at line 820 of file qgsmapsettings.h.

◆ mValid

bool QgsMapSettings::mValid = false
protected

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

Definition at line 811 of file qgsmapsettings.h.

◆ mVisibleExtent

QgsRectangle QgsMapSettings::mVisibleExtent
protected

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

Definition at line 812 of file qgsmapsettings.h.


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