[Qgis-developer] Re: EPSG:2180 not recognised, although present in srs.db

Maciej Sieczka tutey at o2.pl
Wed Apr 9 13:53:31 EDT 2008


Maciej Sieczka pisze:
> I built QGIS (latest SVN trunk) against an older PROJ 4.5.0 this time, 
> and GDAL 1.4.4. Still no good. Below is the relevant debug output when 
> loading the GeoTIFF. Looks like QGIS recognises the CS properly, but 
> then fails to find a matching one in srs.sb. Any ideas what is the reason?

I think I know what is going on. Since GDAL 1.4.4 there is a change 
[1],[2] that the scale factor k is treated as numeric instead of string 
variable. This results in a following proj4 string for EPSG 2180 in GDAL 
 > 1.4.2:

+proj=tmerc +lat_0=0 +lon_0=19 +k=0.9993 +x_0=500000 +y_0=-5300000 
+ellps=GRS80 +units=m +no_defs

Whereas in QGIS srs.db, and GDAL =< 1.4.2 the same EPSG code is 
represented with a slightly different proj4 string:

+proj=tmerc +lat_0=0 +lon_0=19 +k=0.999300 +x_0=500000 +y_0=-5300000 
+ellps=GRS80 +units=m +no_defs

The difference in the number of zeros in k factor is enough for QGIS to 
fail to recognize the SRS, if QGIS runs against GDAL 1.4.4 or later. I 
verified that with the latest QGIS SVN trunk and GDAL 1.4.2, 1.4.4, 1.5.1.

Note that the problem is not limited to EPSG 2180. As can be seen in [1] 
any SRS that uses k is affected. According to the epsg file shipped with 
PROJ 4.5.0, this gives 1328 out of 6442 SRS definitions incompatible 
between QGIS and GDAL > 1.4.2 [3].

Quite an issue. Can anything be done about it? Just trim ending zeros of 
all k's in the srs.db? That would break comptibility between QGIS and 
GDAL < 1.4.4. Considering that 1.4.4 was released over 4 months ago 
maybe that would not be a big deal though?

[1]http://trac.osgeo.org/gdal/changeset/12625
[2]http://trac.osgeo.org/gdal/ticket/1970
[3]grep "\+k\=.*0" /usr/local/share/proj/epsg

Maciek


More information about the Qgis-developer mailing list