QGIS API Documentation 3.37.0-Master (fdefdf9c27f)
qgsrasterlayertemporalproperties.h
Go to the documentation of this file.
1/***************************************************************************
2 qgsrasterlayertemporalproperties.h
3 ---------------
4 begin : February 2020
5 copyright : (C) 2020 by Samweli Mwakisambwe
6 email : samweli at kartoza dot com
7 ***************************************************************************/
8
9/***************************************************************************
10 * *
11 * This program is free software; you can redistribute it and/or modify *
12 * it under the terms of the GNU General Public License as published by *
13 * the Free Software Foundation; either version 2 of the License, or *
14 * (at your option) any later version. *
15 * *
16 ***************************************************************************/
17
18
19#ifndef QGSRASTERLAYERTEMPORALPROPERTIES_H
20#define QGSRASTERLAYERTEMPORALPROPERTIES_H
21
22#include "qgis_core.h"
23#include "qgis_sip.h"
24#include "qgis.h"
25#include "qgsrange.h"
27
28class QgsRasterLayer;
29
38{
39 Q_OBJECT
40
41 public:
42
48 QgsRasterLayerTemporalProperties( QObject *parent SIP_TRANSFERTHIS = nullptr, bool enabled = false );
49
50 bool isVisibleInTemporalRange( const QgsDateTimeRange &range ) const override;
52 QList< QgsDateTimeRange > allTemporalRanges( QgsMapLayer *layer ) const override;
53
59 Qgis::RasterTemporalMode mode() const;
60
66 void setMode( Qgis::RasterTemporalMode mode );
67
71 QgsTemporalProperty::Flags flags() const override;
72
79 Qgis::TemporalIntervalMatchMethod intervalHandlingMethod() const;
80
87 void setIntervalHandlingMethod( Qgis::TemporalIntervalMatchMethod method );
88
99 void setFixedTemporalRange( const QgsDateTimeRange &range );
100
108 const QgsDateTimeRange &fixedTemporalRange() const;
109
118 QMap<int, QgsDateTimeRange> fixedRangePerBand() const;
119
128 void setFixedRangePerBand( const QMap<int, QgsDateTimeRange> &ranges );
129
138 int bandForTemporalRange( QgsRasterLayer *layer, const QgsDateTimeRange &range ) const;
139
140 QDomElement writeXml( QDomElement &element, QDomDocument &doc, const QgsReadWriteContext &context ) override;
141
142 bool readXml( const QDomElement &element, const QgsReadWriteContext &context ) override;
143
145
146 private:
147
150
153
155 QgsDateTimeRange mFixedRange;
156
157 QMap< int, QgsDateTimeRange > mRangePerBand;
158};
159
160#endif // QGSRASTERLAYERTEMPORALPROPERTIES_H
TemporalIntervalMatchMethod
Method to use when resolving a temporal range to a data provider layer or band.
Definition: qgis.h:2157
@ MatchUsingWholeRange
Use an exact match to the whole temporal range.
RasterTemporalMode
Raster layer temporal modes.
Definition: qgis.h:2143
@ FixedTemporalRange
Mode when temporal properties have fixed start and end datetimes.
Base class for handling properties relating to a data provider's temporal capabilities.
Base class for storage of map layer temporal properties.
virtual QDomElement writeXml(QDomElement &element, QDomDocument &doc, const QgsReadWriteContext &context)=0
Writes the properties to a DOM element, to be used later with readXml().
virtual QgsDateTimeRange calculateTemporalExtent(QgsMapLayer *layer) const
Attempts to calculate the overall temporal extent for the specified layer, using the settings defined...
virtual void setDefaultsFromDataProviderTemporalCapabilities(const QgsDataProviderTemporalCapabilities *capabilities)=0
Sets the layers temporal settings to appropriate defaults based on a provider's temporal capabilities...
virtual QList< QgsDateTimeRange > allTemporalRanges(QgsMapLayer *layer) const
Attempts to calculate the overall list of all temporal extents which are contained in the specified l...
virtual bool isVisibleInTemporalRange(const QgsDateTimeRange &range) const
Returns true if the layer should be visible and rendered for the specified time range.
virtual bool readXml(const QDomElement &element, const QgsReadWriteContext &context)=0
Reads temporal properties from a DOM element previously written by writeXml().
Base class for all map layer types.
Definition: qgsmaplayer.h:75
Implementation of map layer temporal properties for raster layers.
Represents a raster layer.
The class is used as a container of context for various read/write operations on other objects.
virtual QgsTemporalProperty::Flags flags() const
Returns flags associated to the temporal property.
#define SIP_TRANSFERTHIS
Definition: qgis_sip.h:53
#define SIP_SKIP
Definition: qgis_sip.h:126