Class: QgsMapLayerElevationProperties

Base class for storage of map layer elevation properties.

QgsMapLayerElevationProperties exposes user-configurable settings for controlling how an individual QgsMapLayer behaves with relation to z values or elevations.

Added in version 3.18.

Note

This is an abstract class, with methods which must be implemented by a subclass.

The following methods must be implemented: clone(), readXml(), writeXml()

Class Hierarchy

Inheritance diagram of qgis.core.QgsMapLayerElevationProperties

Base classes

QObject

Subclasses

QgsMeshLayerElevationProperties

Mesh layer specific subclass of QgsMapLayerElevationProperties.

QgsPointCloudLayerElevationProperties

Point cloud layer specific subclass of QgsMapLayerElevationProperties.

QgsRasterLayerElevationProperties

Raster layer specific subclass of QgsMapLayerElevationProperties.

QgsTiledSceneLayerElevationProperties

Tiled scene layer specific subclass of QgsMapLayerElevationProperties.

QgsVectorLayerElevationProperties

Vector layer specific subclass of QgsMapLayerElevationProperties.

Enums

Property

Data definable properties.

Abstract Methods

clone

Creates a clone of the properties.

readXml

Reads the elevation properties from a DOM element previously written by writeXml().

writeXml

Writes the properties to a DOM element, to be used later with readXml().

Methods

copyCommonProperties

Copies common properties from another object.

dataDefinedProperties

Returns a reference to the object's property collection, used for data defined overrides.

readCommonProperties

Reads common class properties from a DOM element previously written by writeXml().

setDataDefinedProperties

Sets the object's property collection, used for data defined overrides.

setZOffset

Sets the z offset, which is a fixed offset amount which will be added to z values from the layer.

setZScale

Sets the z scale, which is a scaling factor which will be applied to z values from the layer.

writeCommonProperties

Writes common class properties to a DOM element, to be used later with readXml().

zOffset

Returns the z offset, which is a fixed offset amount which should be added to z values from the layer.

zScale

Returns the z scale, which is a scaling factor which should be applied to z values from the layer.

Virtual Methods

In PyQGIS, only methods marked as virtual can be safely overridden in a Python subclass of QgsMapLayerElevationProperties. See the FAQ for more details.

calculateZRange

Attempts to calculate the overall elevation or z range for the specified layer, using the settings defined by this elevation properties object.

flags

Returns flags associated to the elevation properties.

hasElevation

Returns True if the layer has an elevation or z component.

htmlSummary

Returns a HTML formatted summary of the properties.

isVisibleInZRange

Returns True if the layer should be visible and rendered for the specified z range.

setDefaultsFromLayer

Sets default properties based on sensible choices for the given map layer.

showByDefaultInElevationProfilePlots

Returns True if the layer should be visible by default in newly created elevation profile plots.

significantZValues

Returns a list of significant elevation/z-values for the specified layer, using the settings defined by this elevation properties object.

Static Methods

propertyDefinitions

Returns the definitions for data defined properties available for use in elevation properties.

Signals

changed

Emitted when any of the elevation properties have changed.

profileGenerationPropertyChanged

Emitted when any of the elevation properties which relate solely to generation of elevation profiles have changed.

profileRenderingPropertyChanged

Emitted when any of the elevation properties which relate solely to presentation of elevation results have changed.

zOffsetChanged

Emitted when the z offset changes.

zScaleChanged

Emitted when the z scale changes.

Attributes

FlagDontInvalidateCachedRendersWhenRangeChanges

class qgis.core.QgsMapLayerElevationProperties[source]

Bases: QObject

__init__(parent: QObject | None)

Constructor for QgsMapLayerElevationProperties, with the specified parent object.

Parameters:

parent (Optional[QObject])

class Flag

Bases: int

FlagDontInvalidateCachedRendersWhenRangeChanges = 1
class Flags
class Flags(f: QgsMapLayerElevationProperties.Flags | QgsMapLayerElevationProperties.Flag)
class Flags(a0: QgsMapLayerElevationProperties.Flags)

Bases: object

class Property(*values)

Bases: IntEnum

Data definable properties.

Added in version 3.26.

  • ZOffset: Z offset

  • ExtrusionHeight: Extrusion height

  • RasterPerBandLowerElevation: Lower elevation for each raster band

    Added in version 3.38.

  • RasterPerBandUpperElevation: Upper elevation for each raster band

    Added in version 3.38.

virtual calculateZRange(self, layer: QgsMapLayer | None) QgsDoubleRange[source]

Attempts to calculate the overall elevation or z range for the specified layer, using the settings defined by this elevation properties object.

May return an infinite range if the extent could not be calculated.

Parameters:

layer (Optional[QgsMapLayer])

Return type:

QgsDoubleRange

signal changed[source]

Emitted when any of the elevation properties have changed.

See renderingPropertyChanged() and profileGenerationPropertyChanged() for more fine-grained signals.

abstract clone(self) QgsMapLayerElevationProperties | None[source]

Creates a clone of the properties.

Added in version 3.26.

