<div dir="ltr"><div class="gmail_default" style="font-family:monospace">So I am using the following python scriptlet that I paste into the QGIS python console:</div><div class="gmail_default" style="font-family:monospace"><br></div><div class="gmail_default" style="font-family:monospace"><br></div><blockquote style="margin:0 0 0 40px;border:none;padding:0px"><div class="gmail_default" style="font-family:monospace">listOfDates = [ "1815-06-09",</div><div class="gmail_default" style="font-family:monospace">"1816-12-11",</div><div class="gmail_default" style="font-family:monospace">"1817-12-10",</div><div class="gmail_default" style="font-family:monospace">…</div><div class="gmail_default" style="font-family:monospace">"1911-09-30" ]</div></blockquote><div class="gmail_default" style="font-family:monospace"><br></div><blockquote style="margin:0 0 0 40px;border:none;padding:0px"><div class="gmail_default" style="font-family:monospace">navigator = iface.mapCanvas().temporalController()</div></blockquote><div class="gmail_default" style="font-family:monospace"><br></div><blockquote style="margin:0 0 0 40px;border:none;padding:0px"><div class="gmail_default" style="font-family:monospace">i = 1</div><div class="gmail_default" style="font-family:monospace">for d in listOfDates:</div><div class="gmail_default" style="font-family:monospace">  print(d)</div><div class="gmail_default" style="font-family:monospace">  dt = QDateTime.fromString(d, 'yyyy-MM-dd')</div><div class="gmail_default" style="font-family:monospace">  f = navigator.findBestFrameNumberForFrameStart(dt)</div><div class="gmail_default" style="font-family:monospace">  print(f)</div><div class="gmail_default" style="font-family:monospace">  fn = '/home/cory/Downloads/image-{:06d}.png'.format(i)</div><div class="gmail_default" style="font-family:monospace">  print(fn)</div><div class="gmail_default" style="font-family:monospace">  navigator.setCurrentFrameNumber(f)</div><div class="gmail_default" style="font-family:monospace">  iface.mapCanvas().saveAsImage(fn)</div><div class="gmail_default" style="font-family:monospace">  print("\n")</div><div class="gmail_default" style="font-family:monospace">  i = i + 1</div></blockquote><div class="gmail_default" style="font-family:monospace"><br></div><blockquote style="margin:0 0 0 40px;border:none;padding:0px"><div class="gmail_default" style="font-family:monospace">print('Done!')</div></blockquote><div class="gmail_default" style="font-family:monospace"><br></div><div class="gmail_default" style="font-family:monospace">I get the expected output:</div><div class="gmail_default" style="font-family:monospace"><br></div><blockquote style="margin:0 0 0 40px;border:none;padding:0px"><div class="gmail_default" style="font-family:monospace">1815-06-09</div><div class="gmail_default" style="font-family:monospace">54003</div><div class="gmail_default" style="font-family:monospace">/home/cory/Downloads/image-000001.png</div></blockquote><div class="gmail_default" style="font-family:monospace"><br><br></div><blockquote style="margin:0 0 0 40px;border:none;padding:0px"><div class="gmail_default" style="font-family:monospace">1816-12-11</div><div class="gmail_default" style="font-family:monospace">54554</div><div class="gmail_default" style="font-family:monospace">/home/cory/Downloads/image-000002.png</div></blockquote><div class="gmail_default" style="font-family:monospace"><br><br></div><blockquote style="margin:0 0 0 40px;border:none;padding:0px"><div class="gmail_default" style="font-family:monospace">1817-12-10</div><div class="gmail_default" style="font-family:monospace">54918</div><div class="gmail_default" style="font-family:monospace">/home/cory/Downloads/image-000003.png</div></blockquote><div class="gmail_default" style="font-family:monospace"><br></div><div class="gmail_default" style="font-family:monospace">But the `navigator.setCurrentFrameNumber(f)` doesn't change the canvas' temporal frame.</div><div class="gmail_default" style="font-family:monospace"><br></div><div class="gmail_default" style="font-family:monospace">If I do `f=54003` manually in the console and then `navigator.setCurrentFrameNumber(f)` manually as well, the frame changes. I've used time.sleep() with values up to 5 seconds to see if setting the frame was just a background task that returns early before actually completed, but that didn;t make any difference.</div><div class="gmail_default" style="font-family:monospace"><br></div><div class="gmail_default" style="font-family:monospace">Why does it not change the frame in the middle of the for loop?</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Jan 18, 2022 at 2:32 PM Cory Albrecht <<a href="mailto:maps@hanfastolfe.com" target="_blank">maps@hanfastolfe.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_default" style="font-family:monospace">Thanks, I'll check it out. <br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sun, Jan 16, 2022 at 8:04 PM Nyall Dawson <<a href="mailto:nyall.dawson@gmail.com" target="_blank">nyall.dawson@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On Mon, 17 Jan 2022 at 10:46, Cory Albrecht <<a href="mailto:maps@hanfastolfe.com" target="_blank">maps@hanfastolfe.com</a>> wrote:<br>
><br>
> Thanks for the pointer, but unfortunately it is incomplete. It tells me this:<br>
><br>
>     # get the current  responsible for the mapCanvas behaviour and Temporal Controller gui<br>
>     navigator = iface.mapCanvas().temporalController()<br>
><br>
> And a few other methods for that object, but it's all about mimicking the "Save Animation" button with no explanation how to choose a specific frame or even anything as simple as going forward or backward by a single frame. Is there no list anywhere of all that temporal controller object's methods?<br>
<br>
Yes, in the usual place (the PyQGIS API reference):<br>
<br>
 <a href="https://qgis.org/pyqgis/master/core/QgsTemporalNavigationObject.html" rel="noreferrer" target="_blank">https://qgis.org/pyqgis/master/core/QgsTemporalNavigationObject.html</a><br>
