Bug report #18022

Custom projections/transformations using a PROJ init-file fails.

Added by Kristian Evers almost 3 years ago. Updated almost 2 years ago.

Category:Projection Support
Affected QGIS version:master Regression?:No
Operating System:Windows 10. Mac OS X. Easy fix?:Yes
Pull Request or Patch supplied:No Resolution:
Crashes QGIS or corrupts data:No Copied to github as #:25918


QGIS can't create custom projections that uses PROJ.4 init-files. As seen on the attached screenshot, when I enter the PROJ.4 parameters - in this case “+init=C:\dev\NordicTransformations\resources\DK:UTM32N” - the test works fine but when I try to save it, I am presented with the message "The proj4 definition of 'Init-test' is not valid". Since the test works the problem is not that the file can’t be found or that the definition is invalid - it is something else. I suspect there's some faulty logic at play here since the transformation obviously works. It has been suggested that the problem might be that there is not an inverse transformation available, which is not the case either.

I experience the same behavior in both QGIS2 and QGIS3.

The reason I want to define custom CRS's is that I only want to maintain the projections/transformations that I need in one place instead of many. Also, until QGIS adopts the new features in the comming version of PROJ, this is the only viable way to access the advanced transformations that the new PROJ version allows.

I have marked this as an easy fix. Having looked at the affected code months ago, it seems to be a rather localized problem. It is my best guess that this can be fixed quickly by someone familiar with the code.

QGIS_CRS.PNG - Screenshot showing the problem (77.5 KB) Kristian Evers, 2018-02-01 02:58 PM

custom-init (29 Bytes) Kristian Evers, 2018-02-01 03:11 PM


#1 Updated by Kristian Evers almost 3 years ago

Reproducing the problem is simple. Save the attached file "custom-init" some where on the system. Go to the custom CRS dialog and add a new one. Give it a name and fill out the parameters text box with something like "+init=C:\temp\custom-init:test" (obviously adjusting the path to where the file is located). Enter the coordinates 55, 12 (north, east). Press calcuate, the destination coordinates should read "7326837.72 1335833.89", which is similar to the output from the same transformation with proj:

λ echo 12 55 | proj +init=C:\temp\custom-init:test
1335833.89 7326837.72

When okay is pressed the error message is displayed.

#2 Updated by Giovanni Manghi almost 2 years ago

  • Status changed from Open to Feedback

Please check if this issue is still valid on QGIS 3.4.5 or 3.6.

Also available in: Atom PDF