[GRASS-dev] datums not recognized by g.proj?
Paul Kelly
paul-grass at stjohnspoint.co.uk
Sun Sep 30 06:19:00 PDT 2012
Hello all,
Markus has prompted me to try and give some insight into what is going
on here, which I will gladly try to do:
Michael Barton wrote:
> Markus,
>
> It looks like some datums are not being recognized by g.proj. When this
> happens, datum transform information is not returned. Take a look at this.
>
> wgs84 is recognized by g.proj
>
> GRASS 7.0.svn (newLocation):~ > g.proj -d proj4='+proj=utm +datum=wgs84'
> GRASS datum code: wgs84
> WKT Name: WGS_1984
> Datum transformation parameters (PROJ.4 format):
> towgs84=0,0,0,0,0,0,0
>
>
> but European Datum 1995 (eur50) is not recognized. This datum IS listed
> in ../etc/proj/datums.table
As far as I can think, the problem here is that +datum=eur50 is not a
PROJ.4-compatible datum name. The only hard-coded datum names supported
in PROJ.4 strings are those output by the "proj -ld" command, i.e.
WGS84, GGRS87, NAD83, NAD27, potsdam, carthage, hermannskogel, ire65,
nzgd49 and OSB36.
The string used for the proj4= option in g.proj needs to be compatible
with any installation of PROJ.4, so it can't include GRASS-specific
datum names such as eur50 and the others in the GRASS datum.table file.
Internally to g.proj, the string from the proj4= option is actually
parsed by GDAL (using its OSRImportFromProj4() function) - and GDAL is
not aware of the internal GRASS datum names so this is the result:
> GRASS 7.0.svn (newLocation):~ > g.proj -d proj4='+proj=utm +datum=eur50'
> WARNING: Datum <unknown> not recognised by GRASS and no parameters found
> Datum name not present
> Datum parameters not present
I am slightly confused though, as to why +datum=wgs84 works fine -
because the GDAL name is WGS84, i.e. in capitals. The GRASS version is
wgs84 (i.e. lower case), so this shouldn't work either - but maybe GDAL
is doing a case-insensitive comparison somewhere.
I am very out-of-touch with GRASS development and know very little about
the new location wizard, but I wonder if it handles PROJ-4 strings
differently and parses them itself, allowing GRASS-specific datum names
for the +datum option, and if this is leading to some confusion?
For compatibility with other applications, I think it's best not to use
GRASS-specific datum names in PROJ.4 strings as they won't be valid if
the PROJ.4 string is exported for use with another GIS application.
Hope this sheds some light on things.
Paul
More information about the grass-dev
mailing list