<br>
Nyall<br>
<br>
><br>
><br>
><br>
> On Sun, Jan 16, 2022 at 3:40 PM Delaz J <<a href="mailto:delazj@gmail.com" target="_blank">delazj@gmail.com</a>> wrote:<br>
>><br>
>> Hi Cory,<br>
>><br>
>> I don't know if it's still compatible with API and of any help, but there's that stale pull request in the docs by Richard (<a href="https://github.com/qgis/QGIS-Documentation/pull/5521" rel="noreferrer" target="_blank">https://github.com/qgis/QGIS-Documentation/pull/5521</a>) you might want to look at.<br>
>><br>
>> Regards,<br>
>><br>
>> Harrissou<br>
>><br>
>> Le 16/01/2022 à 18:34, Cory Albrecht a écrit :<br>
>><br>
>> Hello,<br>
>><br>
>> Is there a way I can access and change/set stuff for the dynamic temporal controller programmatically in python? I'm looking to make a simple script that I can just cut and paste into the python console that will change the current frame of the DTC to a given timestamp, export the canvas to a PNG, and repeat for all the timestamps in an array.<br>
>><br>
>> _______________________________________________<br>
>> Qgis-user mailing list<br>
>> <a href="mailto:Qgis-user@lists.osgeo.org" target="_blank">Qgis-user@lists.osgeo.org</a><br>
>> List info: <a href="https://lists.osgeo.org/mailman/listinfo/qgis-user" rel="noreferrer" target="_blank">https://lists.osgeo.org/mailman/listinfo/qgis-user</a><br>
>> Unsubscribe: <a href="https://lists.osgeo.org/mailman/listinfo/qgis-user" rel="noreferrer" target="_blank">https://lists.osgeo.org/mailman/listinfo/qgis-user</a><br>
><br>
> _______________________________________________<br>
> Qgis-user mailing list<br>
> <a href="mailto:Qgis-user@lists.osgeo.org" target="_blank">Qgis-user@lists.osgeo.org</a><br>
> List info: <a href="https://lists.osgeo.org/mailman/listinfo/qgis-user" rel="noreferrer" target="_blank">https://lists.osgeo.org/mailman/listinfo/qgis-user</a><br>
> Unsubscribe: <a href="https://lists.osgeo.org/mailman/listinfo/qgis-user" rel="noreferrer" target="_blank">https://lists.osgeo.org/mailman/listinfo/qgis-user</a><br>
</blockquote></div>
</blockquote></div>