[PROJ] Switch to proj-datumgrid-geotiff for PROJ 7 ?

Nyall Dawson nyall.dawson at gmail.com
Mon Jan 13 18:54:10 PST 2020


On Tue, 14 Jan 2020 at 01:40, Even Rouault <even.rouault at spatialys.com> wrote:
>
> Hi,
>
> This is one of the last major topic linked to RFC4: should we switch to
> GeoTIFF grids as the prime format for the grids we deliver alongside the
> software? While there is no strong technical requirement to do so, it could be
> the right moment to do it, or we might prefer postponing that to PROJ 8.
>
> Currently RFC4 implementation continues to refer to .gtx / .gsb files in the
> grid_alternatives database table. When network access if allowed and needed,
> the code patches the extension to access a .tif file on the CDN.
>
> It would probably be cleaner to avoid this patching and having
> grid_alternatives directly point to .tif files. This would also enable us to
> put https://github.com/osgeo/proj-datumgrid in a pure maintainance state and
> just make https://github.com/osgeo/proj-datumgrid-geotiff the new home for
> grids (currently the later has to be resynchronized with the former)

Possibly QGIS is a bit of an outlier in terms of Proj clients, but
this change **would** impact us. Not in a major way, but in the order
of 2-3 hours work to rectify (and even MORE proj version #ifdefs in
the code! Woohoo!). If the intention is to make this an api break
(given that it's v7), then that's fine, but if you're intending for
this change to be transparent to clients just be aware that it isn't!

> Currently:
> proj-datumgrid: total size: 703 MB as 5 .zip and 1.5 GB uncompressed
> proj-datumgrid-geotiff: total size: 486 MB
>
> One potential issue with switching to GeoTIFF files is for people having
> pipeline strings using the current grid names in them. But similarly to what
> is currently done for remote access, for local access, if we fail to find a
> .gtx/.gsb file, we could just retry with the .tif extension.

This would be a necessity for QGIS, otherwise existing projects will
break and reproject differently upon loading in a build based on the
newer PROJ version. (I suspect R would also see this as a necessity to
avoid changing end user's existing results)

Nyall


More information about the PROJ mailing list