New default settings and recent proj changes
Thanks Martin That helps a lot. I wonder if therion.log could echo the destination folder for downloaded files? (I could not find it on my machine) A suggestion below. therion 6.0.6+14fac78 (2022-04-26) - using Proj 9.0.0, compiled against 9.0.0 initialization file: C:\Program Files (x86)\Therion/therion.ini reading ... done configuration file: thconfig-GLMESM_System5000Map.thc reading ... done reading source files ... downloading the grid https://cdn.proj.org/nz_linz_nzgd2kgrid0005.tif... done saved/cached grid file: C:\path\ nz_linz_nzgd2kgrid0005.tif done Bruce From: Therion <therion-bounces@speleo.sk> On Behalf Of Martin Budaj Sent: Wednesday, 27 April 2022 05:24 To: List for Therion users <therion@speleo.sk> Subject: Re: [Therion] Problem with new default settings and recent proj changes On Tue, Apr 26, 2022 at 11:45 AM Bruce Mutton <bruce@tomo.co.nz <mailto:bruce@tomo.co.nz> > wrote: I am a little confused, as Therion automatically downloaded the grid and yet my therion.ini does not have any of the proj-auto or proj-missing-grid settings mentioned in the 14fac78 Therion Book pg 86-87, which raises for me many questions. I assume the functionality of those ini statements is now superseded by the proj.ini that is now present in the install folders (as you described as "use the best transformation and download the grids if needed") and that the Therion Book is yet to be updated? Indeed, thbook needs an update. Now, proj-auto is 'on' by default and proj-missing-grid is 'download'. Or maybe I am not looking I the correct place for the ini files that Therion is actually using? If the setting is missing in therion.ini, therion just uses the defaults. You can always override them in the therion.ini file. Can Therion be run without having internet access (or without first having had internet access for a particular survey dataset at some previous time)? Definitely. With the new defaults, it would attempt to download the grid (only if proj can't find it locally) and end with an error message if there is no internet connection. You can do either of these: * change the proj-missing-grid setting to warn, e.g. (this prints a warning stating which grid you need to download manually, then download it and put somewhere where proj finds it) * set proj-auto off (this is the old behaviour where proj doesn't look for the optimal transformation) * get online, run therion once, and the grids would be reused in the subsequent runs without internet connection In the attached file, do the transformations marked [no] and [yes] relate to whether they are used or not? All listed transformations are used. AoU: [no] or [yes] indicates, whether proj optimised a transformation for your particular area (defined by the fixed stations in your data set) [yes] or not [no]. And presumably the accuracies listed are the estimated accuracies? Yes, estimated by proj. Can I use proj-missing-grid to improve the accuracy of my example further or is 4m accuracy the best I am likely to get for this particular dataset? Sure, the accuracy when using grids should be in centimeters. It's interesting that in your log file the grid is downloaded (twice!) but not actually used by proj, it would be worth investigating why. Anyway, for cases when you think you can do better than proj (including using a grid file), you can use 'cs-trans' to define a custom transformation between two coordinate systems; see an example in thbook. Probably your local GIS community has already defined such transformations; in the case of Slovakia, our cartographic office published such a list for QGIS users, which can be easily adopted for therion. Martin
Good idea! The latest commit provides additional information about downloads now. Caching is more tricky: we just enable it and Proj then downloads just small parts of grids relevant to your area and stores them in its database without letting you know what exactly got downloaded. Martin On Tue, Apr 26, 2022 at 9:43 PM Bruce Mutton <bruce@tomo.co.nz> wrote:
Thanks Martin
That helps a lot. I wonder if therion.log could echo the destination folder for downloaded files?
(I could not find it on my machine)
A suggestion below.
therion 6.0.6+14fac78 (2022-04-26)
- using Proj 9.0.0, compiled against 9.0.0
initialization file: C:\Program Files (x86)\Therion/therion.ini
reading ... done
configuration file: thconfig-GLMESM_System5000Map.thc
reading ... done
reading source files ... downloading the grid https://cdn.proj.org/nz_linz_nzgd2kgrid0005.tif... done
saved/cached grid file: C:\path\ nz_linz_nzgd2kgrid0005.tif
done
Bruce
From: Therion <therion-bounces@speleo.sk> On Behalf Of Martin Budaj Sent: Wednesday, 27 April 2022 05:24 To: List for Therion users <therion@speleo.sk> Subject: Re: [Therion] Problem with new default settings and recent proj changes
On Tue, Apr 26, 2022 at 11:45 AM Bruce Mutton <bruce@tomo.co.nz> wrote:
I am a little confused, as Therion automatically downloaded the grid and yet my therion.ini does not have any of the proj-auto or proj-missing-grid settings mentioned in the 14fac78 Therion Book pg 86-87, which raises for me many questions. I assume the functionality of those ini statements is now superseded by the proj.ini that is now present in the install folders (as you described as "use the best transformation and download the grids if needed") and that the Therion Book is yet to be updated?
Indeed, thbook needs an update. Now, proj-auto is 'on' by default and proj-missing-grid is 'download'.
Or maybe I am not looking I the correct place for the ini files that Therion is actually using?
If the setting is missing in therion.ini, therion just uses the defaults. You can always override them in the therion.ini file.
Can Therion be run without having internet access (or without first having had internet access for a particular survey dataset at some previous time)?
Definitely. With the new defaults, it would attempt to download the grid (only if proj can't find it locally) and end with an error message if there is no internet connection.
You can do either of these:
* change the proj-missing-grid setting to warn, e.g. (this prints a warning stating which grid you need to download manually, then download it and put somewhere where proj finds it)
* set proj-auto off (this is the old behaviour where proj doesn't look for the optimal transformation)
* get online, run therion once, and the grids would be reused in the subsequent runs without internet connection
In the attached file, do the transformations marked [no] and [yes] relate to whether they are used or not?
All listed transformations are used. AoU: [no] or [yes] indicates, whether proj optimised a transformation for your particular area (defined by the fixed stations in your data set) [yes] or not [no].
And presumably the accuracies listed are the estimated accuracies?
Yes, estimated by proj.
Can I use proj-missing-grid to improve the accuracy of my example further or is 4m accuracy the best I am likely to get for this particular dataset?
Sure, the accuracy when using grids should be in centimeters. It's interesting that in your log file the grid is downloaded (twice!) but not actually used by proj, it would be worth investigating why.
Anyway, for cases when you think you can do better than proj (including using a grid file), you can use 'cs-trans' to define a custom transformation between two coordinate systems; see an example in thbook. Probably your local GIS community has already defined such transformations; in the case of Slovakia, our cartographic office published such a list for QGIS users, which can be easily adopted for therion.
Martin
_______________________________________________ Therion mailing list Therion@speleo.sk https://mailman.speleo.sk/listinfo/therion
Hi Martin eaec752 looks like it should provide clarity. I would like to be able to compile a dataset that activates this code (for curiosity and maybe user testing), but it seems now that 'my therion' has downloaded the transformation grid once, it resides somewhere on my machine (I cannot manually find it though). It seems like it has downloaded the entire NZTM grid (as the documentation says it would) and so any locally compiled cave dataset no longer needs to download the grid (which in the normal course of events is good). I have compiled therion datasets for caves in other parts of the world, but none have triggered this code. I presume the grids they use are already built-in by default. So for the sake of curiosity, is it possible to get Therion to delete an existing (previously downloaded) grid and so subsequently trigger the need to download it and test the eaec752 change? Will using cs-def to set a null string for NZTM force it to be downloaded again? Or will it cause proj-missing-grid to behave as though it is set to ignore (even if download is specified)? Asking before trying it in case I end up breaking something that is hard to fix! Bruce -----Original Message----- From: Therion <therion-bounces@speleo.sk> On Behalf Of Martin Budaj Sent: Wednesday, 27 April 2022 18:23 To: List for Therion users <therion@speleo.sk> Subject: Re: [Therion] New default settings and recent proj changes Good idea! The latest commit provides additional information about downloads now. Caching is more tricky: we just enable it and Proj then downloads just small parts of grids relevant to your area and stores them in its database without letting you know what exactly got downloaded. Martin On Tue, Apr 26, 2022 at 9:43 PM Bruce Mutton <bruce@tomo.co.nz> wrote:
Thanks Martin
...
A suggestion below.
therion 6.0.6+14fac78 (2022-04-26)
- using Proj 9.0.0, compiled against 9.0.0 initialization file: C:\Program Files (x86)\Therion/therion.ini reading ... done configuration file: thconfig-GLMESM_System5000Map.thc reading ... done reading source files ... downloading the grid https://cdn.proj.org/nz_linz_nzgd2kgrid0005.tif... done saved/cached grid file: C:\path\ nz_linz_nzgd2kgrid0005.tif done
Bruce
Hi, it should be in C:\Users\<username>\AppData\Local\proj See also https://proj.org/resource_files.html#user-writable-directory Implementing delete/redownload would be problematic (but proj is smart enough to download again if the remote grid file gets updated;) M. On Wed, Apr 27, 2022, 21:33 Bruce Mutton <bruce@tomo.co.nz> wrote:
Hi Martin eaec752 looks like it should provide clarity. I would like to be able to compile a dataset that activates this code (for curiosity and maybe user testing), but it seems now that 'my therion' has downloaded the transformation grid once, it resides somewhere on my machine (I cannot manually find it though). It seems like it has downloaded the entire NZTM grid (as the documentation says it would) and so any locally compiled cave dataset no longer needs to download the grid (which in the normal course of events is good). I have compiled therion datasets for caves in other parts of the world, but none have triggered this code. I presume the grids they use are already built-in by default.
So for the sake of curiosity, is it possible to get Therion to delete an existing (previously downloaded) grid and so subsequently trigger the need to download it and test the eaec752 change? Will using cs-def to set a null string for NZTM force it to be downloaded again? Or will it cause proj-missing-grid to behave as though it is set to ignore (even if download is specified)? Asking before trying it in case I end up breaking something that is hard to fix!
Bruce
-----Original Message----- From: Therion <therion-bounces@speleo.sk> On Behalf Of Martin Budaj Sent: Wednesday, 27 April 2022 18:23 To: List for Therion users <therion@speleo.sk> Subject: Re: [Therion] New default settings and recent proj changes
Good idea! The latest commit provides additional information about downloads now. Caching is more tricky: we just enable it and Proj then downloads just small parts of grids relevant to your area and stores them in its database without letting you know what exactly got downloaded.
Martin
On Tue, Apr 26, 2022 at 9:43 PM Bruce Mutton <bruce@tomo.co.nz> wrote:
Thanks Martin
...
A suggestion below.
therion 6.0.6+14fac78 (2022-04-26)
- using Proj 9.0.0, compiled against 9.0.0 initialization file: C:\Program Files (x86)\Therion/therion.ini reading ... done configuration file: thconfig-GLMESM_System5000Map.thc reading ... done reading source files ... downloading the grid https://cdn.proj.org/nz_linz_nzgd2kgrid0005.tif... done saved/cached grid file: C:\path\ nz_linz_nzgd2kgrid0005.tif done
Bruce
_______________________________________________ Therion mailing list Therion@speleo.sk https://mailman.speleo.sk/listinfo/therion
Thanks Martin That all makes sense now. Strange how my Windows search could not find the folder even though I was explicitly searching for it. All sorted out now. Bruce From: Therion <therion-bounces@speleo.sk> On Behalf Of Martin Budaj Sent: Thursday, 28 April 2022 08:32 To: List for Therion users <therion@speleo.sk> Subject: Re: [Therion] New default settings and recent proj changes Hi, it should be in C:\Users\<username>\AppData\Local\proj See also https://proj.org/resource_files.html#user-writable-directory Implementing delete/redownload would be problematic (but proj is smart enough to download again if the remote grid file gets updated;) M. On Wed, Apr 27, 2022, 21:33 Bruce Mutton <bruce@tomo.co.nz <mailto:bruce@tomo.co.nz> > wrote: Hi Martin eaec752 looks like it should provide clarity. I would like to be able to compile a dataset that activates this code (for curiosity and maybe user testing), but it seems now that 'my therion' has downloaded the transformation grid once, it resides somewhere on my machine (I cannot manually find it though). It seems like it has downloaded the entire NZTM grid (as the documentation says it would) and so any locally compiled cave dataset no longer needs to download the grid (which in the normal course of events is good). I have compiled therion datasets for caves in other parts of the world, but none have triggered this code. I presume the grids they use are already built-in by default. So for the sake of curiosity, is it possible to get Therion to delete an existing (previously downloaded) grid and so subsequently trigger the need to download it and test the eaec752 change? Will using cs-def to set a null string for NZTM force it to be downloaded again? Or will it cause proj-missing-grid to behave as though it is set to ignore (even if download is specified)? Asking before trying it in case I end up breaking something that is hard to fix! Bruce
participants (3)
-
Bruce Mutton -
Martin Budaj -
Tarquin Wilton-Jones