[GIS] QGIS “transform error” messages – how to stop them

qgis

In QGIS, I am getting an error message every time I edit a node. Also, there is a lot of lag in performance. The message is:

"Transform error caught: forward transform of
(10990.308086, 100347.255186)
PROJ.4: +proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs +to +proj=utm +zone=54 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs
Error: latitude or longitude exceeded limits"

I hae been very careful to Set Layer CRS on all layers, to GDA94, or, in the case of the two raster layers, GDA94/MGA zone 54 (which is also the project CRS). This should all work. Shouldn't it?

But it is odd, that when I was using my legacy MapInfo TAB layers, they would show up in QGIS with weird projections that were not the projection in the TAB files, like some old Dutch projection and, more usually, NAD projections. I saved those layers as SHP files (resetting the projection to GDA94) to see if QGIS works better with SHP. And it did, for a few hours. Now the error messages are back. What is wrong? Is this a QGIS bug? Or is there a backoffice setting that I've missed?


EDIT: ADDITIONAL INFORMATION.

Below I provide the sequence of steps to create the transform error from a clean start.

  1. Open QGIS
  2. Set these options for Project CRS:
    • "Automatically enable OTF if layers have different CRS"
    • Do not "enable OTF by default"
    • Start new projects with GDA94
    • "When new layer is created, use project CRS."
  3. Add raster layer 76949_zone54_mga.ecw (www.ga.gov.au/cedda/maps/1058)
  4. Look at Project properties, witness that "OTF by default" is disabled, and CRS has changed to greyed-out MGA94 zone 54 (the CRS of the raster file)
  5. Add shapefile layer (graticule from "Hamilton Special" GA 250K topo), downloaded from GA website.
    • Note that its .prj file contents are: GEOGCS["GCS_GDA_1994",DATUM["D_GDA_1994",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]]
    • That is, it has a CRS of GDA94. The file loads and displays correctly. Look at project properties, and witness that it has automatically enabled OTF projection.
  6. Create new shapefile point layer, with CRS selected as GDA94
  7. Edit new shp layer, by making two points.
  8. Exit edit mode and save.
  9. Look at message log: two error messages logged with following info:

Transform error caught: forward transform of
(0.000000, 0.000000)
PROJ.4: +proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs +to +proj=utm +zone=54 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs
Error: latitude or longitude exceeded limits

That is a replicable error, and all files used are pristine Geoscience Australia product, unquestionably ok. The fault lies somewhere in QGIS or in the settings used.

Yes I could create the new file in a CRS of MGA_zone54 (to follow the raster projection in this case), and that will work ok. But I would prefer that my vector files that aren't tied to a particular UTM zone. Anyway, GDA and MGA zone 54 are based on the same datum and ellipsoid, they are two sides of the same coin. MGA is just the projection of GDA94 longlat data.

So what is the problem?

Best Answer

You are trying to reproject coordinates of 10990.308086, 100347.255186 from longlat to UTM.

This can not work, because the input of longlat has to be between +/- 180/90° degrees.

I guess you have used Set Layer CRS where you should have used Save As... to reproject the coordinates.

Set Layer CRSonly changes the CRS info, but does not compute any coordinate reprojections. In most cases, it is misused for the later.

Turn On-the-fly reprojection off, investigate the extent of your layers by looking at the metadata tab of the layer properties, and decide which layers have a false CRS assigned.


EDIT

This is what I get with the extents of your shapefile, added to a MGA94zone 54 project, raster and MGA grid:

enter image description here

Related Question