mirror of
https://github.com/qgis/QGIS.git
synced 2025-02-24 00:47:57 -05:00
150 lines
5.5 KiB
Plaintext
150 lines
5.5 KiB
Plaintext
/************************************************************************
|
|
* This file has been generated automatically from *
|
|
* *
|
|
* src/core/qgstemporalutils.h *
|
|
* *
|
|
* Do not edit manually ! Edit header and run scripts/sipify.py again *
|
|
************************************************************************/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class QgsTemporalUtils
|
|
{
|
|
%Docstring(signature="appended")
|
|
Contains utility methods for working with temporal layers and projects.
|
|
|
|
.. versionadded:: 3.14
|
|
%End
|
|
|
|
%TypeHeaderCode
|
|
#include "qgstemporalutils.h"
|
|
%End
|
|
public:
|
|
|
|
static QgsDateTimeRange calculateTemporalRangeForProject( QgsProject *project );
|
|
%Docstring
|
|
Calculates the temporal range for a ``project``.
|
|
|
|
This method considers the temporal range available from layers contained within the project and
|
|
returns the maximal combined temporal extent of these layers.
|
|
%End
|
|
|
|
static QList< QgsDateTimeRange > usedTemporalRangesForProject( QgsProject *project );
|
|
%Docstring
|
|
Calculates all temporal ranges which are in use for a ``project``.
|
|
|
|
This method considers the temporal range available from layers contained within the project and
|
|
returns a list of ranges which cover only the temporal ranges which are actually in use by layers
|
|
in the project.
|
|
|
|
The returned list may be non-contiguous and have gaps in the ranges. The ranges are sorted in ascending order.
|
|
|
|
.. versionadded:: 3.20
|
|
%End
|
|
|
|
struct AnimationExportSettings
|
|
{
|
|
QgsDateTimeRange animationRange;
|
|
|
|
QgsInterval frameDuration;
|
|
|
|
QString outputDirectory;
|
|
|
|
QString fileNameTemplate;
|
|
|
|
QList<QgsMapDecoration *> decorations;
|
|
|
|
QList<QgsDateTimeRange> availableTemporalRanges;
|
|
|
|
double frameRate;
|
|
|
|
};
|
|
|
|
static bool exportAnimation( const QgsMapSettings &mapSettings, const AnimationExportSettings &settings, QString &error /Out/, QgsFeedback *feedback = 0 );
|
|
%Docstring
|
|
Exports animation frames by rendering the map to multiple destination images.
|
|
|
|
The ``mapSettings`` argument dictates the overall map settings such as extent
|
|
and size, while animation and export specific settings are specified via the ``settings``
|
|
argument.
|
|
|
|
An optional ``feedback`` argument can be used to provide progress reports and cancellation
|
|
support.
|
|
|
|
:param mapSettings: settings controlling the map render
|
|
:param settings: animation and export settings
|
|
:param feedback: optional feedback object for progress reports and cancellation checks
|
|
|
|
:return: - ``True`` if the export was successful.
|
|
- error: a descriptive error message if the export fails
|
|
%End
|
|
|
|
static QDateTime calculateFrameTime( const QDateTime &start, const long long frame, const QgsInterval &interval );
|
|
%Docstring
|
|
Calculates the frame time for an animation.
|
|
|
|
If the interval original duration is fractional or interval original unit is
|
|
unknown (:py:class:`QgsUnitTypes`.TemporalUnit.TemporalUnknownUnit), then :py:class:`QgsInterval` is used
|
|
to determine the duration of the frame. This uses average durations for months and years.
|
|
|
|
Otherwise, we use QDateTime to advance by the exact duration of the current
|
|
month or year.
|
|
So a time step of 1.5 months will result in a duration of 45
|
|
days, but a time step of 1 month will result in a duration that depends upon
|
|
the number of days in the current month.
|
|
|
|
:param start: time of the animation
|
|
:param frame: number
|
|
:param interval: duration of the animation
|
|
|
|
:return: The calculated datetime for the frame.
|
|
|
|
.. versionadded:: 3.18
|
|
%End
|
|
|
|
static QList< QDateTime > calculateDateTimesUsingDuration( const QDateTime &start, const QDateTime &end, const QString &duration, bool &ok /Out/, bool &maxValuesExceeded /Out/, int maxValues = -1 );
|
|
%Docstring
|
|
Calculates a complete list of datetimes between ``start`` and ``end``, using the specified ISO8601 ``duration`` string (eg "PT12H").
|
|
|
|
:param start: start date time
|
|
:param end: end date time
|
|
:param duration: ISO8601 duration string
|
|
:param maxValues: maximum number of values to return, or -1 to return all values
|
|
|
|
:return: - calculated list of date times
|
|
- ok: ``True`` if ``duration`` was successfully parsed and date times could be calculated
|
|
- maxValuesExceeded: ``True`` if the maximum number of values to return was exceeded
|
|
|
|
.. versionadded:: 3.20
|
|
%End
|
|
|
|
|
|
static QList< QDateTime > calculateDateTimesFromISO8601( const QString &string, bool &ok /Out/, bool &maxValuesExceeded /Out/, int maxValues = -1 );
|
|
%Docstring
|
|
Calculates a complete list of datetimes from a ISO8601 ``string`` containing a duration (eg "2021-03-23T00:00:00Z/2021-03-24T12:00:00Z/PT12H").
|
|
|
|
:param string: ISO8601 compatible string
|
|
:param maxValues: maximum number of values to return, or -1 to return all values
|
|
|
|
:return: - calculated list of date times
|
|
- ok: ``True`` if ``string`` was successfully parsed and date times could be calculated
|
|
- maxValuesExceeded: ``True`` if the maximum number of values to return was exceeded
|
|
|
|
.. versionadded:: 3.20
|
|
%End
|
|
|
|
};
|
|
|
|
|
|
/************************************************************************
|
|
* This file has been generated automatically from *
|
|
* *
|
|
* src/core/qgstemporalutils.h *
|
|
* *
|
|
* Do not edit manually ! Edit header and run scripts/sipify.py again *
|
|
************************************************************************/
|