Skip to content
QGIS Time Manager plugin
Python HTML Shell Makefile Dockerfile QMake
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
dialogs Remove layer option to ignore in empty check, fixes #301 Jun 19, 2019
docker Stop using relative imports Mar 8, 2019
docs Put markup files under docs Mar 8, 2019
interpolation Stop using relative imports Mar 8, 2019
scripts Port to 3 Mar 25, 2018
testdata Removed outdated custom strftime, fixes #265 Nov 28, 2018
utils Add supported format, fixes #299 Jun 19, 2019
.coveragerc Added config to exclude test files themselves from coverage calculations Jan 20, 2015
.gitattributes Port to 3 Mar 25, 2018
.gitignore #112 export animation directly by calling imagemagick via system call Jul 7, 2015
LICENSE Create LICENSE Sep 7, 2017
Makefile Add target to compile translations Mar 8, 2019 Update Jun 20, 2019 Stop using relative imports Mar 8, 2019 Port to 3 Mar 25, 2018
icon.png initial copy from Dec 27, 2011
params.json Created gh-pages branch via GitHub Apr 3, 2012 Stop using relative imports Mar 8, 2019 Use QSettings to store archaeology config Mar 8, 2019

Time Manager Build Status

Time Manager is a plugin for QGIS by Anita Graser and Karolina Alexiou(aka carolinux)

Latest news will be published on Anita's blog:

What is the goal

The aim of '''Time Manager plugin for QGIS''' is to provide comfortable browsing through temporal geodata. A dock widget provides a time slider and a configuration dialog for your layers to manage.

What Time Manager currently does

Time Manager filters your datasets and displays only features with timestamps in the user specified time frame. Timestamps have to be in one of the following formats:

  • Integer timestamp in seconds after or before the epoch (1970-1-1)
  • %Y-%m-%dT%H:%M:%S.%fZ
  • %Y-%m-%d %H:%M:%S.%f
  • %Y-%m-%d %H:%M:%S
  • %Y-%m-%d %H:%M
  • %Y-%m-%dT%H:%M:%S
  • %Y-%m-%dT%H:%M:%SZ
  • %Y-%m-%dT%H:%M
  • %Y-%m-%dT%H:%MZ
  • %Y-%m-%d
  • %Y/%m/%d %H:%M:%S.%f
  • %Y/%m/%d %H:%M:%S
  • %Y/%m/%d %H:%M
  • %Y/%m/%d
  • %H:%M:%S
  • %H:%M:%S.%f
  • %Y.%m.%d %H:%M:%S.%f
  • %Y.%m.%d %H:%M:%S
  • %Y.%m.%d %H:%M
  • %Y.%m.%d
  • %Y%m%d%H%M%SED

Other formats can be added by appending to the YMD_SUPPORTED_FORMATS list in a format that puts the day, the month and the year in this order. Variants that put the month or date first will be then generated automatically. We currently do not support formats that would put the minutes or seconds before the hour. Please note that the %f directive is not supported in all operating systems, because of underlying library limitations.

Start and end time

Users of the plugin can define a start and (optionally) an end time field that describes the geometries of the layer. If only start time is defined, the plugin will select only the features that have a timestamp within the current time interval (current time until current time + time step). If an end time field is defined, then the features whose [startTime-endTime] period overlaps with the [current time, current time+time step] interval are shown. Intuitively, if we have a dataset of buildings and the dates they were built (startTime) and demolished (endTime), with TimeManager we are able to show the state of the village at any point in time. If you want to have a kind of cumulative animation where the shown points do not disappear, an often used trick is to create an artificial endTime field which is sufficiently far in the future.


Use Ctrl+Space (or Command+Space) if you are using a Mac to focus on the time slider. The left and right arrows can then move the slider.

Supported Layer Types

TimeManager has been tested with PostGIS layers, Spatialite layers, delimited text layers, and .shp shapefiles. If you find that a layer of the types mentioned above doesn't behave correctly, please file a bug. If you want us to support new formats, file a feature request.

The biggest tested dataset was a Spatialite table with indexed timestamps containing approximately 400,000 points, covering a time span of 24 hours. Stepping through the data for example in 1-hour-sized steps works without problems.


Time Manager supports exporting image series and can create animations from these image series. Video export requires an installation of ffmpeg.





The plug-in uses Python's datetime module and QDateTime for calculations. It is therefore limited to these modules' functionality. This enfolds (not exhaustive):

  • Dates must be according to the formats mentioned above
  • Dates must be according to the Gregorian calendar
  • We fully support years from 100 AD to 8000 in the future
  • Time step can be as small as one second (smaller timesteps not fully supported yet). Millisecond steps work well, but to avoid problems your dataset should have a timeformat that itself includes milliseconds, even if that means adding a trailing .0 to your time stamps. Microseconds also work, but QDateTime limitations prevent it from displaying correctly always.

We currently don't support:

  • Dates with time zone notion
  • Shapefiles can't be edited directly, while time-managed. This is an OGR limitation. It also exists for any other query you set: You simply can't edit a shapefile whilst a query is set.

For other known issues check


This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.


Time Manager is available through QGIS Plugin Repository


Time Manager 3 requires QGIS 3.0 with Python 3.

Time Manager 1 reqires QGIS 2.0 with Python 2.7.

You can’t perform that action at this time.