1

I'm trying to create an animation using Timemanager on QGIS 2.18 but I'm struggling.

I have a dataset composed by a list of businesses and their opening/closing time. This is what the dataset looks like: enter image description here

'Start' and 'End' columns contain the day and the opening hours of the business converted in Unix Timestamp. I upload my CSV in QGIS and add the layer on TimeManager. The plugin seems to accept the data. This is the slider after I uploaded my data:

enter image description here

Even if everything looks ok my animation doesn't work, nothing happens to the points on my map. I simply need the points to appear when the business is open and disappear when the business is closed. Do I do something wrong? I never used this plugin before, so I don't know how to tackle the problem.

3 Answers 3

1

The problem is with the Time frame start date.
GabrielDeLuca-TimeManager

Yours says 2000 instead of 2018.
I just tried the plugin, whit similar format and data for start and end fields, and it works fine.

2
  • I tried to modify the timeframe start as you pointed out, but it stills doesn't work. Any other advices?
    – moreginger
    Dec 13, 2018 at 21:46
  • I just added an answer, in case the problem was the data type. Dec 13, 2018 at 23:42
1

Be sure that the data type of the fields is Integer.
I'm seeing that the plugin doesn't work if I pass the selected fields because they are of type String.
GabrielDeLuca-TimeManager-2

If that is the case, create new fields of type Integer and convert your original data.
GabrielDeLuca-TimeManager-3

0

Well, it's not easy to explain, but I think the TimeManager plugin does not work with CSV layers. At least not directly. Probably because the CSV layers are not editable.

First of all you will need to copy the attributes of latitude and longitude to all the rows before importing the layer in QGIS, so that for each row a point is generated. I think it's the simplest way to import the .csv file and have a spatial entity related to each of its rows. In addition, "start" and "end" fields must be well recognized with the Integer type.


The TimeManager plugin exposes, when it works, the animation_datetime() function that returns the timestamp of the current animation. The epoch function can converte the timestamp to Unix epoch, but in milliseconds and believing that the timestamp is in the time zone of the machine (GMT-03:00 in my case). I don't know why, but I had to recalculate it.

So, one option is to add a rule in the symbology of the CSV layer, which in my case was like this:

("start" <= epoch(animation_datetime())/1000 - 3*60*60)
AND
("end" >= epoch(animation_datetime())/1000 - 3*60*60)  

But still, the plugin needs a valid layer to work. I had created a dot shape layer previously, so the plugin worked with it. And CSV layer symbology works itself with that rule. You should create one with at least one dot that contains the start and end field for the first start and last end of the sequence. Add it to the plugin to work and disable it so it does not show up.


The other option, which seems to be much simpler, is to export the CSV layer to a dot shape layer and load it in the plugin.

1
  • It worked perfectly! I added the rule to the CSV layer, then I created a dot shape layer on QGis and now my animation loops perfectly. Thank you very much.
    – moreginger
    Dec 15, 2018 at 9:08

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.