Return type:

Optional[QgsMapLayerElevationProperties]

copyCommonProperties(self, other: QgsMapLayerElevationProperties | None)[source]

Copies common properties from another object.

Added in version 3.26.

Parameters:

other (Optional[QgsMapLayerElevationProperties])

dataDefinedProperties(self) QgsPropertyCollection

Returns a reference to the object’s property collection, used for data defined overrides.

Added in version 3.26.

Return type:

QgsPropertyCollection

virtual flags(self) QgsMapLayerElevationProperties.Flags[source]

Returns flags associated to the elevation properties.

Return type:

QgsMapLayerElevationProperties.Flags

virtual hasElevation(self) bool[source]

Returns True if the layer has an elevation or z component.

Return type:

bool

virtual htmlSummary(self) str[source]

Returns a HTML formatted summary of the properties.

Added in version 3.26.

Return type:

str

virtual isVisibleInZRange(self, range: QgsDoubleRange, layer: QgsMapLayer | None = None) bool[source]

Returns True if the layer should be visible and rendered for the specified z range.

Since QGIS 3.38 the layer argument can be used to specify the target layer.

Parameters:
Return type:

bool

signal profileGenerationPropertyChanged[source]

Emitted when any of the elevation properties which relate solely to generation of elevation profiles have changed.

See also

changed()

Added in version 3.26.

signal profileRenderingPropertyChanged[source]

Emitted when any of the elevation properties which relate solely to presentation of elevation results have changed.

See also

changed()

Added in version 3.26.

static propertyDefinitions() Dict[int, QgsPropertyDefinition][source]

Returns the definitions for data defined properties available for use in elevation properties.

Added in version 3.26.

Return type:

Dict[int, QgsPropertyDefinition]

readCommonProperties(self, element: QDomElement, context: QgsReadWriteContext)[source]

Reads common class properties from a DOM element previously written by writeXml().

Added in version 3.26.

Parameters:
abstract readXml(self, element: QDomElement, context: QgsReadWriteContext) bool[source]

Reads the elevation properties from a DOM element previously written by writeXml().

See also

writeXml()

Parameters:
Return type:

bool

setDataDefinedProperties(self, collection: QgsPropertyCollection)[source]

Sets the object’s property collection, used for data defined overrides.

Any existing properties will be discarded.

See also

Property

Added in version 3.26.

Parameters:

collection (QgsPropertyCollection)

virtual setDefaultsFromLayer(self, layer: QgsMapLayer | None)[source]

Sets default properties based on sensible choices for the given map layer.

Added in version 3.26.

Parameters:

layer (Optional[QgsMapLayer])

setZOffset(self, offset: float)[source]

Sets the z offset, which is a fixed offset amount which will be added to z values from the layer.

Note

Any scaling specified via zScale() is applied before any offset value specified via zOffset()

See also

zOffset()

Parameters:

offset (float)

setZScale(self, scale: float)[source]

Sets the z scale, which is a scaling factor which will be applied to z values from the layer.

This can be used to correct or manually adjust for incorrect elevation values in a layer, such as conversion of elevation values in feet to meters.

Note

Any scaling specified via zScale() is applied before any offset value specified via zOffset()

See also

zScale()

Parameters:

scale (float)

virtual showByDefaultInElevationProfilePlots(self) bool[source]

Returns True if the layer should be visible by default in newly created elevation profile plots.

Subclasses should override this with logic which determines whether the layer is likely desirable to be initially checked in these plots.

Added in version 3.26.

Return type:

bool

virtual significantZValues(self, layer: QgsMapLayer | None) List[float]

Returns a list of significant elevation/z-values for the specified layer, using the settings defined by this elevation properties object.

These values will be highlighted in elevation related widgets for the layer.

Added in version 3.38.

Parameters:

layer (Optional[QgsMapLayer])

Return type:

List[float]

writeCommonProperties(self, element: QDomElement, doc: QDomDocument, context: QgsReadWriteContext)[source]

Writes common class properties to a DOM element, to be used later with readXml().

Added in version 3.26.

Parameters:
abstract writeXml(self, element: QDomElement, doc: QDomDocument, context: QgsReadWriteContext) QDomElement[source]

Writes the properties to a DOM element, to be used later with readXml().

See also

readXml()

Parameters:
Return type:

QDomElement

zOffset(self) float[source]

Returns the z offset, which is a fixed offset amount which should be added to z values from the layer.

Note

Any scaling specified via zScale() is applied before any offset value specified via zOffset()

See also

setZOffset()

Return type:

float

signal zOffsetChanged[source]

Emitted when the z offset changes.

Added in version 3.26.

zScale(self) float[source]

Returns the z scale, which is a scaling factor which should be applied to z values from the layer.

This can be used to correct or manually adjust for incorrect elevation values in a layer, such as conversion of elevation values in feet to meters.

Note

Any scaling specified via zScale() is applied before any offset value specified via zOffset()

See also

setZScale()

Return type:

float

signal zScaleChanged[source]

Emitted when the z scale changes.

Added in version 3.26.