[QGIS-trac] Re: [Quantum GIS] #1035: automated generation of srs.db (in line with postgis, proj and gdal)

Quantum GIS qgis at qgis.org
Sun May 25 22:24:27 EDT 2008

#1035: automated generation of srs.db (in line with postgis, proj and gdal)
        Reporter:  rduivenvoorde                    |         Owner:  nobody           
            Type:  enhancement                      |        Status:  new              
        Priority:  minor: annoyance or enhancement  |     Milestone:                   
       Component:  Build/Install                    |       Version:  HEAD             
      Resolution:                                   |      Keywords:  srs.db projection
Platform_version:                                   |      Platform:  All              
        Must_fix:  No                               |   Status_info:  0                
Comment (by hamish):

 IMHO it is absolutely critical that srs.db be generated automatically. It
 is just too big a task to edit the 3500 standard EPSG codes by hand for
 every new release.

 The srs.db as now is broken. +towgs84= params are missing when they are
 part of the EPSG definition. The ambiguity arises when +datum=foo is given
 but there are multiple ways to get to foo, such as any number of local 3
 term, 7 term, or NTv2 distortion grid file transform methods.

 if the EPSG code includes +towgs84= you already have your explicit answer
 of which transform params to use. but those seem to be stripped out in
 QGIS's srs.db. e.g. EPSG code # 31370. also +datum= is in the EPSG file
 for NZMG (epsg 27200) but removed from QGIS's srs.sb entry. That's an
 example of one with multiple choices (see comment in bug #1079).

 So that missing info is nothing to do with the ambiguity cases AFAIK. (?)

 fyi, grass throws up a GUI in these cases asking the user which one they'd
 like to use:

 I think it is a great idea that work should go into adding a --qgis
 extension to GDAL's python epsg processing script. outsource it to the
 For GRASS we (ie Markus) will typically sync and regenrate our
 $GISBASE/etc/ogr_csv/* files after each new GDAL release/before each one
 of our releases. It seems to work well. We also have datum.table,
 datumtransform.table, ellipse.table, and proj* files in our (share) etc/
 directory to draw from. You'd have to ask Paul Kelly for details of how it
 all works together.

 The k-factor bug is just a symptom I think, with the real cause being that
 QGIS is both out-of-sync with itself (srs.db and other internal code??)
 and expecting exact string matches. Both of which are rather brittle.
 see GRASS's libgis for code for removing trailing 0s from a numeric

 the change in GDAL which seemed to have raised the issue happened due to
 the replacement of atof() in the code with a i18n comma as decimal place
 capable version, which lead to FP differences in the lesser significant
 bits (well it being treated as something other than a string too). The new
 fn has been modified AFAIK in GDAL svn, but a new epsg file for proj has
 not yet been been generated (I checked the CVS yesterday). Use the epsg
 file that came with PROJ 4.5.0 if you are worried.

 the "towgs84-part in the parameter-list is no longer optional" is more to
 do with the change in gdal 1.5.0? regarding if datum transforms will
 happen if datum (or ellps?) params are explicity given on the from and +to
 coord systems.

 hope that helps, and that I'm not too confused by how this all fits

 summary: srs.db is broken as compared to proj's epsg text file. automate
 the generation of it ASAP or continue to feel the pain. eventually QGIS
 will need a datum picking GUI to resolve the ambigous cases. If doing
 exact string matching, make sure your sources are in sync.


Ticket URL: <http://trac.osgeo.org/qgis/ticket/1035#comment:5>
Quantum GIS <http://qgis.org>
Quantum GIS is an Open Source GIS viewer/editor supporting OGR, PostGIS, and GRASS formats

More information about the QGIS-trac mailing list