<div dir="ltr"><div dir="ltr">Thanks Jeroen,<div><br></div><div>Here is a link to the timezone geopackage.</div><div><br></div><div><a href="https://drive.google.com/file/d/1IS_bExc5M2IhadK9hzE012oorvV3IbBp/view?usp=sharing">https://drive.google.com/file/d/1IS_bExc5M2IhadK9hzE012oorvV3IbBp/view?usp=sharing</a><br></div><div><br></div><div>You could also use the shapefile from </div><div><br></div><div><a href="https://github.com/evansiroky/timezone-boundary-builder/releases/tag/2020d">https://github.com/evansiroky/timezone-boundary-builder/releases/tag/2020d</a></div><div><br></div><div>I am using the version with oceans. I suspect that the shapefile may be slightly faster than the gpkg, but I haven't tested it yet.</div><div><br></div><div>Here is the gpkg of 10,000 random points.</div><div><br></div><div><a href="https://drive.google.com/file/d/1Vz0ho8nQ9rxG6YUG_JebyVygBkjMFsGr/view?usp=sharing">https://drive.google.com/file/d/1Vz0ho8nQ9rxG6YUG_JebyVygBkjMFsGr/view?usp=sharing</a><br></div><div><br></div><div>Here is a short script that you can run in the QGIS python console to time how long it takes to search the timezone for each of the 10,000 points.</div><div><br></div><div><a href="https://drive.google.com/file/d/1VMBs6AdvdvWOI_S9XvEaDm3oVyr_vHNv/view?usp=sharing">https://drive.google.com/file/d/1VMBs6AdvdvWOI_S9XvEaDm3oVyr_vHNv/view?usp=sharing</a><br></div><div><br></div><div>You will either need to pip install the timezonefinder library or install the datetimetools-3.0.1.zip release which will make the QGIS python console aware of the library.</div><div><br></div><div><a href="https://github.com/NationalSecurityAgency/qgis-datetimetools-plugin/releases/tag/3.0.1">https://github.com/NationalSecurityAgency/qgis-datetimetools-plugin/releases/tag/3.0.1</a><br></div><div><br></div><div>The mention of ArcGIS is simply that we have an ESRI centric environment and it is difficult to get QGIS accepted so I try to do everything I can to make QGIS look appealing. </div><div><br></div><div>Thanks once again,</div><div><br></div><div>Calvin</div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Feb 2, 2021 at 5:23 PM Groene Bij <<a href="mailto:mail@groenebij.nl">mail@groenebij.nl</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 lang="NL" style="overflow-wrap: break-word;"><div class="gmail-m_1006523583846309115WordSection1"><p class="MsoNormal"><span>Hi Calvin,<u></u><u></u></span></p><p class="MsoNormal"><span><u></u> <u></u></span></p><p class="MsoNormal"><span lang="EN-US">Could you somehow send me a copy of the 10.000 random point layer and the gpkg with the time zones? I would like to try some things, and see if I can come up with some suggestions. I could send you an upload link where you can upload those files to me, if needed.<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p><p class="MsoNormal"><span lang="EN-US">And I am also trying to understand the issue at stake here. You keep referring to ArcGIS. Does ArcGIS has a similar tool incorporated In its software, including the data?<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p><p class="MsoNormal"><span lang="EN-US">And is it necessary to use this tool offline? If so, a database / data file is needed anyway. Than the question is, should it be part of the tool, or should you be able to download the data when needed (or better, beforehand). Benefit of downloading the data separately could be more up to date time zone information.<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p><p class="MsoNormal"><span lang="EN-US">Kind regards,<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US">Jeroen Hovens<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p><p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p><div style="border-right:none;border-bottom:none;border-left:none;border-top:1pt solid rgb(225,225,225);padding:3pt 0cm 0cm"><p class="MsoNormal"><b>Van:</b> Qgis-user <<a href="mailto:qgis-user-bounces@lists.osgeo.org" target="_blank">qgis-user-bounces@lists.osgeo.org</a>> <b>Namens </b>C Hamilton<br><b>Verzonden:</b> dinsdag 2 februari 2021 19:40<br><b>Aan:</b> Nyall Dawson <<a href="mailto:nyall.dawson@gmail.com" target="_blank">nyall.dawson@gmail.com</a>><br><b>CC:</b> QGIS Users <<a href="mailto:qgis-user@lists.osgeo.org" target="_blank">qgis-user@lists.osgeo.org</a>>; Tim Sutton <<a href="mailto:tim@kartoza.com" target="_blank">tim@kartoza.com</a>>; qgis-developer <<a href="mailto:qgis-developer@lists.osgeo.org" target="_blank">qgis-developer@lists.osgeo.org</a>><br><b>Onderwerp:</b> Re: [Qgis-user] [QGIS-Developer] New QGIS Date/Time Tools Plugin<u></u><u></u></p></div><p class="MsoNormal"><u></u> <u></u></p><div><div><p class="MsoNormal">I created a layer of 10,000 random points. Using timezonefinder to look up each point took 44 seconds. I tried using <b>Vector->Geoprocessing Tools->Intersection...</b> to find the time zones for each of the points and it took over 4 minutes. <u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">Is there a better way to locate which polygon a point is in? 4 minutes is not good. Perhaps the intersection algorithm is not the way to go, but I am not sure what is. I can't imagine that iterating through each point and then iterating through each polygon until an intersection match is found is going to be overlay efficient, but I will try it. Is there a better way?<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">Thanks,<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">Calvin<u></u><u></u></p></div><p class="MsoNormal"><u></u> <u></u></p><div><blockquote style="border-top:none;border-right:none;border-bottom:none;border-left:1pt solid rgb(204,204,204);padding:0cm 0cm 0cm 6pt;margin-left:4.8pt;margin-right:0cm"><p class="MsoNormal"><br><br>> I wonder what the difference in time would be to use a gpkg and QGIS point in polygon look up vs timezonefinder lookup. Will it be faster or slower? I'm not sure without testing. What are your thoughts? I would choose the faster of the two.<br><br>I'd certainly hope a dedicated GIS application can do this faster than<br>a random Python library :D<br><br>> I just converted the timezone data to a gpkg and its size is 102Mb. The data size for timezonefinder using the same data set is 49Mb. The optimization in timezonefinder can produce a maximum error of 1cm at the equator as they use 32 bit ints for the data. It might actually be better to use the gpkg file, but it is double in size. I will investigate using the gpkg data.<br><br>You may want to try a shapefile too, just in case...!<br><br>Nyall<br><br><br>><br>> It seems to me that if a plugin requires a certain dataset to function then that data should be included with it and not require an additional download, but I understand the issues that this could cause so I am not sure of the best way forward. For our use it is definitely better to include the data with the plugin.<br>><br>> I guess what I would like you to take from this conversation is that some users have a completely different environment and face different challenges then what you do when it comes to dealing with software. I wish that it was easier for me to get QGIS acceptance in our workforce but ArcGIS still rules.<br>><br>> Thanks for your ideas and all of the hard work that you do to keep QGIS moving forward.<br>><br>> I wish you all the very best!<br>><br>> Calvin<br>><br>>> Given that the size of the python library is almost entirely the size<br>>> of the timezone boundaries themselves, have you considered:<br>>> - avoiding the library entirely, and insteading using a standard<br>>> shapefile/gpkg/... of the boundaries and using QGIS vector layer<br>>> methods to determine the timezone for a point<br>>> - deferring the download of the boundary spatial data, so that it's<br>>> not supplied with the plugin but instead the plugin automatically<br>>> downloads it on first launch?<br>>><br>>> This would avoid the need for the large size plugin, allowing it to be<br>>> supplied via the standard QGIS repo while still providing its full<br>>> functionality...<br>>><br>>> Nyall<br>>><br>>><u></u><u></u></p></blockquote></div></div></div></div></blockquote></div></div>