Class: QgsTemporalUtils

class qgis.core.QgsTemporalUtils

Bases: sip.wrapper

Contains utility methods for working with temporal layers and projects.

New in version 3.14:

Methods

calculateDateTimesFromISO8601

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”).

calculateDateTimesUsingDuration

Calculates a complete list of datetimes between start and end, using the specified ISO8601 duration string (eg “PT12H”).

calculateFrameTime

Calculates the frame time for an animation.

calculateTemporalRangeForProject

Calculates the temporal range for a project.

exportAnimation

Exports animation frames by rendering the map to multiple destination images.

usedTemporalRangesForProject

Calculates all temporal ranges which are in use for a project.

class AnimationExportSettings
class AnimationExportSettings(QgsTemporalUtils.AnimationExportSettings) None

Bases: sip.wrapper

animationRange
decorations
fileNameTemplate
frameDuration
outputDirectory
calculateDateTimesFromISO8601(string: str, maxValues: int = - 1) Tuple[List[QDateTime], bool, bool]

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”).

Parameters
  • string (str) – ISO8601 compatible string

  • maxValues (int = -1) – maximum number of values to return, or -1 to return all values

Return type

Tuple[List[QDateTime], bool, bool]

Returns

  • calculated list of date times

  • ok: will be set to True if string was successfully parsed and date times could be calculated

  • maxValuesExceeded: will be set to True if the maximum number of values to return was exceeded

New in version 3.20.

calculateDateTimesUsingDuration(start: Union[QDateTime, datetime.datetime], end: Union[QDateTime, datetime.datetime], duration: str, maxValues: int = - 1) Tuple[List[QDateTime], bool, bool]

Calculates a complete list of datetimes between start and end, using the specified ISO8601 duration string (eg “PT12H”).

Parameters
  • start (Union[QDateTime) – start date time

  • end (Union[QDateTime) – end date time

  • duration (str) – ISO8601 duration string

  • maxValues (int = -1) – maximum number of values to return, or -1 to return all values

Return type

Tuple[List[QDateTime], bool, bool]

Returns

  • calculated list of date times

  • ok: will be set to True if duration was successfully parsed and date times could be calculated

  • maxValuesExceeded: will be set to True if the maximum number of values to return was exceeded

New in version 3.20.

calculateFrameTime(start: Union[QDateTime, datetime.datetime], frame: int, interval: QgsInterval) QDateTime

Calculates the frame time for an animation.

If the interval original duration is fractional or interval original unit is unknown (QgsUnitTypes.TemporalUnit.TemporalUnknownUnit), then 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.

Parameters
  • start (Union[QDateTime) – time of the animation

  • frame (int) – number

  • interval (QgsInterval) – duration of the animation

Return type

QDateTime

Returns

The calculated datetime for the frame.

New in version 3.18.

calculateTemporalRangeForProject(project: QgsProject) QgsDateTimeRange

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.

Parameters

project (QgsProject) –

Return type

QgsDateTimeRange

exportAnimation(mapSettings: QgsMapSettings, settings: QgsTemporalUtils.AnimationExportSettings, feedback: QgsFeedback = None) Tuple[bool, str]

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.

Parameters
Return type

Tuple[bool, str]

Returns

  • True if the export was successful.

  • error: will be set to a descriptive error message if the export fails

usedTemporalRangesForProject(project: QgsProject) List[QgsDateTimeRange]

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.

New in version 3.20.

Parameters

project (QgsProject) –

Return type

List[QgsDateTimeRange]