mirror of
https://github.com/qgis/QGIS.git
synced 2025-12-04 00:06:46 -05:00
In this mode, the user can specify a QGIS expression for the
lower and upper value corresponding to raster bands, using
variables like @band, @band_name and @band_description.
E.g
@band * 100
Can be used when each band represents a 100 m vertical slice
of data.
The expression will be evaluated when required to determine
the actual elevation range corresponding to each band.
This differs from the existing "Fixed Elevation Range Per Band"
mode in that "Fixed Elevation Range Per Band" requires users
to manually enter an elevation for each band separately,
and these values are then treated as constants. That mode works
best for rasters with non-regular steps in the band
elevation values, while this new mode is better for regular
band elevation steps
297 lines
8.9 KiB
Plaintext
297 lines
8.9 KiB
Plaintext
/************************************************************************
|
|
* This file has been generated automatically from *
|
|
* *
|
|
* src/core/raster/qgsrasterlayerelevationproperties.h *
|
|
* *
|
|
* Do not edit manually ! Edit header and run scripts/sipify.pl again *
|
|
************************************************************************/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class QgsRasterLayerElevationProperties : QgsMapLayerElevationProperties
|
|
{
|
|
%Docstring(signature="appended")
|
|
Raster layer specific subclass of :py:class:`QgsMapLayerElevationProperties`.
|
|
|
|
.. versionadded:: 3.26
|
|
%End
|
|
|
|
%TypeHeaderCode
|
|
#include "qgsrasterlayerelevationproperties.h"
|
|
%End
|
|
public:
|
|
|
|
QgsRasterLayerElevationProperties( QObject *parent /TransferThis/ );
|
|
%Docstring
|
|
Constructor for QgsRasterLayerElevationProperties, with the specified ``parent`` object.
|
|
%End
|
|
~QgsRasterLayerElevationProperties();
|
|
|
|
virtual bool hasElevation() const;
|
|
|
|
virtual QDomElement writeXml( QDomElement &element, QDomDocument &doc, const QgsReadWriteContext &context );
|
|
|
|
virtual bool readXml( const QDomElement &element, const QgsReadWriteContext &context );
|
|
|
|
virtual QgsRasterLayerElevationProperties *clone() const /Factory/;
|
|
|
|
virtual QString htmlSummary() const;
|
|
|
|
virtual bool isVisibleInZRange( const QgsDoubleRange &range, QgsMapLayer *layer = 0 ) const;
|
|
|
|
virtual QgsDoubleRange calculateZRange( QgsMapLayer *layer ) const;
|
|
|
|
virtual bool showByDefaultInElevationProfilePlots() const;
|
|
|
|
virtual QgsMapLayerElevationProperties::Flags flags() const;
|
|
|
|
|
|
bool isEnabled() const;
|
|
%Docstring
|
|
Returns ``True`` if the elevation properties are enabled, i.e. the raster layer values represent an elevation surface.
|
|
|
|
.. seealso:: :py:func:`setEnabled`
|
|
%End
|
|
|
|
void setEnabled( bool enabled );
|
|
%Docstring
|
|
Sets whether the elevation properties are enabled, i.e. the raster layer values represent an elevation surface.
|
|
|
|
.. seealso:: :py:func:`isEnabled`
|
|
%End
|
|
|
|
Qgis::RasterElevationMode mode() const;
|
|
%Docstring
|
|
Returns the elevation mode.
|
|
|
|
.. seealso:: :py:func:`setMode`
|
|
|
|
.. versionadded:: 3.38
|
|
%End
|
|
|
|
void setMode( Qgis::RasterElevationMode mode );
|
|
%Docstring
|
|
Sets the elevation ``mode``.
|
|
|
|
.. seealso:: :py:func:`mode`
|
|
|
|
.. versionadded:: 3.38
|
|
%End
|
|
|
|
int bandNumber() const;
|
|
%Docstring
|
|
Returns the band number from which the elevation should be taken.
|
|
|
|
.. note::
|
|
|
|
This is only considered when :py:func:`~QgsRasterLayerElevationProperties.mode` is :py:class:`Qgis`.RasterElevationMode.RepresentsElevationSurface.
|
|
|
|
.. seealso:: :py:func:`setBandNumber`
|
|
%End
|
|
|
|
void setBandNumber( int band );
|
|
%Docstring
|
|
Sets the ``band`` number from which the elevation should be taken.
|
|
|
|
.. note::
|
|
|
|
This is only considered when :py:func:`~QgsRasterLayerElevationProperties.mode` is :py:class:`Qgis`.RasterElevationMode.RepresentsElevationSurface.
|
|
|
|
.. seealso:: :py:func:`bandNumber`
|
|
%End
|
|
|
|
QgsDoubleRange fixedRange() const;
|
|
%Docstring
|
|
Returns the fixed elevation range for the raster.
|
|
|
|
.. note::
|
|
|
|
This is only considered when :py:func:`~QgsRasterLayerElevationProperties.mode` is :py:class:`Qgis`.RasterElevationMode.FixedElevationRange.
|
|
|
|
.. note::
|
|
|
|
When a fixed range is set any :py:func:`~QgsRasterLayerElevationProperties.zOffset` and :py:func:`~QgsRasterLayerElevationProperties.zScale` is ignored.
|
|
|
|
|
|
.. seealso:: :py:func:`setFixedRange`
|
|
|
|
.. versionadded:: 3.38
|
|
%End
|
|
|
|
void setFixedRange( const QgsDoubleRange &range );
|
|
%Docstring
|
|
Sets the fixed elevation ``range`` for the raster.
|
|
|
|
.. note::
|
|
|
|
This is only considered when :py:func:`~QgsRasterLayerElevationProperties.mode` is :py:class:`Qgis`.RasterElevationMode.FixedElevationRange.
|
|
|
|
.. note::
|
|
|
|
When a fixed range is set any :py:func:`~QgsRasterLayerElevationProperties.zOffset` and :py:func:`~QgsRasterLayerElevationProperties.zScale` is ignored.
|
|
|
|
|
|
.. seealso:: :py:func:`fixedRange`
|
|
|
|
.. versionadded:: 3.38
|
|
%End
|
|
|
|
QMap<int, QgsDoubleRange> fixedRangePerBand() const;
|
|
%Docstring
|
|
Returns the fixed elevation range for each band.
|
|
|
|
.. note::
|
|
|
|
This is only considered when :py:func:`~QgsRasterLayerElevationProperties.mode` is :py:class:`Qgis`.RasterElevationMode.FixedRangePerBand.
|
|
|
|
.. note::
|
|
|
|
When a fixed range is set any :py:func:`~QgsRasterLayerElevationProperties.zOffset` and :py:func:`~QgsRasterLayerElevationProperties.zScale` is ignored.
|
|
|
|
|
|
.. seealso:: :py:func:`setFixedRangePerBand`
|
|
|
|
.. versionadded:: 3.38
|
|
%End
|
|
|
|
void setFixedRangePerBand( const QMap<int, QgsDoubleRange> &ranges );
|
|
%Docstring
|
|
Sets the fixed elevation range for each band.
|
|
|
|
.. note::
|
|
|
|
This is only considered when :py:func:`~QgsRasterLayerElevationProperties.mode` is :py:class:`Qgis`.RasterElevationMode.FixedRangePerBand.
|
|
|
|
.. note::
|
|
|
|
When a fixed range is set any :py:func:`~QgsRasterLayerElevationProperties.zOffset` and :py:func:`~QgsRasterLayerElevationProperties.zScale` is ignored.
|
|
|
|
|
|
.. seealso:: :py:func:`fixedRangePerBand`
|
|
|
|
.. versionadded:: 3.38
|
|
%End
|
|
|
|
QgsDoubleRange elevationRangeForPixelValue( QgsRasterLayer *layer, int band, double pixelValue ) const;
|
|
%Docstring
|
|
Returns the elevation range corresponding to a raw pixel value from the specified ``band``.
|
|
|
|
Returns an infinite range if the pixel value does not correspond to an elevation value.
|
|
|
|
.. versionadded:: 3.38
|
|
%End
|
|
|
|
int bandForElevationRange( QgsRasterLayer *layer, const QgsDoubleRange &range ) const;
|
|
%Docstring
|
|
Returns the band corresponding to the specified ``range``.
|
|
|
|
.. note::
|
|
|
|
This is only considered when :py:func:`~QgsRasterLayerElevationProperties.mode` is :py:class:`Qgis`.RasterElevationMode.FixedRangePerBand or
|
|
:py:class:`Qgis`.RasterElevationMode.DynamicRangePerBand. For other modes it will always return -1.
|
|
|
|
.. versionadded:: 3.38
|
|
%End
|
|
|
|
QgsLineSymbol *profileLineSymbol() const;
|
|
%Docstring
|
|
Returns the line symbol used to render the raster profile in elevation profile plots.
|
|
|
|
.. seealso:: :py:func:`setProfileLineSymbol`
|
|
%End
|
|
|
|
void setProfileLineSymbol( QgsLineSymbol *symbol /Transfer/ );
|
|
%Docstring
|
|
Sets the line ``symbol`` used to render the raster profile in elevation profile plots.
|
|
|
|
Ownership of ``symbol`` is transferred to the plot.
|
|
|
|
.. seealso:: :py:func:`profileLineSymbol`
|
|
%End
|
|
|
|
QgsFillSymbol *profileFillSymbol() const;
|
|
%Docstring
|
|
Returns the fill symbol used to render the raster profile in elevation profile plots.
|
|
|
|
.. seealso:: :py:func:`setProfileFillSymbol`
|
|
%End
|
|
|
|
void setProfileFillSymbol( QgsFillSymbol *symbol /Transfer/ );
|
|
%Docstring
|
|
Sets the fill ``symbol`` used to render the raster profile in elevation profile plots.
|
|
|
|
Ownership of ``symbol`` is transferred to the plot.
|
|
|
|
.. seealso:: :py:func:`profileFillSymbol`
|
|
%End
|
|
|
|
Qgis::ProfileSurfaceSymbology profileSymbology() const;
|
|
%Docstring
|
|
Returns the symbology option used to render the raster profile in elevation profile plots.
|
|
|
|
.. seealso:: :py:func:`setProfileSymbology`
|
|
%End
|
|
|
|
void setProfileSymbology( Qgis::ProfileSurfaceSymbology symbology );
|
|
%Docstring
|
|
Sets the ``symbology`` option used to render the raster profile in elevation profile plots.
|
|
|
|
.. seealso:: :py:func:`setProfileSymbology`
|
|
%End
|
|
|
|
double elevationLimit() const;
|
|
%Docstring
|
|
Returns the elevation limit, which is used when :py:func:`~QgsRasterLayerElevationProperties.profileSymbology` is
|
|
:py:class:`Qgis`.ProfileSurfaceSymbology.FillBelow or :py:class:`Qgis`.ProfileSurfaceSymbology.FillAbove
|
|
to limit the fill to a specific elevation range.
|
|
|
|
By default this is NaN, which indicates that there is no elevation limit.
|
|
|
|
.. seealso:: :py:func:`setElevationLimit`
|
|
|
|
.. versionadded:: 3.32
|
|
%End
|
|
|
|
void setElevationLimit( double limit );
|
|
%Docstring
|
|
Sets the elevation ``limit``, which is used when :py:func:`~QgsRasterLayerElevationProperties.profileSymbology` is
|
|
:py:class:`Qgis`.ProfileSurfaceSymbology.FillBelow or :py:class:`Qgis`.ProfileSurfaceSymbology.FillAbove
|
|
to limit the fill to a specific elevation range.
|
|
|
|
Set to NaN to indicate that there is no elevation limit.
|
|
|
|
.. seealso:: :py:func:`elevationLimit`
|
|
|
|
.. versionadded:: 3.32
|
|
%End
|
|
|
|
static bool layerLooksLikeDem( QgsRasterLayer *layer );
|
|
%Docstring
|
|
Returns ``True`` if a raster ``layer`` looks like a DEM.
|
|
|
|
This method applies some heuristics to ``layer`` to determine whether it looks like a candidate
|
|
for a DEM layer.
|
|
|
|
Specifically, it checks:
|
|
|
|
- the layer's name for DEM-like wording hints
|
|
- whether the layer contains a single band
|
|
- whether the layer contains an attribute table (if so, it's unlikely to be a DEM)
|
|
- the layer's data type
|
|
|
|
.. versionadded:: 3.32
|
|
%End
|
|
|
|
};
|
|
|
|
/************************************************************************
|
|
* This file has been generated automatically from *
|
|
* *
|
|
* src/core/raster/qgsrasterlayerelevationproperties.h *
|
|
* *
|
|
* Do not edit manually ! Edit header and run scripts/sipify.pl again *
|
|
************************************************************************/
|