<div dir="ltr"><div>Dear all,</div><div><br></div><div>I have prepared a rather large PR [0] to include proper support for PROJ6+ and WKT2.</div><div><br></div><div>The reason is that PROJ6+ uses a new mechanism based on spatial reference id (authority name and code) and WKT2 for coordinate transformations. The good old GRASS projection definition, a derivate of PROJ4-style definition, is not able to capture details of all currently available coordinate reference systems. With the recent substantial enhancements in PROJ, it is time for GRASS to use these new enhancements. Current support for PROJ6+ in G78 is not complete and still contains some bugs.</div><div></div><div><p>This PR (together with previous commits) would fix bugs also present in G78:</p>CRS mismatch [1]
between input and output when creating a location from some GDAL/OGR
recognized input, importing to this location and exporting again. The
CRS should be exactly preserved. This bug happens when GRASS is compiled
with PROJ6+ and GDAL3.
<p>A bug in PROJ can cause PROJ to select a wrong coordinate operation
with a datum transformation grid that does not cover the whole area of
interest. In these cases, reprojection fails. This PR takes care of this
bug.</p><p>Fixing these bugs in G78 requires that all changes related to the new
SRID and WKT2 handling including all affected import and export modules
need to be backported.</p></div><div>Therefore I want to backport all relevant changes from master to G78 in order to fix these bugs. These changes do not modify existing function definitions, but add new functions to the GRASS headers.</div><div><br></div><div>Please let me know if you have objections regarding backporting to G78!<br></div><div><br></div><div>Markus M<br></div><div><br></div><div>[0] <a href="https://github.com/OSGeo/grass/pull/1240">https://github.com/OSGeo/grass/pull/1240</a></div><div>[1] <a href="https://github.com/qgis/QGIS/issues/18596#issuecomment-753481210">https://github.com/qgis/QGIS/issues/18596#issuecomment-753481210</a></div></div>